HTC Hero přibližoval dvěma prsty dřív, než Android dal aplikacím rozhraní na víc dotyků
Když HTC v červenci 2009 začalo prodávat Hero, roztažením dvou prstů se v něm zvětšovala webová stránka i fotka. Veřejné rozhraní Androidu tehdy aplikacím víc současných dotyků nehlásilo. Gesto, které dnes nikdo neřeší, prošlo během jednoho roku třemi verzemi systému.
Roztáhnout dvěma prsty fotku nebo mapu je dnes pohyb, o kterém nikdo nepřemýšlí. Na telefonech s Androidem ale v létě 2009 samozřejmý nebyl. Veřejné rozhraní systému tehdy aplikacím hlásilo jen jeden dotyk, a kdo chtěl na stránce přečíst drobný odkaz, ťukal na tlačítka s lupou. Recenzenti to v létě 2009 vítali u HTC Hero jako novinku, kterou dřívější telefony s Androidem neměly.

Hero to měl ve vlastních aplikacích
HTC představilo Hero 24. června 2009 v Londýně. Do Evropy měl jít v červenci, u T-Mobile pod jménem G2 Touch. Hlavní novinkou byla nadstavba Sense, o které jsme psali v článku o její ceně ve výkonu. Recenzenti si ale stejně často všímali displeje.
CNET napsal 22. července 2009, že proti dřívějším telefonům s Androidem je „fantastickým přínosem“ právě vícedotykové ovládání. Stránku šlo přiblížit roztažením prstů a totéž fungovalo u fotek. Trusted Reviews 5. srpna 2009 dodal, že uživatelé Androidu na to dlouho čekali a že gesto funguje v prohlížeči a v galerii obdobně jako na iPhonu. The Register o pět dní později shrnul totéž větou, že displej „dělá tu věc z iPhonu“.
Obě první recenze ale shodně uvedly výjimku. V Mapách Google gesto nefungovalo a přibližovalo se tlačítky na obrazovce. CNET si postěžoval, že se tak dá zvětšit jen střed mapy a že aplikace Googlu běží na telefonu s Googlovým systémem hůř než na iPhonu. Vysvětlení je prosté. Prohlížeč a galerii na Hero upravilo HTC, Mapy byly aplikace Googlu a ta vícedotykové ovládání neznala.
Systém to aplikacím řekl až v Androidu 2.0
Veřejné rozhraní pro víc dotyků přidal až Android 2.0. Google ho vydal v říjnu 2009 s úrovní rozhraní 5 a v seznamu změn stojí, že třída MotionEvent nově umí hlásit současné dotyky na zařízeních, která to podporují, a to až tři najednou. Do té doby dostávala aplikace přes veřejné rozhraní jen jeden bod.
V přehledu novinek pro uživatele se o přibližování dvěma prsty nepsalo. Prohlížeč Androidu 2.0 dostal přiblížení dvojím ťuknutím. Víc dotyků najednou systém využil hlavně v klávesnici, kde podle Googlu zajišťuje, že se při rychlém psaní dvěma palci neztratí žádná klávesa.
Do vestavěných aplikací Googlu se gesto dostalo 2. února 2010, a to na telefonu Nexus One. Toho dne pro něj Google začal posílat aktualizaci a podle TechCrunche šlo nově přibližovat dvěma prsty v prohlížeči, galerii a Mapách. Mluvčí Googlu tehdy řekl, že vícedotyková podpora je součástí Androidu 2.0 a že se do vestavěných aplikací dostane v příští verzi systému; kdy ji kdo dostane, bude ale na operátorech a výrobcích. CNET si den nato všiml, že některé stránky pro mobily, třeba mobilní eBay, se přiblížit nedaly vůbec.
Displej neuměl vždycky dva prsty doopravdy
S Androidem 2.1 přibyl v rozhraní úrovně 7 příznak FEATURE_TOUCHSCREEN_MULTITOUCH, podle kterého si aplikace zjistí, zda displej zvládne „základní rozpoznání gest dvěma prsty“. O verzi později přibyl druhý příznak s přívlastkem DISTINCT pro displeje, které sledují dva a více prstů „zcela nezávisle“, a v rozhraní úrovně 9 ještě třetí pro pět a více prstů.
Rozdíl mezi prvními dvěma příznaky popsal v červnu 2010 Adam Powell z týmu Androidu na blogu pro vývojáře. Některé panely podle něj hlásí jen jeden bod, jiné dva, ale s polohou, která se na složitější gesta nehodí, a další přesnou polohu dvou a více prstů. Aplikace se má proto zeptat, jaký displej telefon má, a počítat i s tím, že ji někdo ovládá jednou rukou nebo kuličkou trackballu, kterou tehdy měly telefony HTC včetně prvního Androidu HTC Dream.
Hotový nástroj přišel s Androidem 2.2
Do té doby v systému žádná hotová třída na rozpoznání tohoto gesta nebyla. Hotovou třídu na to přinesl až Android 2.2. Powell v tomtéž příspěvku z 9. června 2010 napsal, že pro Froyo přidali ScaleGestureDetector na „nejčastěji žádané gesto dvěma prsty: přibližování dvěma prsty“. Ukázková aplikace k článku vyžadovala rozhraní úrovně 8 a telefon s Androidem 2.2.
Od HTC Hero tak uplynul skoro rok, než systém vývojářům nabídl hotovou třídu na rozpoznání tohoto gesta.
Tatáž třída slouží dodnes
Dokumentace Androidu na stránce o tažení a přibližování pořád učí přibližovat právě přes ScaleGestureDetector, tedy přes třídu z roku 2010. Ta mezitím přibírala varianty. Od rozhraní úrovně 19, tedy od Androidu 4.4, umí takzvané rychlé přiblížení: dvojí ťuknutí a tažení jedním prstem, které je u aplikací cílících na tuto verzi zapnuté samo. Od úrovně 23 jde přibližovat i tažením pera se stisknutým tlačítkem.
Na iPhonu bylo vícedotykové ovládání od začátku. Apple ho v tiskové zprávě z 9. ledna 2007 popsal jako „velký vícedotykový displej“, který se ovládá jen prsty. O podobném posunu, kdy Apple u iPhonu 6s měřil i sílu stisku a později ji opustil, jsme psali v článku o 3D Touch.
Zdroje
- CNET: HTC Hero Android phone announced (24. 6. 2009)
- CNET: HTC Hero (unlocked) (22. 7. 2009)
- Trusted Reviews: HTC Hero (G2 Touch) Review (5. 8. 2009)
- The Register: HTC Hero Android smartphone (10. 8. 2009)
- Android Developers: Android 2.0, Release 1 (archiv, říjen 2009)
- Android Developers: Android 2.0 Platform Highlights (archiv, říjen 2009)
- TechCrunch: The Nexus One Just Got Multi-Touch (2. 2. 2010)
- CNET: Google Nexus One update brings multi-touch (3. 2. 2010)
- Android Developers Blog: Making Sense of Multitouch (9. 6. 2010)
- Apple: Apple Reinvents the Phone with iPhone (9. 1. 2007)