Allan Day
aday@gnome.org
Calum Benson
Adam Elman
Seth Nickell
Colin Robertson

# Ukazatele průběhu

Ukazatel průběhu dává najevo, že je prováděna nějaká úloha, a zároveň i jak velká její část je již hotová.

# Kdy použít

Dát najevo, že probíhá nějaká úloha, je zapotřebí, když daná operace zabírá více jak zhruba tři vteřiny. Zajistí se tím, aby uživatel pochopil, že má čekat a nemyslel si, že došlo k nějaké chybě.

Když dáváte najevo průběh úlohy, padá základní volba na ukazatel průběhu nebo káču. Ukazatel průběhu ukazuje, jak velká část úlohy je dokončená. Proto je vhodnější pro úlohy, které trvají dlouho. Podle nepsaných pravidel by se měl použít jen pro úlohy, které překročí 30 vteřin. Pro úlohy, které mají kratší trvání, je vhodnější káča.

# Typy

Existují tři typy ukazatelů průběhu:

Zbývající čas: ukazuje, kolik přesně času zbývá do konce operace.

Typický čas: ukazuje, kolik času zbývá, ale jen jako odhad založený na očekávané době.

Neznámý čas: ukazuje pouze, že operace probíhá, ale ne, kolik času zabere.

U ukazatelů průběhu se dává přednost přesnosti. Když je to možné, použijte ukazatel průběhu se zbývajícím časem, případně s typickým časem. Snažte se vyhnout použití neurčitých ukazatelů průběhu.

# Text k průběhu

Každý ukazatel průběhu může obsahovat také textový popis. Ten by měl poskytnou nějakou představu, jak velká část úlohy je hotová. Když se rozhodujete o textu ukazatele průběhu:

Vždy zvažte, co je pro uživatele nejpodstatnější a co jej zajímá.

Často je lepší poskytnou konkrétní informaci, než procenta bez jednotek. Například 13 of 19 images rotated (Otočeno 13 z 19 obrázků) nebo 12.1 of 30 MB downloaded (Staženo 12,1 z 30 MB) je lepší, než 13 % complete (Dokončeno 13 %).

U dlouho trvajících úloh může být žádoucí zobrazit v textu ukazatele průběhu odhad zbývajícího času. Pokud nejsou třeba žádné jiné důležité informace, může se jedna přímo o jeho vlastní text. Jinou možností je zobrazení podél ukazatele. Snažte se ale, když to děláte, nezahltit uživatele příliš mnoha informacemi a použijte typografické zvyklosti k odlišení důležitějších informací.

Když je zbývající čas jen odhadem, použijte slovíčko about (v českých překladech přibližně). například About 3 minutes left (Zbývají přibližně 3 minuty).

# Fáze úlohy

Některé úlohy mohou sestávat z postupné řady fází, kdy každá z nich má jiné možnosti pro odhad času. Například může být možné odhadnout zbývající čas pro část úlohy a nemusí to být možné pro jinou. V těchto situacích:

Různé fáze úlohy oznamujte uživateli, jen když to má pro uživatele význam. Obecně řečeno, není žádoucí a nutné nebo vhodné sdělovat samotné fáze úlohy.

Pokud úloha zahrnuje fáze se zbývajícím časem i s typickým časem, zkuste vytvořit jeden společný ukazatel průběhu s typickým časem.

Pokud úloha zahrnuje nějakou neurčitelnou fázi, může ukazatel průběhu zobrazit neurčitou část průběhu úlohy. Ale neměli byste tak činit příliš dlouho a měli byste se snažit o co nejmenší počet změn v ukazateli průběhu. Raději se neurčitelným fázím vyhněte, pokud to jen trochu jde.

# Dílčí úlohy

Když se úloha skládá z více dílčích úloh (jako je stahován několika souborů současně), je obecně vhodné zobrazit jeden ukazatel průběhu, který ukazuje smíšený průběh pro všechny úlohy. Existují ale některé situace, kdy tomu tak být nemusí:

Jestliže je opravdu vhodné, aby uživatel znal průběh jednotlivých dílčích úloh. (Jako alternativa ke stavu dokončení jednotlivých dílčích úloh může sloužit textové označení průběhu.)

Jestliže může být zapotřebí pozastavit nebo zastavit dílčí úlohu (viz níž obecná pravidla).

Jestliže jsou dílčí úlohy tak jako tak již zobrazené v uživatelském rozhraní aplikace. Pak může být méně rušivé zobrazit průběh přímo u jednotlivých úloh.

Když zobrazujete průběh dílčí úlohy:

Každá dílčí úloha by měla splňovat pravidla pro ukazatele průběhu (viz víš kdy použít).

Obecně platí, že není nutné zobrazit zároveň ukazatel průběhu pro celkový průběh celé sady úloh.

# Okna s ukazatelem průběhu

V minulosti byla pro zobrazení ukazatelů průběhu oblíbená okna. Takové podřízené okno se objevilo po dobu průběhu úlohy a obsahovalo jeden nebo více ukazatelů průběhu. Obecně dnes nejsou samostatná okna pro ukazatele průběhu doporučována, protože následek zavření takového okna je nejasný a okno může zakrýt užitečné ovládací prvky a obsah.

Když je to možné, měl by být ukazatel průběhu zobrazen jako vložený a měl by být vizuálně blízko k položce obsahu nebo ovládacím prvkům, které reprezentují probíhající úlohu.

# Obecné zásady

V případě, že je probíhající operace destruktivní nebo náročná na prostředky, zvažte umístit vedle ukazatele průběhu tlačítko pro pozastavení nebo zrušení úlohy.

Postarejte se, aby zbývající čas a typický čas v ukazateli průběhu měřil celkový čas operace nebo práce a ne jen pro jednu fázi.

Aktualizujte údaj o zbývajícím čase na ukazateli průběhu, kdykoliv se objeví změna, která způsobí, že operace se dokončí rychleji nebo naopak pomaleji.

Když používáte ukazatel průběhu s typickým časem a vaše aplikace celkové množství práce přecení, může délka ukazatele hlásit almost complete (téměř dokončeno), dokud není operace hotová. Pokud aplikace celkové množství práce podcení, po dokončení operace zbývající část ukazatele doplní.

# Referenční příručka API

GtkProgressBar