Hrozienka z koláča, alebo prečo tie najlepšie vychytávky z Corvusu nie sú dostupné aj ako samostatné aplikácie

Corvus je v súčasnosti komplexný set aplikácií a funkcií, ktorých primárnym cieľom je pokiaľ možno čo najviac uľahčiť a zefektívniť prácu nevidiaceho resp. ťažko slabozrakého používateľa s dotykovým telefónom. Zároveň má ambíciu využiť plný potenciál moderných smartfónov v prospech našej cieľovej skupiny a premeniť takéto telefóny v rukách používateľov so zrakovým postihnutím na multifunkčné kompenzačné pomôcky. Prakticky od čias, kedy sa naše dielo začalo vyskytovať okrem našich telefónov aj v zariadeniach používateľov mimo nášho tímu (od čias, keď sme Corvus prvý krát ponúkli širšej verejnosti), začali nás niektorí používatelia kontaktovať s požiadavkou na odčlenenie a samostatnú distribúciu niektorých jeho častí.

Dlhodobo si najčastejšie pýtate možnosť samostatne si zakúpiť klávesnice Corvusu, ktoré možno použiť na zadávanie a editáciu textov aj mimo Corvus Prostredia, teda v bežných editačných poliach Androidu. V tomto texte sa teda budeme venovať primárne klávesniciam a pokúsime sa vysvetliť, prečo je ich odčlenenie aj v súčasnosti dosť nereálne. Väčšinu z nižšie uvedených dôvodov však možno primerane preniesť aj na iné obľúbené aplikácie Corvus Prostredia, ako napríklad Sťahovanie kníh, Katalóg liekov, Navigáciu, či Označovač predmetov, alebo Optické rozpoznávanie textu.

Čo sú to vlastne klávesnice Corvusu?

Ide o jeden zo základných stavebných kameňov Corvusu, ktorý štandardne používame na zadávanie a editáciu textu v Corvus Prostredí (teda v nami vyvinutých aplikáciách špeciálne navrhnutých na mieru nevidiacim). Klávesnice Corvusu však možno použiť aj na vypĺňanie a editáciu obsahu bežných editačných polí v štandardných aplikáciách Androidu. Text možno aktuálne zadávať až šiestimi spôsobmi, ktoré sú detailne popísané v používateľskej príručke. Okrem všakovakých variácií na tému: „tlačidlá v troch stĺpcoch a štyroch riadkoch“ (ako to bolo kedysi na tlačidlových Nokiách) je k dispozícii ešte tzv. Písanie výberom ponúkajúce zoznam písmen, v ktorom možno listovať a švihom doprava potvrdiť vybrané písmeno. V poslednej dobe vyvolala veľký ohlas aj Braillovská klávesnica, ktorá sa nám podľa vašich reakcií naozaj podarila, čo nás mimoriadne teší.

Všetky spomenuté varianty klávesníc umožňujú okrem zadávania textu aj jeho veľmi efektívne prezeranie a úpravu. Môžete sa jednoducho pohybovať po slovách, znakoch a riadkoch, text označovať, kopírovať, vkladať a mazať. Do klávesníc je integrované diktovanie hlasom, ktoré na rozdiel od základného Androidového rozpoznávania vie v slovenčine i češtine rozpoznávať aj interpunkciu. Takže vyslovený text "dobrý deň čiarka toto je pokusný text bodka" bude do editačného poľa (na pozíciu kurzora) vložený ako "Dobrý deň, toto je pokusný text.". Okrem toho je v klávesnici integrovaná aj čítačka QR kódov, ktorú niektorí používame na rýchle prepisovanie textu z monitora počítača do telefónu.

Je teda zrejmé, že v prípade klávesníc Corvusu ide o na pomery Androidu neštandardné spojenie vlastného editačného poľa vyvinutého rešpektujúc potreby nevidiacich a slabozrakých, setu jedinečných klávesníc a tiež množstva ďalších špeciálnych funkcií.

O efektívny zápis a editáciu textov bez zrakovej kontroly na dotykových obrazovkách sa pokúša viacero projektov. Sme radi, že náš Corvus si práve vďaka komplexnému riešeniu tejto zložitej úlohy našiel svojich priaznivcov. A zrejme pre vyššie uvedené kvality sú naše klávesnice tými pomyselnými hrozienkami, ktoré by si z Corvus koláča radi „vyzobkali“ aj tí, čo zatiaľ neprišli na chuť ostatným jeho súčastiam a vymoženostiam a čo o celý náš aplikačný set zatiaľ záujem nemajú.

