[UI] Fittsův zákon

Říkal jsem si, že nebude od věci oprášit pár základních pojmů v teoriích kolem uživatelského rozhraní. Pro začátek jsem vybral Fittsův zákon.

Sám jsem měl pro sebe Fittsův zákon zjednodušený zhruba do podoby „čím větší objekt, na který se kliká, tím jednodušší je trefit se na něj”. Ve skutečnosti je to složitější, ale o to užitečnější.

Matematika nuda je, má však cenné údaje

Nebojte, nebude to bolet. Nejdřív postraším vzorečkem:

MT = a + b log2(2A/W)

  • MT je průměrný čas pro dokončení pohybu
  • A je vzdálenost počátečního místa pohybu do středu cílového objektu (např. tlačítka)
  • W zastupuje šířku cíle podél osy pohybu
  • a, b jsou empiricky zjišťované konstanty týkající se rychlosti pohybu (podrobněji viz Wikipedia)

Tento vzoreček můžeme interpretovat asi takhle: „Čas potřebný pro dosažení cílového objektu odpovídá logaritmické funkci vzdálenosti a velikosti cíle”

Fittsuv Zakon

Logaritmická funkce má zajímavé důsledky. Pokud je cílový objekt malý, tak i jeho malé zvětšení povede k výraznému zkrácení potřebného času. Analogicky pro vzdálenost objektu. Typickým příkladem jsou prosté textové odkazy v porovnání s tím, když jim dáme ještě padding a roztáhneme tak aktivní oblast. Myslím, že snadno poznáte, který je který. Zkuste si párkrát přijet z různých míst na oba odkazy. Rozdíl je výrazný.

Tohoto efektu můžeme samozřejmě použít i „opačně” – pro ztížení přístupu k funkcím, které by měl uživatel aktivovat s větší pozorností (typicky mazání).

Všimněte si také, že šířka cíle se počítá podél osy pohybu, takže u pohybu zdola nahoru je to vlastně výška. Pří návrhu tedy musíme myslet i na to, který rozměr se vyplatí zvětšit, což může být samozřejmě mnohdy těžké určit (nějaká pomoc by se našla).

Nekonečné rohy a okraje

Fitts Okraje
Virtuální prostor displejů našich počítačů dává Fittsovu zákonu další zajímavý „rozměr”. Představte si totiž takové tlačítko (nebo jinou aktivní plochu) umístěné na okraji obrazovky. Pokud na něj najíždíme myší, nemusíme se starat o to, jestli ho přejedeme, protože nás zastaví pevný okraj plochy. V tu chvíli má pro nás tlačítko v tomto směru vlastně nekonečnou šířku. Nejvýhodnějším místem jsou tedy rohy displeje, protože ty jsou „nekonečné” ve dvou směrech.

Okno webového prohlížeče tuto tvrdou zarážku sice nenabízí, ale přesto mám takový pocit, že podvědomě začneme brzdit pohyb myši dřív, když najíždíme k okrajům, protože nechceme „vypadnout z okna”.

Nožičky a závěr

Je hezké vidět, kolik složitosti se skrývá za něčím zdánlivě tak triviálním, jako je pohyb a klikání myší, ne? Rozhodně doporučuji, abyste se mrkli na tenhle kvíz, protože ukáže aplikaci Fittsova zákona na řešení praktických problémů. Nějaké připomínky, nápady na jiná témata kolem uživatelského rozhraní, která si zaslouží vypíchnout?

Související odkazy

13