Optický trackball z telefonů HTC zmizel, ale Android jeho obsluhu nese dodnes
První telefon s Androidem měl pod displejem kuličku, HTC Legend ji o rok a půl později nahradilo optickým čidlem a přidalo mu roli spouště fotoaparátu. Z telefonů ukazatel do roku 2011 zmizel, ale metoda onTrackballEvent je v dokumentaci Androidu pořád, protože na téže vrstvě stojí ovládání šipkami, dálkovým ovladačem i přístupnost.

Dnešní telefon se ovládá prstem po skle a mimo displej na něm nezbylo skoro nic. První stroje s Androidem to měly jinak: pod obrazovkou seděl ukazatel, kterým se po rozhraní jezdilo jako kurzorem. Z telefonů zmizel během několika let, jenže software, který ho obsluhoval, je v Androidu pořád – a nesou se na něm věci, které s kuličkou nemají nic společného.
Kulička jako druhý způsob ovládání
Když T-Mobile v září 2008 představil model G1, vyrobený u HTC jako první telefon s Androidem vůbec, mluvil o trackballu jako o „dalším způsobu, jak přístroj ovládat“ – podle tiskové zprávy měl sloužit k přesnější navigaci jednou rukou. Vedle vysouvací klávesnice a dotykového displeje to byl třetí vstup na jednom přístroji. V USA se telefon prodával od 22. října 2008 za 179 dolarů s dvouletou smlouvou, v Británii od listopadu a v prvním čtvrtletí 2009 měl podle oznámení dorazit i do Česka.
Mechanickou kuličku vystřídalo optické čidlo, tedy plochá destička, která snímá pohyb prstu podobně jako spodek myši. Nesly ho modely Legend a Desire, které HTC představilo 16. února 2010 na barcelonském veletrhu MWC. Dobový tisk psal o optickém joysticku, výrobce si ale ponechal starý název. V uživatelské příručce se prvek jmenuje dál optical trackball a popis zní: „Přejeďte po něm prstem nebo ho stiskněte, chcete-li zvýraznit či vybrat položky na obrazovce.“
Čidlo, které i fotilo
Příručka Legendu prozrazuje, jak vážně HTC ukazatel myslelo. Optický trackball podle ní funguje jako spoušť fotoaparátu: stisk pořídí snímek, u videa první stisk nahrávání spustí a druhý zastaví. Firma ho doporučovala i na drobné odkazy ve webovém prohlížeči, kde se prstem trefuje špatně – vybraný odkaz se orámuje barevným obdélníkem a další stisk ho otevře. Stejně se listovalo zprávami v konverzaci a posouvala mapa.
Byla to tedy náhrada za dotyk všude tam, kde je prst příliš tlustý. A právě v tom je nejspíš i důvod, proč zanikl: displeje rostly, cíle na nich byly větší a druhý způsob ovládání přestával být k čemu. Příručka k HTC Incredible S z února 2011 už žádný optický trackball nepopisuje, telefon má pod displejem jen čtyři dotyková tlačítka.
Android s ukazatelem počítal od první verze
V systému po něm zůstala celá vrstva. Metoda onTrackballEvent je v dokumentaci třídy View od API úrovně 1, tedy od úplně první verze Androidu, a dodnes není označená za zastaralou. Zajímavější je, jak je popsaná: pohyb se normalizuje tak, aby posun o jedničku odpovídal jednomu stisku klávesy směrového kříže. Trackball tedy nikdy nebyl kurzor myši – byl to jemnější D-pad, tedy směrový ovladač se čtyřmi šipkami.
Rozdíl je podstatný. Událost od myši dostane prvek, nad kterým ukazatel právě je. Událost od trackballu putuje metodou dispatchTrackballEvent tomu prvku, který má fokus, tedy je právě vybraný. Aplikace proto nemusela vědět nic o souřadnicích; stačilo, aby měla tlačítka a pole, mezi kterými se dá přeskakovat.
Co se na té vrstvě veze dnes
Právě tenhle model přežil hardware, který ho přinesl. Google v návodu na podporu ovládání klávesnicí píše, že šipky na připojené klávesnici se chovají stejně jako směrový kříž nebo trackball, a systém sám odhaduje, který prvek má být na řadě. Když se netrefí, vývojář pořadí předepíše atributy nextFocusUp, nextFocusDown, nextFocusLeft a nextFocusRight.
Na témže mechanismu stojí Android TV. Pravidla pro televizní aplikace označují směrový kříž na dálkovém ovladači za hlavní způsob ovládání a připomínají, že rámec směrovou navigaci mezi prvky obstará sám. Stejnou cestou jde ovládání jedním či dvěma tlačítky, které Android nabízí lidem, co se displeje dotýkat nemohou.
Praktický důsledek pro majitele telefonu je nenápadný, ale existuje: pokud aplikace jde celá projít šipkami, dá se ovládat i připojenou klávesnicí, ovladačem nebo asistenční technikou. Vývojáři se to obvykle testuje na televizi. Že se tím současně opravuje přístupnost aplikace v telefonu, bývá vedlejší produkt práce, která měla mířit jinam.