Z vyššie uvedeného je však zároveň zrejmé, že naše klávesnice dokonale prerastajú do všetkých súčastí Corvusu a ich funkcionalita je previazaná s množstvom ďalších jeho súčastí. Oddeliť klávesnice od ostatných častí nášho aplikačného setu je ako snažiť sa vypliesť vzor soba zo štrikovaného vianočného svetra. Tých dôvodov, prečo je to len ťažko možné je však viac.

Technické prekážky

Ešte v nedávnej minulosti najzásadnejším problémom pri vytváraní našej klávesnice bola nemožnosť požiadať bežiaci čítač obrazovky tretej strany (teda napr. TalkBack) o dočasnú deaktiváciu tzv. skúmania dotykom. Dotykové telefóny fungujú v štandardnom režime tak, že okamžite reagujú na dotyk. Teda, vidiaci používateľ spúšťa aplikácie tak, že sa jednoducho dotýka ikoniek, ak chce displej odrolovať, použije na to ťah jedným prstom. Pre nevidiaceho používateľa je tento spôsob ovládania nevhodný, pretože nemá istotu, že sa dokáže displeja dotknúť presne v oblasti, kde sa nachádza ikona, ktorú chce práve aktivovať. Android preto ponúka vývojárom tzv. režim skúmania dotykom, v ktorom jednoprstové dotyky  ikony neaktivujú (na ich aktiváciu je potrebné ikonu najskôr zamerať a následne poklepať), navyše možno displej jedným prstom prehmatávať a získavať odozvu o tom, čo sa pod prstom nachádza.

V tomto režime však bežiace aplikácie (a teda napríklad ani klávesnica Corvusu) nedostávajú žiadne informácie o jednoprstových gestách, pretože tie sú "pohltené" čítačom obrazovky skôr, ako by sa mohli do aplikácie dostať. No naše klávesnice sú na jednoprstových gestách priam závislé, bez nich by už neboli tým, čím sú. Na to, aby mohla klávesnica Corvusu fungovať, potrebuje teda nejakým spôsobom požiadať bežiaci čítač obrazovky o dočasné deaktivovanie skúmania dotykom, aby mohla všetky gestá systému dočasne, kým na nej píšeme alebo upravujeme text spracovávať a umožniť nám napríklad písať v Brailly.

Takéto niečo dokážeme jednoducho zrealizovať vo vlastnom čítači obrazovky, ktorému ľahko povieme, teraz sa spustila klávesnica Corvusu, takže sa dočasne deaktivuj. Čítače obrazovky od iných autorov to však ešte v nedávnej minulosti neumožňovali. Ani teraz to úplne neumožňujú, ale od Androidu 11 existuje aspoň možnosť, ako deaktivovať skúmanie dotykom vo vymedzenej oblasti displeja (teda napr. v oblasti kde je zobrazená naša klávesnica). Ako sa ukazuje, toto vymedzenie rešpektujú aj iné čítače obrazovky. No napríklad na telefónoch Samsung bola v rámci ich nadstavby na Androide 11 táto technika ešte nekorektne implementovaná, čoho výsledkom bolo, že takéto riešenie bolo na telefónoch od Samsungu použiteľné až od Androidu 12. Na jednej strane je táto metóda na nových telefónoch zdá sa použiteľná, je však implementovaná tak nešťastným spôsobom, že do budúcna bude pravdepodobne potenciálnym terčom zneužívania a tak bude zrejme opäť zakázaná, alebo aspoň výrazne obmedzovaná. A tak sa s veľkou pravdepodobnosťou opätovne dočkáme znovuzrodenia problému, ktorý sa aspoň na teraz u nových telefónov z veľkej časti vyriešil.

Stále nám tu ale ostali ďalšie výzvy na riešenie a to, že v našich klávesniciach často využívame aj gestá v kombinácii so stlačením tlačidiel hlasitosti (tzv. shifty). Napr. dlhé stlačenie tlačidla hlasitosti hore spúšťa hlasové diktovanie. Stlačenie hlasitosti hore a súčasne vertikálne švihanie prstom po obrazovke prepína klávesnice atď. Ani pri využití vyššie popísanej metódy nám čítače tretích strán neprepúšťajú informáciu o tom, že bolo stlačené niektoré tlačidlo hlasitosti. A to je ďalší problém.

