Pravidla pro tvorbu rozhraní/old

Co to jsou vzory (patterns) a k čemu se používají? Definujte nějaká obecná pravidla, která by mělo splňovat rozhraní. Co to jsou principy splynutí (flow) a sladění (orchestration)?

  • Raskin, J.: The Humane Interface. ACM Press (Addison-Wesley), 3th edition, NY 2000

Přehled

Obsah

Tvořit rozhraní je podobné jako stavět dům- pokud nejsou dobře vybudované základy, tak ani geniální umělecká práce nepomůže, aby výsledná struktura fungovala lépe.

Proč usilovat o funkční rozhraní

Dobrý design pomáhá například:

  • Webdesignerům a managerům webových projektů dát jejich stránkám extra snadné ovládání, které zapůsobí na návštěvníky a pomáhá jim najít informace, které chtějí. Na druhé straně zvyšuje výkon webu ze strany jeho provozovatele.
  • Díky dobrému designu se snižují náklady výrobce produktu na uživatelskou podporu i údržbu a opravy.
  • Pomáhá uživateli dosáhnout vyšší produktivity a rychleji se naučit daný nástroj používat. Interakce s nástrojem je příjemnější.

Pravidla pro rozhraní

  • Jednoduché věci by měly být jednoduché – dá se pochopit, že čím sofistikovanější máme nástroje, tím komplikovanější může být ovládání. Jednoduché úkony by ale mělo jít dělat jednoduchým způsobem. Např. ať máte mobil sebechytřejší, mělo by být snadné přijmout příchozí hovor.
  • Požadavky na rozhraní musí být součástí analýzy požadavků v první fázi vývoje produktu. Jakmile známe úkol, který má produkt splnit, pak navrhujeme design – implementace funkce je závislá na něm. Na úvod musíme určit úkoly, které chce uživatel vykonat.
  • Jako zákony robota (Asimov): Počítač by neměl zničit tvoji práci, nebo svou nečinností dovolit, aby tvoje práce byla zničena.
  • Uživatel by měl být tím, kdo určuje rychlost interakce.
  • Musíme vzít do úvahy ergonomii, chceme-li navrhnout rozhraní, které bude dobře fungovat
  • Stálé užívání rozhraní způsobí to, že si uživatel vyvine návyky, kterých se nedokáže zbavit. Designér by měl vytvořit rozhraní tak, aby tyto návyky nezpůsobovaly uživatelům problémy. Naopak musíme vyvinout takové rozhraní, které záměrně zvýhodňuje vytvoření návyků a umožňuje uživatelům vytvořit si takové návyky, které vylepšují průběh jejich práce.
  • Provádíme-li více úkonů najednou, je výhodné, pokud jsou některé z nich prováděny automaticky, podvědomě. Díky tomu dochází k menšímu rušení a menšímu snížení výkonu nebo kvality provádění úkolů.
  • Raději než vyžadovat potvrzení vykonání nevratného kroku, je lepší uživateli umožnit takový krok vzít zpět.
  • Mělo by být snadné dostat se tam, kde jsme naposled s prací skončili.
  • Módy způsobují problémy Mění chování akcí, na které jsme zvyklí. Pravidla:
    • 1) Nepoužívejte módy.
    • 2) Dbejte na to, aby módy byly výrazně označeny.
    • 3) Dbejte na to, aby příkazy používané v jednom módu nefungovaly ve druhém – tedy aby použitím urč. příkazu v chybném módu se uživatel nedostal do problémů.
  • Uživatelské přizpůsobení je v podstatě špatné.
  • Pouze ty správné věci jsou viditelné (myšleno aktuálně smyslově vnímatelné nebo před malou chvílí). Pokud nás systém nutí pamatovat si nebo tušit, že někde existuje nějaká funkce, pak je ta funkce neviditelná. Například hry mají (správně) spoustu funkcí, objektů, nástrojů neviditelných.
  • Affordance – poskytuje jasné vodítko, jak používat věci. Rozhraní by mělo vždy brát na vědomí, jak uživatel ví, že je nějaká funkce možná, a také také bychom měli požadovat, aby každý viditelný prvek jasně ukazoval návod, jak jej používat.
  • Rozhraní by mělo mít dostatečné vizuální kvality, aby byly „viditelné“ prvky skutečně tak výrazné,aby si jich uživatel všiml.
  • Monotomy – uživatel má pouze jednu cestu, jak něco udělat (například ne možnost použít klávesovou zkratku a zároveň menu)
  • Dobře navržené uživatelské rozhraní nemusí fungovat v oddělených variantách pro začátečníky a experty.

Verb-noun versus noun-verb paradigma

Používáme funkci na objekt nebo máme objekt a na něm vykonáme funkci. Například zvolíme "vytvořit graf" a pak vybíráme zdrojová data. Nebo vybereme zdrojová data a přikážeme vytvořit z nich graf.

U přístupu verb-noun obvykle potřebujeme mít opravný mechanismus (příkaz cancel), u noun-verb to není nutné – obvykle stačí ke změně vybrat jiný objekt. Obvykle ale rozhraní používající noun-verb přístup umožňují i ten opačný.

Splynutí a sladění (flow versus orchestration

Flow (splynutí) - situace, kdy uživatel zapomene na všechny okolní vyrušující vlivy. Stav hlubokého, až meditativního zaujetí. V této situaci je uživatel extrémně produktivní. Designovaný produkt by neměl uživatele jakkoli vytrhovat z tohoto stavu.

Orchestration (sladění) - rozhraní je pro uživatele transparentní, designer vzal do úvahy problém, který chce uživatel řešit. Vždy platí - méně je více, usilujeme tedy o redukci počtu kroků, které jsou nutné ke splnění úkolu. Dále je důležité počítat s možností a pravděpodobností:

  • Možnost, že budu chtít soubor editovat, uložit nebo smazat, je přibližně stejná
  • To, že budu chtít soubor uložit, je pravděpodobnější, než že ho budu mazat.
  • Protože je pravděpodobnější, že budu chtít soubor uložit, měla by tato volba být přednostně nabízena.

Návrhové vzory

Velmi zajímavým rysem informačních systémů a např. softwarových produktů je jejich vzájemná podobnost. Jen málo jich představuje novou, na zelené louce postavenou architekturu. Vývojáři používají většinou standardní postupy a podobně grafici. Proto vznikl jakýsi jazyk, jak již jednou osvědčené řešení problémů zachytit pro další návrháře a vývojáře. Začaly vznikat návrhové vzory, které si daly za úkol popisy určitých problémů zachytit v systematicky uspořádané formě.

Dobrý vzor musí představovat velmi obecné řešení netriviálního problému, který se často vyskytuje. Používají se k návrhu interakce i celého systému ověřeným způsobem (neobjevujeme stále znovu kolo). Především šetří náklady a zvyšují efektivitu vývoje produktu.

Anotovaná bibliografie

  • Raskin, J.: The Humane Interface. ACM Press (Addison-Wesley), 3th edition, NY 2000

Demonstrace