Ak by sme sa teda pokúsili oddeliť klávesnicu Corvusu a distribuovať ju samostatne, stále nám tu ostávajú nevyriešené technické bariéry. Zároveň by sme sa museli buď:

  1. spoľahnúť na technológiu s neistou budúcnosťou (ak sa bude vyššie opísaná metóda zneužívať, Google ju môže "zakázať" už v najbližšej verzii Androidu - úprimne povedané, ako na programátora na mňa spôsob, akým to teraz funguje pôsobí skôr ako chyba), alebo
  2. používateľom odporučiť, aby si svoj čítač (iný ako Corvus Čítač) dočasne deaktivovali vždy, keď Corvus klávesnicu používajú,
  3. prípadne využili funkcie pre automatickú deaktiváciu čítača, ktorú (ne)ponúkajú, alebo ponúkajú v obmedzenej miere niektoré čítače tretích strán.

Podobných technických prekážok existuje viacero. Niektoré funkcie klávesnice vyžadujú na to, aby mohli poskytovať funkcionalitu, ktorú máte radi tzv. službu zjednodušenia ovládania. Je to špecialitka Androidu, ktorú vytvára každý čítač obrazovky na to, aby mohol čítať obsah obrazovky a informovať o ňom používateľa. Ak by sme teda chceli osamostatniť klávesnicu, musela by mať vlastnú službu prístupnosti, čo by bolo samo o sebe v rozpore s podmienkami Googlu a jej aktivácia by bola počínajúc Androidom 13 pre používateľa veľmi komplikovaná.

Z textu uvedeného v tejto časti je zrejmé, že vytvoriť samostatnú klávesnicu s kvalitami, ktoré oceňujete na tej našej je z technického hľadiska síce možné, jej konfigurácia a používanie by však bolo príliš komplikované, nepohodlné a dosiahnuteľné len pre skupinku technicky zručných používateľov. V dôsledku použitia vlastnej služby prístupnosti by podľa aktuálnych podmienok napríklad neprešla ani validačným procesom potrebným pre vstup na Google Play.

Kapacitné dôvody

Z podčlánku vyššie teda vidíme, že ak by sme klávesnicu osamostatnili, získali by sme produkt, ktorý by z pohľadu používateľa nebol jednoduchý na používanie. Produkt by bolo potrebné samostatne udržiavať a dopĺňať do neho novú funkcionalitu tak, aby bol vždy porovnateľný s tým, čo poskytuje Corvus priamo vo svojom prostredí. Vytváral by teda nové nároky na vývoj, ktoré si v tíme podieľajúcom sa na tvorbe Corvusu nemôžme dovoliť. Isto by to totiž znamenalo spomalenie vývoja samotného Corvusu, čo rozhodne nechceme pripustiť.

Aj publikačný proces na Google Play je pomerne komplikovaný a do istej miery i nepredvídateľný. Máme za sebou zaujímavú konzultáciu s tvorcami iného projektu so skúsenosťou, ktorá ich vedie k tomu, že práve pre nejasnosti v publikačnom procese na Google Play niektoré časti svojho produktu neaktualizujú, alebo aktualizujú v minimálnej miere. Dôvodom je existujúce riziko, že už raz akceptovaná aplikácia nemusí po drobnej úprave úspešne prejsť spomenutým procesom.

K technickým komplikáciám z pohľadu používateľa sa teda pridáva aj riziko, že vytvoríme produkt, ktorý následne ku koncovému používateľovi nedokážeme dostať, alebo bude jeho inštalácia príliš komplikovaná a my strávime čas, ktorý by sme štandardne investovali do vylepšovania Corvusu ako celku pri niečom, čo bude napokon zbytočné.

A čo tie žiadané aplikácie Corvus Prostredia?

Vyššie uvedené zdôvodnenia platia z veľkej miery aj pre odčlenenie aplikácií z Corvus Prostredia. Ak by sme sa napr. rozhodli samostatne poskytnúť aplikáciu Sťahovanie kníh, aby si zachovala svoju jednoduchosť a intuitívnosť, museli by sme ju vybaviť kódom, ktorý definuje naše špeciálne používateľské prostredie. Tiež by sme ju museli vybaviť klávesnicami, rozpoznávaním reči a potom by sme ešte riešili, či k nej pridať aj prehrávač zvukových kníh a prehliadač textového obsahu. Nakoniec by sme dostali obrovskú duplicitu. Jednak by sa táto aplikácia so všetkým potrebným nachádzala v Corvuse a jednak ako samostatná aplikácia. No už by bolo potrebné udržiavať nie jeden kód aplikácie, ale kódy dvoch aplikácií, prípadne troch, štyroch, X - to ak by sme mali takto uvoľniť aj iné obľúbené funkcie a aplikácie. To je samozrejme časovo veľmi náročné. A keďže sa naklonovať nedokážeme, aby sme vedeli naraz bojovať na viacerých frontoch, máme pocit, že by sme tak používateľov Corvusu oberali o čas, ktorý by sme im radšej mohli venovať pri ďalšom vylepšovaní nášho aplikačného setu do podoby, aby už nik nemal potrebu ho akokoľvek kúskovať. No a ešte si tu pridajme aj už spomenutý problém s vypínaním čítača tretej strany – resp. skúmania dotykom, pretože ani naše aplikácie by nefungovali pri tomto aktivovanom režime.

OK, a čo teraz?

V prvom rade je dôležité povedať, že pokiaľ vám nevadia limity spomenuté v časti článku o technických bariérach, potom môžete klávesnicu Corvusu s ľubovoľným čítačom obrazovky používať aj v súčasnosti. Na to aby mohla korektne fungovať vyžaduje aktívnu službu prístupnosti Corvusu, tú však možno aktivovať a nastaviť tak, aby neposkytovala služby čítača. Najprv aktivujte v zjednodušení ovládania službu Corvusu a následne v PONUKA>NASTAVENIA>ČÍTAČ OBRAZOVKY odčiarknite položku "automaticky aktivovať pri opustení Corvusu". V tomto režime bude čítač Corvusu vždy ticho, nijako sa vám nebude miešať do práce, za to však bude poskytovať všetko potrebné, čo potrebuje naša klávesnica na to, aby ste ju mohli používať. Zmeniť môžete tiež predvolenú domovskú obrazovku na launcher, ktorý vám najviac vyhovuje, tiež predvolenú telefónnu aplikáciu a SMS aplikáciu a tak sa s Corvusom ako takým budete stretávať naozaj len minimálne. Veľkosť Corvusu je oproti iným aplikáciám stále veľmi malá a voči kapacitám súčasných telefónov úplne zanedbateľná, takže vás nemusia ťažiť ani dáta navyše, tvorené vami nevyužívanými aplikáciami a funkciami Corvusu.

Niektorí z vás píšete, že by ste si boli ochotní klávesnicu kúpiť samostatne, ale za Corvus platiť nechcete. Radi by sme vás upozornili na to, že klávesnica je kompletne dostupná v bezplatnej verzii Corvusu. Uvedomujeme si, že vás týmto oberáme o možnosť "prispieť na dobrú vec" a do pozornosti vám dávame možnosť podporiť nás napríklad prostredníctvom portálu ľudia ľuďom,...

Sme si vedomí, že v súčasnosti existujú niektoré veci, ktoré môžu veľmi zriedkavo, no predsa len vyrušovať práve používateľa, ktorý využíva len klávesnicu a ostatné funkcie Corvusu nechce stretávať. Tie, o ktorých vieme odstránime a vás, ktorí nejaké také situácie zažívate prosíme, aby ste nás o nich informovali. My urobíme všetko pre to, aby sme vám vyšli v ústrety.

Veríme, že tento pomerne rozsiahly text poskytuje dostatok informácií o našom nazeraní na problém a že rozumiete našim dôvodom, prečo aktuálne považujeme oddeľovanie klávesnice, alebo aj iných aplikácií za ťažko realizovateľné. Samozrejme platí, že možnosti stále skúmame a budeme skúmať a nevylučujeme, že niekedy v budúcnosti sa môžu veci vyvinúť k lepšiemu a my budeme môcť náš aktuálny prístup prehodnotiť. Skôr ako vyberanie hrozienok zo spoločného koláča, a teda duplicitná distribúcia vybraných aplikácií a funkcií (na jednej strane priamo v balíčku Corvusu a na druhej strane aj ako samostatných aplikácií), prichádza do úvahy snaha umožniť používateľom iných čítačov ešte jednoduchšie využívať pri nainštalovanom Corvuse vyložene len to, čo ich zaujíma. Aby sa Corvus napr. nerozrozprával, keď netreba a nemiešal sa s čítačom tretej strany, nesnažil sa po štarte telefónu spustiť svoj launcher aj keď nie je predvolenou domovskou obrazovkou a p. No a to najdôležitejšie, o čo sa už veľmi usilovne snažíme aj práve teraz a nová verzia Corvusu to preukáže, chceme vylepšiť náš Corvus Čítač na takú úroveň a prísť s takými vychytávkami, aby používatelia už ani nemuseli uvažovať o vyzobávaní hrozienok z Corvus koláča, ale proste si zamilovali aj náš čítač obrazovky a mali tak po probléme.

Zatiaľ prajeme veľa zdaru a spokojnosti pri využívaní ktorejkoľvek časti Corvusu.