!"#$%&'#()*+,+-.')/$01'
!eské vysoké u"ení technické v Praze Fakulta elektrotechnická
Diplomová práce
Navigace zrakov! posti"en#ch osob v interiéru pomocí mobilního za$ízení s dotykov#m displejem Pavel Cvetler
Vedoucí práce: Ing. Jan Vystr%il Studijní program: (MP4) Otev#ená informatika Obor: (1801T039) Po"íta"ová grafika a interakce kv$ten 2011
2+#34+-$%&' Rád bych pod$koval v%em, kte#í mi poskytli pot#ebné informace k dané problematice, zvlá%t$ pak d$kuji vedoucímu své diplomové práce panu Ing. Janu Vystr"ilovi za cenné rady, p#ipomínky a nám$ty, jimi& mi v'znamn$ pomohl ke zpracování zadaného tématu. v
2/+5*$61%&' Prohla%uji, &e jsem svou diplomovou práci vypracoval samostatn$ a pou&il jsem pouze podklady uvedené v p#ilo&eném seznamu. Nemám záva&n' d(vod proti u&ití tohoto %kolního díla ve smyslu §60 Zákona ". 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorsk'm a o zm$n$ n$kter'ch zákon( (autorsk' zákon). V Praze dne 5. 5. 2011
.......................... vii
789:/"0:' This thesis deals with design of using mobile phone with touch screen for visually impaired people and theirs navigation in the interior using a mobile phone, where QR codes is used for determining the position of the user. At the beginning of the work there are described designs of controlling of mobile phone and layout of user interface of the navigation application. Next part of the work deals with way of storing the scheme of buildings to the file and design of the application. Further there are described tests with users. At the end of the work there are described the possible improvements and expansion of the system.
789:/"4:' Tato práce se zab'vá návrhem ovládání mobilního telefonu s dotykovou obrazovkou pro zrakov$ posti&ené a jejich navigací v interiér(, kde jsou pou&ity QR kódy k ur"ování pozice u&ivatele. V úvodní "ásti práce jsou návrhy ovládání mobilního telefonu a u&ivatelského rozhraní naviga"ní aplikace. Dal%í "ást práce se zab'vá návrhem ulo&ení schématu budovy do souboru a samotn'm návrhem aplikace. Dále jsou popsány testy s u&ivateli. V záv$ru práce jsou nastín$ny mo&ná zlep%ení a roz%í#ení ovládání mobilního telefonu i samotné naviga"ní aplikace.
'
ix
;89"5' 1! Úvod ................................................................................................................................ 1! 1.1! Historie projektu ....................................................................................................... 1! 2! Anal'za problém( a technologií ...................................................................................... 3! 2.1! Dotykové displeje ..................................................................................................... 3! 2.2! Ovládání dotykového telefonu nevidom'mi ............................................................. 5! 2.3! Navigace nevidom'ch v interiéru ............................................................................. 5! 2.4! Binární grafické kódy................................................................................................ 6! 2.5! Opera"ní systém mobilního telefonu ........................................................................ 8! 2.6! Architektura Android OS .......................................................................................... 9! 2.7! Verze Android OS ................................................................................................... 11! 3! Existující implementace usnad)ující pou&ití telefonu nevidom'm ............................... 15! 3.1! Na úrovni aplikace .................................................................................................. 15! 3.2! Na systémové úrovni ............................................................................................... 16! 4! Návrh ovládání mobilního telefonu ............................................................................... 23! 4.1! Pouze pomocí dotykové plochy .............................................................................. 23! 4.2! Pou&itím externího za#ízení..................................................................................... 24! 4.3! Návrh ovládání po prvním testování ....................................................................... 25! 5! U&ivatelské rozhraní aplikace ........................................................................................ 27! 5.1! Architektura aplikace .............................................................................................. 27! 5.2! Funkce ..................................................................................................................... 28! 5.3! Rozmíst$ní funkcí na klávesy ................................................................................. 31! 6! Návrh ulo&ení schématu budovy.................................................................................... 33! 6.1! Struktura schématu budovy ..................................................................................... 33! 6.2! Ulo&ení struktury souboru schématu....................................................................... 34! 7! Realizace ........................................................................................................................ 37! 7.1! Pou&ité technologie ................................................................................................. 37! 7.2! Na"ítání schématu budovy ...................................................................................... 38! 7.3! Externí ovládání ...................................................................................................... 40! 7.4! P#idání podpory HID do Android OS ..................................................................... 44! 7.5! Implementace .......................................................................................................... 45! 8! Testování........................................................................................................................ 49! 8.1! Test pou&itelnosti externího ovládání ..................................................................... 49! 8.2! V'sledky testu pou&itelnosti externího ovládání .................................................... 51!
xi
8.3! Testování aplikace a externího ovládání v reálném prost#edí ................................. 52! 8.4! Ú"astníci testu aplikace a externího ovládání ......................................................... 55! 8.5! V'sledky testování aplikace a externího ovládání .................................................. 59! 9! Záv$r .............................................................................................................................. 61! 9.1! Dosa&ení stanoven'ch cíl( ...................................................................................... 61! 9.2! Pokra"ování v'voje ................................................................................................. 61! 10! Literatura a pou&ité materiály ...................................................................................... 65! Dodatek A,! Seznam pou&it'ch zkratek ............................................................................. 67! Dodatek B,! Dotazníky z testování..................................................................................... 69! Dodatek C,! Fotografie z test( ........................................................................................... 73! Dodatek D,! Instala"ní a u&ivatelská p#íru"ka.................................................................... 75! Instalace ............................................................................................................................ 75! U&ivatelská p#íru"ka klávesnice ....................................................................................... 75! U&ivatelská p#íru"ka aplikace .......................................................................................... 76! Dodatek E,! Obsah p#ilo&eného CD ................................................................................... 79!
<1=%",'+8/$=4>' Obrázek 2-1: Kapacitní dotykov' displej .............................................................................. 4! Obrázek 2-2: Grafické kódy .................................................................................................. 7! Obrázek 2-3: Struktura QR kódu ........................................................................................... 8! Obrázek 2-4: Architektura Android OS ................................................................................. 9! Obrázek 2-5: Distribuce verzí Android OS k 1. 4. 2011 ..................................................... 12! Obrázek 3-1: Braillovo písmo.............................................................................................. 16! Obrázek 3-2: Aplikace PST (vpravo) a ukázka pou&ití (vlevo)........................................... 17! Obrázek 3-3: Ukázka gest (zkratek) .................................................................................... 19! Obrázek 3-4: Eyes-Free Home ............................................................................................ 19! Obrázek 3-5: Psaní v Eyes-Free Home ................................................................................ 20! Obrázek 3-6: Mobile Accessibility ...................................................................................... 21! Obrázek 4-1: Pou&ití malého po"tu ovládacích prvk( a jejich rozmíst$ní .......................... 24! Obrázek 5-1: Zjednodu%ená architektura navrhovaného systému ....................................... 27! Obrázek 5-2: V'b$r mapy budovy....................................................................................... 28! Obrázek 5-3: V'b$r bodu trasy............................................................................................ 30! Obrázek 5-4: Numerická klávesnice .................................................................................... 31! Obrázek 7-1: Zjednodu%ená struktura aplikace ................................................................... 45! Obrázek 8-1: Nastavení testu pou&itelnosti externího ovládání .......................................... 50! Obrázek 8-2: Nastavení testu aplikace................................................................................. 52! Obrázek 8-3: Rozsah popisu 3. patro ................................................................................... 53! Obrázek 8-4: Rozsah popisu 4. patro (p(dní vestavba) ....................................................... 53! Obrázek 10-2: Testování aplikace v praxi ........................................................................... 73! Obrázek 10-2: Testování aplikace v praxi - QR kód ........................................................... 73! Obrázek 10-3: Testování aplikace v praxi - na"ítání QR kódu............................................ 74! Obrázek 10-3: Úvodní obrazovka ........................................................................................ 76! Obrázek 10-4: V'b$r bodu trasy.......................................................................................... 76!
xiii
<1=%",':"8?*14' Tabulka 2-1: Datové kapacity QR kódu ................................................................................ 7! Tabulka 2-2: Opravy chyb QR kódu...................................................................................... 8! Tabulka 2-3: Distribuce verzí Android OS k 1. 4. 2011 ...................................................... 12! Tabulka 7-1: SW mapování funkcí HW klávesnice ............................................................ 42! Tabulka 8-1: ú"astníci testování pou&itelnosti externího ovládání ...................................... 51! Tabulka 8-2: ú"astníci testování pou&itelnosti externího ovládání ...................................... 55! Tabulka 10-1: SW mapování funkcí HW klávesnice .......................................................... 75! Tabulka 10-2: Mapování funkcí na tla"ítka ......................................................................... 77!
xv
<1=%",'=#/+@+-A05'4B#>' Zdrojov' kód 6-1: Informace o obsahu schématu ............................................................... 34! Zdrojov' kód 6-2: Body v souboru s mapou ...................................................................... 35! Zdrojov' kód 6-3: Spojení v souboru s mapou ................................................................... 35! Zdrojov' kód 7-1: P#ipojení HID za#ízení........................................................................... 44!
xvii
Úvod (1)
C D-+#' P#i v'b$ru tématu diplomové práce jsem preferoval vyu&ití jejích záv$r( v praxi. Oslovilo m$, &e moje práce a její v'sledky mohou pomoci lidem, kte#í se ocitli v nelehké &ivotní situaci v d(sledku ztráty jednoho z nejd(le&it$j%ích lidsk'ch smysl( – zraku. Lidé, kte#í p#ijdou o zrak v pr(b$hu svého &ivota, se s touto situací mnohdy t$&ko vyrovnávají a jen obtí&n$ si zvykají na nové &ivotní podmínky. Trvá jim "asto i n$kolik let, ne& se novému zp(sobu &ivota p#izp(sobí. V procesu adaptace jim m(&e v'znamn$ pomoci práv$ technika. Orientace v neznám'ch prostorách, p#evá&n$ pak v budovách, je i pro zdravého "lov$ka mnohdy velmi obtí&ná. Vstoupí-li "lov$k do budovy, s jejím& prost#edím dosud není seznámen, "eká na n$j spletitá sí* chodeb, schodi%* a v'tah(, ve které se musí vyznat, aby úsp$%n$ nalezl sv(j cíl. Zdrav'm lidem k tomu pomáhají orienta"ní plány budov, které jsou mnohdy slo&ité a nep#ehledné. Zrakov$ posti&ení v%ak nemají ani tuto mo&nost. P#i pohybu v neznámém prostoru jsou proto zpravidla odkázáni na pomoc druh'ch, co& není ka&dému p#íjemné. A práv$ bezv'chodnost této situace se pro m$ stala odrazov'm m(stkem k hledání #e%ení v'%e uvedeného problému. Moje diplomová práce je na téma navigace zrakov$ posti&en'ch osob v interiéru pomocí mobilního za#ízení s dotykov'm displejem. Navazuje tím na moji bakalá#skou práci [12], její& st$&ejním cílem bylo #e%ení navigace nevidom'ch v interiéru pomocí mobilního telefonu s opera"ním systémem Symbian. Proto&e trendem dne%ní doby je pou&ití dotykového displeje k ovládání mobilního telefonu, dostávají se mobilní telefony s b$&nou klávesnicí do pozadí a je mo&né, &e se jednoho dne p#estanou vyráb$t úpln$. Pou&ívání mobilního telefonu je pro zrakov$ posti&eného "lov$ka slo&ité. Musí se toti& spolehnout na svoje zb'vající smyly, p#evá&n$ sluch a hmat. Pokud je ale v'vojem trhu nucen pou&ívat mobilní telefon s dotykovou obrazovkou, je jeho dal%í smysl, tentokráte hmat, zna"n$ omezen. Zám$rem mojí diplomové práce je usnadn$ní pou&ívání mobilního telefonu s dotykov'm displejem zrakov$ posti&en'm osobám a pomocí zmín$ného za#ízení uleh"it jejich pohyb v neznám'ch prostorách.
CEC F(9:+/(1')/+@14:?' Projekt zab'vající se navigací zrakov$ posti&en'm s vyu&itím informa"ních technologií b$&í na kated#e po"íta"( !VUT FEL ji& #adu let. V posledních letech se v'zkum zam$#uje na navigaci zrakov$ posti&en'ch pomocí mobilního telefonu. První prací, která vyu&ívala mobilní telefon jako prost#edek k usnadn$ní pohybu zrakov$ posti&en'm v neznámém prostoru, je diplomová práce Jana Vystr"ila [13] „U&ivatelské rozhraní pro navigaci
1
Úvod (1) nevidom'ch osob v interiéru pomocí mobilního telefonu“. Autor ve své práci popisuje naviga"ní systém, kter' um$l u&ivateli p#e"íst p#edem p#ipravenou trasu. Pro implementaci prototypu zvolil prost#edí Java ME. Zjistil, &e Java ME má jistá omezení, a proto doporu"uje vytvá#et aplikaci p#ímo pro cílov' OS. Na tuto práci navazovala moje bakalá#ská práce [12] „Mobilní navigace nevidom'ch osob v interiérech“. Tato práce vychází ze základních princip( obou uveden'ch prací, vyu&ívá jejich doporu"ení a sna&í se odstranit jejich nedostatky. Vedle indoor (vnit#ní) navigace, také na kated#e po"íta"(, b$&í projekt zab'vající se outdoor (venkovní) navigací zrakov$ posti&en'ch osob. Budoucím cílem obou projekt( je spojení do jedné aplikace, která bude schopná bezpe"n$ dovést u&ivatele k budov$ a usnadnit mu pohyb uvnit# budovy tak, aby se jednodu%e a bezpe"n$ dostal do cíle bez cizí pomoci. Tento fakt je zohledn$n nap#íklad p#i návrhu datové struktury pro popis budovy.
2
Anal#za problém& a technologií (2)
G 7%"*A="')/+8*.,>'"':105%+*+H(&' Jedním z problém(, kter'm se v této práci budu zab'vat, je pou&ití mobilního telefonu s dotykov'm displejem nevidom'mi. Pro n$koho, kdo vidí, je to veliké uleh"ení práce se za#ízením, proto&e interakce probíhá dle o"ekávání, tzn. „ co vidím a chci, to zmá"knu“. Jak ji& bylo #e"eno v úvodu, pou&ívání mobilního za#ízení s dotykov'm displejem je pro zrakov$ posti&ené velmi t$&ké. Pomoci by jim m$la aplikace navr&ená v pr(b$hu této práce. Dal%ím problémem pro zrakov$ posti&ené je pohyb v neznám'ch prostorách. Pomoci, nap#íklad p#i nav%tívení úpln$ nové budovy, by jim m$la aplikace, která je také p#edm$tem této práce. Cílem mé práce je nalezení mo&ného #e%ení pro interakci zrakov$ posti&en'ch osob s mobilní za#ízením ovládan'm dotykov'm displejem. Dále pak vytvo#ení „offline“ naviga"ní aplikace pro za#ízení s dotykov'm displejem, její otestování a nalezení p#ípadn'ch nedostatk( jak aplikace samotné, tak i zp(sobu pou&ití za#ízení zrakov$ posti&en'mi lidmi.
GEC I+:J4+-.'#(9)*1@1' Dotykov' displej je velmi zajímav' zp(sob ovládání mobilního telefonu. Nemusíte slo&it$ listovat polo&kami v menu pomocí tla"ítek, ale jednodu%e stisknete to, co práv$ vidíte a pot#ebujete. Lidé se zrakovou vadou, a* u& vrozenou "i nabitou b$hem &ivota, tuto mo&nost nemají. Pokud cht$jí n$co poznat, musejí místo zraku pou&ít hmat. Je pro n$ tedy velmi d(le&ité, jak'm zp(sobem mobilní telefon reaguje na dotyk a jaká je citlivost snímání dotyku. Existuje celá #ada dotykov'ch displej(. V%echny se ale nakonec dají rozd$lit do dvou základních skupin podle technologie, kterou pou&ívají pro snímání dotyku. Podrobn$j%í popis technologií snímání dotyku je popsán v následujících kapitolách. GECEC K")"0(:%&'#+:J4+-A'#(9)*1@' Poloha dotyku na obrazovce se ur"uje ze zm$n kapacity. Jedná se o sklo, které kryje zobrazovací "ást displeje, pota&ené transparentním vodi"em, nap#. Indium Tin Oxidem (ITO). P#i kontaktu n$jakého vodivého materiálu s touto plochou dochází k naru%ení elektrostatického pole obrazovky, které je m$#itelné jako zm$na kapacitního odporu. Kapacitní dotykov' displej má perfektní odezvu na dotyk. Sta"í jenom jemné „zavad$ní“ prstem o obrazovku a dotyk je okam&it$ zaznamenán. Je jisté, &e k ovládání musí b't pou&it nap#íklad prst (díky vodivosti lidského t$la) není ov%em mo&né ovládat displej pomocí standardního stylusu (dotykového pera). Existují ov%em speciáln$ upravené 3
Anal#za problém& a technologií (2) stylusy, které mají místo pevného, tvrdého hrotu m$kk' vodiv' materiál. Jsou v$t%inou vyrobeny z kovu, a tak je dosa&eno propojení mezi m$kk'm vodiv'm materiálem na %pi"ce a lidsk'm t$l$m.
Obrázek 2-1: Kapacitní dotykov# displej
GECEG L1=(9:(-%&'#+:J4+-A'#(9)*1@' Jak ji& název této technologie sám napovídá, snímání dotyku je realizováno pomocí zm$ny odporu. Tento odpor se m$#í mezi dv$ma desti"kami, které jsou odd$lené úzkou vrstvou vzduchu. Ob$ jsou pr(hledné a pokryté tenkou vrstvou kovu, tak aby vedly elektrick' proud. Jedna je pevná a tvo#í tak zárove) ochranu displeje pod ní. Druhá vrstva je pru&ná. P#i dotyku se pru&ná vrstva prohne a kovové vrstvy na obou desti"kách se spojí. P#esnou polohu na dotykové obrazovce pak ur"í #adi" z rozdíln'ch odpor( v r(zn'ch sm$rech. Z p#edchozího popisu principu funkce rezistivního displeje je z#ejmé, &e i dotyková obrazovka m(&e jist'm zp(sobem poskytovat haptickou odezvu. Prostor mezi desti"kami je toti& vypln$n plynem, tak&e je nutné pru&nou vrstvu zmá"knout. Je tedy mo&né lehce p#ejí&d$t prstem po displeji, ani& by byl za#ízením zaznamenán dotyk. Toho by se mohlo vyu&ít nap#íklad p#i v'rob$ dotykové obrazovky pro osoby se zrakov'm posti&ením. Pru&ná vrstva by mohla b't pokryta hmatateln'mi symboly, které by nap#. nevidom' mohl nahmatat. Otázkou ov%em je, jestli v p#ípad$ v'roby mobilního telefonu pro zrakov$ posti&ené není lep%í z(stat u ov$#en'ch hardwarov'ch klávesnic.
4
Anal#za problém& a technologií (2)
GEG ;-*$#$%&'#+:J4+-.5+':1*1M+%?'%1-(#+,A,(' Pro samotné ovládání mobilního telefonu je v první #ad$ d(le&ité, jak' je pou&it zp(sob snímání dotyku. Z p#edchozí kapitoly vypl'vá, &e u rezistivní dotykové plochy je snímání mén$ citlivé a ze samotného principu ur"ování polohy doteku je patrné, &e je mo&né lehce se dot'kat displeje, ani& by byl dotek zaznamenán, co& m(&e pomoci p#i orientaci nevidomého po displeji. Pro mobilní telefony s opera"ními systémy existuje celá #ada usnadn$ní (Kapitola 3), které mají za úkol pomoci zrakov$ posti&en'm lidem s ovládáním telefonu a jeho funkcí. Mezi n$ nap#íklad pat#í funkce na zvukovou syntézu textu, vibrace "i zvuk p#i stisku n$jakého elementu na displeji a hlasov' vstup, kter' m(&e b't pou&it nap#. pro vyhledávání na internetu nebo mezi daty ulo&en'mi v mobilním telefonu (kontakty, aplikace, hudba apod.). Existují také aplikace, které mají zrakov$ posti&en'm u&ivatel(m usnadnit pou&ití menu telefonu nebo v'b$r aplikací. Ty potom ve v$t%in$ p#ípad( nahrazují standardní rozhraní opera"ního systému sv'm vlastním. Vybrané aplikace s obdobn'm chováním jsou popsány v Kapitole 3. Dal%ím problémem, kterému musí zrakov$ posti&en' "lov$k "elit p#i pou&ívání mobilního telefonu s dotykov'm displejem, je psaní textu. Jak ji& bylo zmín$no d#íve, n$které opera"ní systémy sice obsahují funkci hlasového vstupu, ale ne v%echny aplikace jsou schopny ji pou&ít, a navíc ji není mo&né pou&ívat kdekoliv, nap#. v hlu"ném prost#edí je mnoho ru%iv'ch element(, které tuto funkci d$lají nepou&itelnou. P#i pou&ití softwarové klávesnice na displeji je to pak absence haptick'ch symbol(. Nejenom &e nejsou zv'razn$ny referen"ní klávesy, ale není mo&né ani nahmatat klávesy jako takové, proto&e jsou pouze zobrazeny na displeji.
GEN O"-(H"01'%1-(#+,A05'-'(%:1/(./?' Samostatn' pohyb je pro zrakov$ posti&ené osoby velmi obtí&n', a proto velmi "asto vyu&ívají vidícího pr(vodce, kter'm jim pomáhá p#i nau"ení trasy. Pr(vodce n$kolikrát projde trasu se zrakov$ posti&en'm "lov$k a popisuje mu prost#edí a také r(zné p#eká&ky, na které by si m$l dát pozor. Pokud se nevidom' "lov$k trasu nau"í, je schopn' ji v$t%inou absolvovat sám bez pomoci. Nev'hodou takového p#ístupu je mo&nost zm$ny n$jakého úseku trasy. Nevidom' poté m(&e narazit na p#eká&ku, která v daném míst$ p#i jeho u"ení nebyla. P#edchozího faktu je ale mo&né vyu&ít k navigování nevidom'ch v interiéru pomocí mobilního za#ízení. Takové za#ízení poté nahradí vidícího pr(vodce a p#i "astém aktualizování popis( trasy tak m(&e p#edejít situaci, kdy jde zrakov$ posti&en' po známé trase na které se n$co zm$nilo a o zm$n$ nemá tu%ení.
5
Anal#za problém& a technologií (2) Navigaci, která vyu&ívá u&ivatelovy schopnosti orientace p#i dostate"ném popisu okolí, je mo&né naz'vat pasivní navigací, proto&e nepou&ívá aktivní synchronizaci aktuální polohy u&ivatele a jeho p#edpokládané polohy u&ivatele v systému. Spoléhá tedy pouze na orienta"ní schopnost u&ivatele. Pro správné fungování pasivní navigace (navigace pomocí pr(vodce) je velmi d(le&ité správn$ vybrat po"áte"ní a koncov' bod trasy pro její správné vypo"ítání. GENEC PA83/'8+#?':/"9J' V'b$r správného bodu trasy z mno&iny n$kolika tisíc bod( celé budovy je pro zrakov$ posti&ené velik'm problémem. Pouh' v'b$r ze seznamu hodnot nep#ichází v úvahu kv(li velikosti dat. Osob$ se zdrav'm zrakem je mo&né nabízet (na%eptávat) nejvhodn$j%í body p#i zadávání textu, ale lidé se zrakov'm posti&ením tuto funkci pou&ít nemohou. Navíc m(&e dojít k p#eslechnutí správného názvu bodu nebo následn$ k p#episu p#i zadávání. Tudí& nelze "ist$ pou&ít prosté zadávání názvu bodu pomocí textu. Velikost mno&iny bod( by bylo mo&né sní&it pomocí zavedení kategorií bod(, v&dy ale m(&e nastat situace kdy bude seznam bod( v budov$ tak velik', &e ani kategorizace nepom(&e.
GEQ R(%$/%&'H/"M(04.'4B#J' Pro alespo) "áste"nou synchronizaci pozice u&ivatele s jeho p#edpokládanou pozicí v systému bude naviga"ní aplikace vyu&ívat binární grafické kódy. Jejich na"tením pomocí vestav$ného fotoaparátu mobilního telefonu a následném dekódováním obsahu bude mo&né synchronizovat p#edpokládanou pozici u&ivatele s jeho aktuální pozicí, princip pasivní navigace v%ak z(stane zachován. Existuje celá #ada binárních grafick'ch kód( [2] [4]. Na obrázku 2-2 jsou t#i velmi známé a roz%í#ené kódy. BeeTagg [5] se v poslední dob$ za"al hodn$ pou&ívat i v !eské republice. Jeho nev'hodou ov%em je, &e v sob$ nenese informaci, ale pouze její identifika"ní znak, podle kterého je poté informace vyhledána v internetové databázi. Dal%ím binárním kódem je datová matice (data matrix). Nejv$t%í v'hodou tohoto kódu je fakt, &e kód je %í#en jako public domain tzn., &e jeho majetková autorská práva nejsou chrán$na. Alternativou datové matice je QR kód [3], kter' je nejroz%í#en$j%ím 2D "árov'm kódem ve sv$t$. Tento kód jsem vybral pro jeho v'bornou "itelnost a vysp$l' mechanizmus pro kontrolu chyb. QR kód nese informaci p#ímo v sob$, tudí& ji lze po jeho na"tení ihned dekódovat a pou&ít.
6
Anal#za problém& a technologií (2)
Obrázek 2-2: Grafické kódy
GEQEC SL'4B#' QR kód je maticov' kód (nebo dvourozm$rn' "árov' kód) vytvo#en' Japonskou spole"ností Denso-Wave v roce 1994. Název QR je odvozen z anglického „Quick Response“ (rychlá reakce), práv$ kv(li tomu, &e obsah QR kódu je mo&né velmi rychle dekódovat. Navíc lze tímto zp(sobem zakódovat mnohem více informací, ne& do klasického "árového kódu (Tabulka 2-1). Typ kódovaní chyb dat
Maximální po%et znak&
Pouze %ísla
7089 znak(
Alfanumerické znaky
4296 znak(
Binární (8 bit&)
2953 bajt(
Kanji / Kana
1817 znak( Tabulka 2-1: Datové kapacity QR kódu
Dal%í v'hodou QR kód( je mo&nost zakódovat informaci pro opravu chyb (Tabulka 2-2). Tato informace se samoz#ejm$ projeví na velikosti kódu nebo na hustot$ jednotliv'ch segment( kódu.
7
Anal#za problém& a technologií (2) Úrove'
Obnoven po chybách
Úrove' L
7% kódov'ch slov m(&e b't obnoveno
Úrove' M
15% kódov'ch slov m(&e b't obnoveno
Úrove' Q
25% kódov'ch slov m(&e b't obnoveno
Úrove' H
30% kódov'ch slov m(&e b't obnoveno Tabulka 2-2: Opravy chyb QR kódu
P#esto&e byly QR kódy p(vodn$ navr&eny pro sledování díl( v automobilové v'rob$, nyní jsou QR kódy pou&ívány v mnohem %ir%ím kontextu, nap#. aplikace zam$#ené na mobilní u&ivatele (mobilní zna"kování). QR kódy se pou&ívají nap#. pro ukládání URL adres nebo vizitek. U&ivatel poté pouze pou&ije "te"ku QR kódu v mobilním telefonu s fotoaparátem, ta zkontroluje znaky QR kódu (Obrázek 2-3: Struktura QR kódu) a následn$ jej dekóduje. Obdobnou funkci by m$la mít také mnou navrhovaná aplikace k ur"ení pozice u&ivatele.
Obrázek 2-3: Struktura QR kódu
GET ;)1/"U%&'9J9:.,',+8(*%&5+':1*1M+%?' Volba vhodného opera"ního systému pro implementaci prototypu je klí"ová. Opera"ní systém Android [1] byl zvolen hned z n$kolika d(vod(. Prvním z nich je jeho velmi rychl' rozvoj (Kapitola 2.7). Dal%ím d(vodem je %iroká otev#enost OS, veliká programátorská základna a díky tomu i kvalitní podpora v'voje. Zatím v%echna oficiáln$ vydaná za#ízení s tímto opera"ním systémem mají dotykovou obrazovku, a* u& kapacitní nebo rezistivní (Kapitola 2.1). Nespornou v'hodou je také po#izovací cena mobilního telefonu a také ceny aplikací pro syntézu hlasu nebo usnadn$ní ovládání.
8
Anal#za problém& a technologií (2) Opera"ní systém Android byl vyvinut spole"ností Google jako dal%í z mnoha opera"ních systém( pro mobilní telefony. Jeho cílová skupina u&ivatel( se nachází n$kde mezi Windows Mobile od spole"nosti Microsoft a iOS od spole"nosti Apple. Základem tohoto opera"ního systému je OS Linux. Velikou v'hodou tohoto opera"ní systému je fakt, &e se jedná o open source platformu. Díky tomu existuje veliká základna t#etích programátor( a v'vojá#(. To je jedním z d(vod( rychlého rozvoje platformy.
GEV 7/05(:14:?/"'7%#/+(#';<' Na obrázku 2-4 je architektura opera"ního systému Android. Jednotlivé sou"ásti této architektury jsou popsány v následujících kapitolách. Modrá barva zna"í kód psan' v programovacím jazyku JAVA a zelená zna"í C a C++.
Obrázek 2-4: Architektura Android OS
GEVEC W$#/+' Jádrem celého opera"ního systému je Linux 2.6. Je pou&it pro abstrakci hardware. Hlavním d(vodem pro pou&ití Linuxu je kvalitní model pro zacházení s ovlada"i a spousta ji& hotov'ch ovlada"( pro b$&n' hardware. Dále pak poskytuje správu pam$ti, proces(, #adu bezpe"nostních modul(, sí*ové moduly apod.
9
Anal#za problém& a technologií (2) GEVEG K%(5+-%J' Ve%keré knihovny opera"ního systému Android jsou psány v C a C++. Z toho vychází obrovská síla platformy jako takové. Surface manager Surface manager je zodpov$dn' za vykreslování r(zn'ch objekt( na obrazovku. Vykresluje nap#. okna, která pat#í r(zn'm aplikacím, b$&ících v r(zn'ch procesech v r(zném "ase a zaji%*uje aby byly jednotlivé pixely vykresleny tam, kam pat#í. Open GL | ES a SGL Tyto dv$ knihovny tvo#í jádro grafick'ch knihoven v OS Android. Open GL ES je 3D knihovna obsahující softwarovou implementaci umo&)ují hardwarovou akceleraci, pokud je v za#ízení dostupn' grafick' "ip. SGL slou&í pro vykreslování 2D grafiky, co& pou&ívá v$t%ina aplikací. Zajímavostí grafiky v OS Android je mo&nost pou&ití 2D a 3D grafiky v jedné aplikaci zárove). Media Framework Obsahuje ve%keré kodeky, které jsou pou&itelné na této platform$. Je zde celá #ada video kodek(, nap#. H.263, H.264 AVC, MPEG-4 SP, VP8 a dal%í. Jsou zde také v%echny audio kodeky, nap#. AAC, MP3, MIDI, Ogg Vorbis a dal%í. Dal(í knihovny FeeType je pou&ita pro vykreslování font(. V OS Android je také knihovna SQLite pou&ívaná k ukládání velkého objemu dat. Knihovna WebKit je OpenSource jádro pro vestav$n' prohlí&e". Stejné jádro pou&ívá nap#íklad Safari od spole"nosti Apple. GEVEN L?%:(,1' Hlavní sou"ástí runtime je virtuální stroj Dalvik. Android runtime byl p#izp(soben pro pou&ití na mobilních za#ízeních, kde je dostupné pouze omezené mno&ství baterie, pam$ti, v'po"etního v'konu procesoru apod. Na virtuálním stroji Dalvik b$&í DEX soubory, co& je byte kód, kter' vzniká p#i kompilování soubor( .JAR a .CLASS. Tyto soubory se p#evádí do byte kódu proto, aby byl jejich chod plynulej%í na mal'ch procesorech v mobilních za#ízeních. Jejich vyu&ívání pam$ti je velmi efektivní a sdílení dat mezi procesy je snadné díky dob#e vytvo#ené datové struktu#e. Díky tomu je mo&né spustit více virtuálních stroj( Dalvik na jednom za#ízení ve stejnou dobu a v ka&dém z nich mít spu%t$no n$kolik proces(. Core Libraries jsou napsané v jazyku JAVA. Obsahují t#ídy pro kolekce, vstupní a v'stupní rozhraní a r(zné dal%í nástroje, které mohou b't pou&ity p#i v'voji aplikací.
10
Anal#za problém& a technologií (2) GEVEQ X/",1Y+/4')/+'")*(4"01' Cel' Framework je napsan' v programovacím jazyku JAVA. Tvo#í sadu nástroj(, kterou pou&ívají v%echny aplikace v mobilním telefonu. Bez ohledu na to, zdali se jedná o aplikace p#ímo v OS, nebo aplikace dodané Google nebo aplikace od t#etích stran, v%echny pou&ívají stejnou sadu nástroj( a API. Správce aktivit Jedná se o správu &ivotního cyklu jednotliv'ch aplikací. Obsahuje nap#íklad takzvan' zp$tn' zásobník, kter' vyu&ívají aplikace p#i pr(chodu zp$t z r(zn'ch proces( a vláken. Správce balí%k& Udr&uje informace o aplikacích nainstalovan'ch na daném za#ízení. V p#ípad$ sta&ení nové aplikace p#es Android Market nebo p#i ru"ní instalaci z jiného zdroje správce balí"k( kontroluje a udr&uje informace o v%ech nainstalovan'ch aplikacích a o slu&bách, ke kter'm vy&adují p#ístup. Sdílení obsahu Toto je v'hradní vlastností OS Android. Tento Framework dovoluje aplikacím sdílet data s ostatními. Android tohoto vyu&ívá p#i správ$ kontextu tzn., &e v jednom kontextu jsou dostupná v%echna data s ním související, nap#. ve%keré kontakty a adresy tak mohou b't dostupné kterékoliv aplikaci, která je chce pou&ít. To se samoz#ejm$ ned$je samovoln$, proto&e aplikace musí mít povolení od Správce balí"k( k vyu&ití t$chto informací. Dal(í nástroje Správce oken slou&í ke spravování po#adí oken a aplikací. Ur"uje, které okno má b't úpln$ nejv'%e apod. Správce telefonií je pou&it ve v%ech aplikacích vyu&ívající GSM. Toto API je vyu&ito nap#íklad pokud tvo#íme novou aplikaci pro volání. Správce zdroj( slou&í ke správ$ lokalizovan'ch text(, obrázk( nebo nap#íklad layout( vyu&it'ch v aplikacích. Zobrazovací systém obsahuje ve%keré základní prvky UI, nap#. tla"ítka, textová pole, seznamy apod. Jeho dal%í úlohou je také správa událostí (klik na tla"ítko atd.) a vykreslování layout(.
GEZ P1/=1'7%#/+(#';<' Android je nejrychleji rostoucí platformou v dne%ní dob$. Dnes ji& existuje t#etí generace opera"ního systému Android (Tabulka 2-3), ten je v%ak p#izp(soben p#evá&n$ pro pou&ití na tabletech. Jedním z d(vod( velmi rychlého rozvoje této platformy je obrovská základna t#etích v'vojá#(. Spousta nov'ch funkcí, které obsahuje dne%ní systém, byla nejd#íve vyvinuta n$k'm zven"í. Bude-li nás zajímat, na co se m(&eme t$%it v dal%ích verzích toho opera"ního systému, je vhodné prozkoumat neoficiáln$ vydané verze. V$t%ina takto vyvinut'ch nov'ch funkcí je postupn$ p#epracována a integrována do nov'ch verzí systému.
11
Anal#za problém& a technologií (2)
Platforma
API level
Distribuce
Android 1.5
3
2,7 %
Android 1.6
4
3,5 %
Android 2.1
7
27,2 %
Android 2.2
8
6 ,9 %
Android 2.3
9
0,8 %
Android 2.3.3
10
1,7 %
Android 3.0
11
0,2 %
Tabulka 2-3: Distribuce verzí Android OS k 1. 4. 2011
První verze opera"ního systému Android, která byla nasazena na konkrétní za#ízení, byla vydána v b#eznu roku 2009. Byla vytvo#ena pro první mobilní telefon s Androidem, kter' dostal název Android „dev phone“ (HTC G1). Tato verze obsahovala pouze základní funkce, nap#íklad nebylo mo&né pou&ívat bluetooth na cokoliv jiného ne& p#ipojení handsfree a volání, to bylo do jisté míry také zap#í"in$no star'm API, které neobsahovalo p#íli% nástroj(.
"#$%&'$!,),! "#$%&'$!,)-! "#$%&'$!,)-)-! "#$%&'$!-).! "#$%&'$!()*! "#$%&'$!()+!
"#$%&'$!,)(!
Obrázek 2-5: Distribuce verzí Android OS k 1. 4. 2011
Posledními verzemi tohoto opera"ního systému pro mobilní telefony je v 2.3.3 (Gingerbread) z února leto%ního roku. Ve stejnou dobu, jako vy%la verze pro mobilní telefony, uvedl Android na trh novou verzi systému speciáln$ vyvinutou pro tablety, v 3.0 (Honeycomb). Tyto opera"ní systémy se od p(vodní verze li%í %irokou 12
Anal#za problém& a technologií (2) paletou funkcí. V'znamn$ se také zlep%ila rychlost systému díky novému virtuálnímu stroji Dalvik a jeho funkci JIT (z anglického Just-In-Time) kompileru. Dále pak p#ibyla funkce wifi-hotspot pro snadné sdílení internetového p#ipojení z mobilního za#ízení p#es wifi. Zajímavou je ur"it$ nov$ p#idaná podpora pro Adobe Flash. Ohromného pokroku také platforma dosáhla v oblasti správy opera"ní pam$ti a v'dr&e baterie, která je u mobilního za#ízení velmi d(le&itá. GEZEC 7%#/+(#'W[\' Opera"ní systém Android od verze 2.2 (Froyo) obsahuje mimo jiné funkce, také JIT neboli dynamick' p#eklad programu. Jedná se o metodu, která napomáhá zv'%ení v'konu po"íta"ov'ch program(. Jednodu%e #e"eno jde o p#eklad kódu, nap#. v programovacím jazyku JAVA, do byte kódu, kter' m(&e b't dne%ními procesory velmi rychle zpracováván.
13
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3)
N ]^(9:?@&0&'(,)*1,1%:"01'?9%"#_?@&0&')+?`(:&':1*1M+%?'%1-(#+,A,' Existuje n$kolik zp(sob(, jak umo&nit nevidom'm pou&ívat mobilní telefon. Dokonce se postupn$ objevují i implementace, které jim umo&ní pou&ívat za#ízení s dotykov'm displejem. V následujících kapitolách jsou n$které z nich popsány.
NEC O"'a/+-%('")*(4"01' Jedná se o aplikace, které umo&ní posti&en'm osobám pou&ívat n$které funkce mobilního telefonu. NECEC <J%:.="'b1U(' Aby v(bec byli zrakov$ posti&ení schopni pou&ívat jak'koliv mobilní telefon, pot#ebují v první #ad$ aplikaci, která jim doká&e, alespo) "áste"n$, nahradit zrak. Jednou z hlavních aplikací takového typu jsou syntetizátory #e"i. Jedná se o aplikace, které jsou schopny p#evést prost' text na #e". Existuje celá #ada aplikací, které toto dovedou. Jednou z implementací aplikace pro syntézu #e"i je nap#íklad Mobile Speak, kter' je ur"en' pro opera"ní systém Symbian. V&dy je mo&né nalézt alespo) jednu implementaci takové aplikace pro ka&dou platformu. Nev'hodou v%ak je nutnost opera"ního systému v mobilním za#ízení, u kterého chceme syntézu #e"i pou&ívat. To znamená, &e na oby"ejn'ch mobilních telefonech ji pou&ívat nelze. NECEG R/"(**+-+')&9,+'/1)/1=1%:+-$%+'-(8/"01,(' Na univerzit$ Tampere t'm v$dc( vyu&il mobilní za#ízení s dotykov'm displejem a jeho vibrace k reprezentaci Braillova písma [17] [18]. Fin%tí v$dci vyvinuli software, kter' je schopn' p#evád$t znaky Braillova písma na vibrace. Jeden symbol Braillova písma (viz. Obrázek 3-1: Braillovo písmo) je reprezentován dv$ma sloupci bod( po t#ech #ádcích. Jejich software postupn$ vyjad#uje jednotlivé body symbolu Braillova písma pomocí vibrací. Po p#ejetí znaku prstem je symbol p#eveden do sledu vibrací po sloupcích následovn$: Jako první se vezme bod v levém horním rohu, následuje dal%í bod pod ním a tak dále a& jako poslední je bod v pravém dolním rohu. Pokud se na dané pozici nachází pln' bod, je reprezentován silnou vibrací. V p#ípad$ prázdného bodu je jedna silná vibrace nahrazena sérií, t$sn$ po sob$ jdoucích vibrací. Metoda postupného p#ejí&d$ní prstem po symbolech a jejich "tení se v%ak ú"astník(m testu zdála slo&itá.
15
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3)
Obrázek 3-1: Braillovo písmo
Z tohoto d(vodu p#i%el finsk' t'm s alternativním zp(sobem. P#i pou&ití tohoto re&imu se sta"í dotknout displeje a mobilní telefon za"ne text automaticky p#evád$t do sledu vibrací. Jednotlivé vibrace jsou od sebe v rámci symbolu vzdáleny 360 milisekund. Podle test( pr' chvíli trvá návyk na takovouto reprezentaci Braillova písma. Jakmile se s ní v%ak testovaní blí&e seznámili, za"ali se zlep%ovat a "íst rychleji. NECEN \14*"' Tekla [15] je projekt, zab'vající se interakcí posti&en'ch osob a mobilních za#ízení. Ve v$t%in$ p#ípad( se jedná o aplikace umo&)ující "áste"né pou&ívání mobilních za#ízení posti&en'm osobám (p#evá&n$ t$lesn$). Mezi v'sledky tohoto projektu je nap#íklad zajímavé ovládání iPodu od spole"nosti Apple pomocí elektronického kole"kového k#esla, nebo také ovládání mobilního telefonu pomocí p$tism$rného joystiku.
NEG O"'9J9:.,+-.'a/+-%(' Tyto aplikace umo&ní u&ivateli ovládat cel' mobilní telefon. Je mo&né je rozd$lit do dvou odli%n'ch skupin. První skupinou jsou aplikace, které nahrazují systémové menu vlastním,
16
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3) které se zrakov$ posti&en'm u&ivatel(m lépe ovládá Do druhé skupiny je mo&né za#adit aplikace, které umo&ní u&ivateli vyu&ívat p(vodní systémové menu tím, &e mu jej reprezentují nap#íklad pomocí hlasu a nebo pozm$ní zp(sob chování a ovládání tak, aby vyhovovali nárok(m zrakov$ posti&eného u&ivatele. NEGEC 7)*(4"01'2<\' Jedná se o aplikaci pro mobilní telefony s Windows Mobile od Patrika Pospí%ila [19]. Aplikace slou&í k usnadn$ní pou&ívání telefonu tím, &e nahrazuje p(vodní domovskou obrazovku. Ve v'chozím re&imu je na displeji mobilního telefonu zobrazena standardní telefonní klávesnice plus jedno funk"ní tla"ítko a klávesa zp$t (Obrázek 3-2). Autor pro pou&ití aplikace doporu"uje nalepit fólii na displej mobilního telefonu tak, aby se sní&ila jeho citlivost. Dále se pak jednotlivé klávesy mají ozna"it n$jak'mi hmatn'mi prvky tak, aby je zrakov$ posti&en' "lov$k snadno nalezl a mohl pou&ít.
Obrázek 3-2: Aplikace PST (vpravo) a ukázka pou"ití (vlevo)
Aplikace také spoléhá na p#ítomnost n$kolika hardwarov'ch kláves, které jsou pou&ity k ovládání telefonu. Nev'hodou v%ak je, &e v dne%ní dob$ se prodává ji& celá #ada mobilních telefon( s opera"ním systémem Windows mobile, které tyto klávesy nemají. Dal%í obrovskou nev'hodou je také cena, a to a* u& cena samotné aplikace, nebo cena mobilního telefonu s ji& upravenou dotykovou plochou a p#edinstalovanou aplikací. NEGEG P+(01';-1/'-'(;<' V mobilních za#ízeních od firmy Apple, jako jsou nap#íklad iPad, iPhone nebo iPod, je dostupná funkce nazvaná Voice Over [9]. Tato funkce má umo&nit pou&ívání za#ízení "lov$ku s vadou zraku.
17
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3) Funguje tak, &e je mo&né jezdit prstem po displeji a hlasov' syntetizátor vyslovuje to, co se práv$ nachází pod prstem. Pro aktivaci (nebo klik) nástroje, aplikace telefonního "ísla "i písmena na klávesnici sta"í zastavit nad po&adovanou polo&kou a dvakrát poklepat na dotykovou plochu displeje. Pro krok zp$t, nap#íklad v menu, je zde dostupné gesto, pohyb t#emi prsty zprava doleva. Práce s tímto softwarem je pom$rn$ jednoduchá. Rozhraní ve%ker'ch ovládacích prvk( z(stává nezm$n$no, pouze je p#ed nimi „"tecí a potvrzovací“ rozhraní aplikace Voice Over. NEGEN 7%#/+(#'"'cd9%"#%3%&e' V opera"ním systému Android nalezneme celou #adu nástroj( pro usnadn$ní práce zrakov$ posti&en'm osobám s mobilním telefonem. Ve%keré tyto nástroje jsou zcela zdarma. Nap#íklad nástroj talkback, kter' slou&í pro syntézu #e"i. Automaticky také p#ed"ítá text na obrazovce, nadpisy aplikací a dal%í d(le&ité texty. Na jin'ch platformách je taková aplikace podobné funkce zpoplatn$na. Talkback obsahuje v základu spoustu jazyk(, bohu&el "esk' jazyk zatím není k dispozici. Je mo&né za mal' obnos zakoupit "esk' jazyk pro dal%í aplikaci na syntézu #e"i, Svox classic. Samotná aplikace je také zdarma. Dal%í nástroje, jako jsou soundback a kickback, slou&í p#evá&n$ k haptické odezv$ stisku ovládacích prvk( na displeji mobilního telefonu. NEGEQ ]J19fX/11'F+,1'gh"/-(%'<51**i' Jedná se o aplikaci [20] pro opera"ní systém Android, která umo&)uje pou&ívat mobilní telefon bez nutnosti sledovat displej. Tato aplikace pou&ívá zkratky pro nej"ast$ji pou&ívané funkce a informace. Zkratky jsou realizovány pomocí gesta. Ka&dá zkratka p#edstavuje pohyb po imaginární klávesnici z klávesy p$t na klávesu jedna a& dev$t, z nich& je "íslo p$t vynecháno.
18
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3)
7 1 Obrázek 3-3: Ukázka gest (zkratek)
Aplikace má rozhraní navr&ené tak, &e je celá obrazovka "erná a jsou na ní velik'm bíl'm písmem psány informace (Obrázek 3-4). Tyto informace jsou zárove) syntetizovány tak, aby aplikaci mohl pou&ívat i úpln$ nevidom' "lov$k.
Obrázek 3-4: Eyes-Free Home
V'b$r z aplikací, které nejsou dostupné pod rychl'mi volbami, probíhá obdobn'm zp(sobem jako rychlé aplikace. Tahem prstu od st#edu a postupn'm kruhov'm pohybem je vybráno první písmeno po&adované aplikace. Poté je mo&né aplikaci ze zbylého v'b$ru spustit obdobn$ jako rychlou zkratku, s tím rozdílem, &e jsou názvy aplikací p#ed"ítány, jako u v'b$ru prvního písmena aplikace. 19
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3) Psaní v Eyes-Free Shellu probíhá ve dvou fázích, které probíhají pomocí podobn'ch gest jako v'b$r aplikace. V první fázi u&ivatel stiskne a podr&í displej v libovolném míst$. Vy"ká na krátkou vibraci, po které pohybem prstu v jednom ze "ty# sm$r( vybere po&adovanou skupinu symbol( (Obrázek 3-5). Sm$ry jsou vertikální, horizontální a dva diagonální. Ve vybrané skupin$ ji& pouze pohybem v r(zn'ch sm$rech vybírá mezi symboly. Jakmile vzdálí prst od dotykové plochy, je poslední symbol vybrán a zapsán.
Obrázek 3-5: Psaní v Eyes-Free Home
Ovládání této aplikace je velmi slo&ité a vy&aduje pom$rn$ mnoho "asu na zvyknutí a natrénování v'b$ru aplikace ke spu%t$ní. Dal%í nev'hodou je absence funkce pro nastavení této aplikace jako v'chozí domovské aplikace. To znamená, &e je nutné ji p#ed pou&itím v&dy spustit, pokud nez(stane zapnutá nebo je telefon práv$ restartován apod. Pro nevidomého "lov$ka tedy skoro nemo&né tuto aplikaci bez dal%í pomoci pou&ívat.
20
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3) NEGET h+8(*1'700199(8(*(:J' Mobile Accessibility [22] od spole"nosti Code Fatory je dal%í aplikací pro Android, která má usnadnit pou&ívání mobilního telefonu s tímto opera"ním systémem zrakov$ posti&en'm osobám. Její ovládání je podobné implementaci Voice Over. Aplikace Mobile Accessibility je dostupná pro v$t%inu platforem na dne%ním trhu. Krom$ opera"ního systému Android existují také dv$ verze pro Symbian, jedna pro mobilní telefon s dotykovou obrazovkou a druhá pro telefon s klasickou klávesnicí. Dále pak existuje verze pro BlackBerry, a také pro dotykové i klasické mobilní telefony s opera"ním systémem Windows Mobile. Oproti Marvin Shellu (Kapitola 3-7) má tato aplikace hned n$kolik v'hod. První z nich je integrovaná vlastní TTS aplikace. Dal%í v'hodou je integrovaná qwerty klávesnice. Neposlední v'hodou je mo&nost nastavení této aplikace jako domovské obrazovky, díky tomu je mo&né ji nastavit tak, aby se aplikace spustila nap#íklad po restartování telefonu nebo po jejím ukon"ení systémem p#i nedostatku opera"ní pam$ti. P#i jejím nainstalování tedy u&ivatel získá kompletní sadu nástroj(, které mu umo&ní pou&ívat v%echny funkce mobilního telefonu.
Obrázek 3-6: Mobile Accessibility
Ovládání aplikace Mobile Accessibility je jednoduché díky menu s ikonami, které je zobrazeno na úvodní obrazovce. V'b$r polo&ek z menu je mo&né realizovat dv$ma 21
Existující implementace usnad'ující pou"ití telefonu nevidom#m (3) zp(soby. První z nich je standardní v'b$r pomocí kliknutí na danou polo&ku. Vzhledem k tomu, &e po"et a rozmíst$ní polo&ek je stejné bez ohledu na dal%í aplikace "i telefon, na kterém je aplikace spu%t$na. Druh' zp(sob v'b$ru je realizován pomocí prostého procházení polo&ek menu. U&ivatel pomocí gesta posouvá kurzor z jedné polo&ky menu na druhou. P#ejetí prstem po displeji seshora dol( znamená dal%í polo&ku, p#ejetí prstem po displeji v opa"ném sm$ru posune kurzor na p#edchozí polo&ku. Název vybrané polo&ky je v&dy syntetizován pomocí vestav$ného TTS, tak&e u&ivatel ví, na které polo&ce menu se kurzor nachází. Potvrzení vybrané polo&ky menu probíhá dvojklikem prstu na displej. Jak bylo zmín$no na za"átku této kapitoly, aplikace obsahuje vlastní ozvu"enou softwarovou klávesnici. Integrovaná klávesnice má layout na %í#ku displeje. Díky tomu jsou klávesy pom$rn$ veliké a psaní na této klávesnici je pohodlné. U nevidomého u&ivatele probíhá vkládání textu tak, &e p#ejí&dí prstem po displeji, p#i"em& mu integrované TTS syntetizuje, kterou klávesu má aktuáln$ pod prstem. Po zvednutí prstu z displeje se symbol automaticky vlo&í nap#íklad do textového pole. Tato aplikace je mnohem lépe p#izp(sobena pro pou&ití zrakov$ posti&en'mi u&ivateli. Díky ní mohou b't pou&ívány v%echny funkce mobilního telefonu s dotykov'm displejem zrakov$ posti&en'mi.
22
Návrh ovládání mobilního telefonu (4)
Q O$-/5'+-*$#$%&',+8(*%&5+':1*1M+%?' P(vodním zám$rem práce bylo navr&ení ovládání pouze pro naviga"ní aplikaci. Po prvním testování z tohoto zám$ru v%ak bylo upu%t$no a místo toho bylo vytvo#eno ovládání celého telefonu, co& spl)uje po&adavky u&ivatel( prvního testování.
QEC 2+?=1')+,+0&'#+:J4+-.')*+05J' V'hodou ovládání pouze pomocí dotykové plochy mobilního telefonu, bez pou&ití dal%ích pom(cek, je z#ejmá. U&ivatel s sebou nemusí nosit dal%í za#ízení, navíc mobilní telefon má v$t%inou u sebe. QECEC I+)*%3%&'#(9)*1@1'+'5,":":1*%.')/-4J' Prvním mo&n'm #e%ením pro docílení samostatného ovládání pouze pomocí telefonu je doplnit displej mobilního telefonu o prvky, které m(&e u&ivatel rozli%it pomocí hmatu, a tak snadno ur"it, kter' ovládací prvek zrovna pou&ívá. Toto #e%ení nap#íklad vyu&ívá aplikace PST (viz. 3.3 Aplikace PST). P#i pou&ití za#ízení s rezistivním dotykov'm displejem je vhodné pou&ít vystouplé prvky jako v uvedeném p#íkladu. U kapacitního displeje tento zp(sob vyu&ití mo&n' není, z d(vodu techniky snímání dotyku. Je tedy nutné pou&ít silnou fólii, p#es kterou ji& kapacitní displej dotyk nezaznamená, a v ní otvory. Tyto otvory je mo&né jednak v %iroké fólii snadno nahmatat, ale zárove) zde bude také fungovat snímání dotyku. Vzhledem k vysoké citlivosti snímání kapacitního dotykového displeje m(&e b't hledání takto ozna"en'ch ovládacích prvk( pom$rn$ slo&ité. V$t%ina mobilních telefon( s opera"ním systémem Android má kapacitní dotykov' displej, kter' není nejvhodn$j%í pro pou&ití tohoto #e%ení. QECEG <%&`1%&')+U:?'+-*$#"0&05')/-4>' Druh'm mo&n'm #e%ením problému s ovládáním bez dal%ích za#ízení je sní&ení po"tu ovládacích prvk(. Ovládacích prvk( musí b't pou&ito tak málo, aby bylo mo&né ur"it jejich polohu pouze z popisu, bez nutnosti pou&ití p#ídavn'ch hmatateln'ch prvk( (Obrázek 4-1).
23
Návrh ovládání mobilního telefonu (4)
Textové popisky nap#íklad pro screen reader
Obrázek 4-1: Pou"ití malého po%tu ovládacích prvk& a jejich rozmíst!ní
Toto #e%ení spoléhá na u&ivatel(v cit pro orientaci prstu po displeji za#ízení. Tuto variantu je mo&né je%t$ roz%í#it o pou&ití kláves hlasitosti, proto&e tyto dv$ klávesy mají v%echny mobilní telefony s opera"ním systémem Android. Jejich nespornou v'hodou je samoz#ejm$ jejich hmatatelnost, tudí& mohou b't snadno nalezeny. P#i navigaci by mohli b't pou&ity práv$ tyto klávesy pro pohyb po trase. Na tyto klávesy je navíc mo&né namapovat více funkcí a to bu+ v závislosti na stavu, ve kterém se aplikace nachází, nebo také podle délky stisku klávesy. Nev'hodou malého po"tu ovládacích prvk( je obtí&né zadávání textu. Jedním z mo&n'ch #e%ení je pomocí dvou ovládacích prvk( listovat seznamem písmem, dal%ím tla"ítkem potvrdit v'b$r znaku a posledním tla"ítkem odstranit symbol. Takové zadávání textu je ov%em velmi zdlouhavé. Dal%í nev'hodou tohoto #e%ení je potom nemo&nost pou&ívat v$t%í po"et funkcí pomocí jednoho stisku. Je v&dy nutné vybrat po&adovanou funkci ze seznamu a potvrdit. Tento p#ístup je také velmi "asov$ náro"n' a ve stresov'ch situacích, jako m(&e b't ztráta orientace na neznámém míst$, nevhodn'.
QEG 2+?`(:&,'1^:1/%&5+'="b&=1%&' Pou&ití externího za#ízení ke vzdálenému ovládání mobilního telefonu je velmi v'hodné, proto&e je zrakov$ posti&en' u&ivatel schopn' snadno rozeznat jednotlivé ovládací prvky bez toho, ani& by hrozilo jejich necht$né pou&ití, jako je tomu u p#edchozích #e%ení.
24
Návrh ovládání mobilního telefonu (4) Nev'hodou tohoto #e%ení je v%ak fakt, &e u&ivatel musí nosit u sebe dv$ za#ízení, p#i"em& pouze mobilní telefon bez ovládacího za#ízení tak#ka nevyu&ije. QEGEC j161%&'91/-1/f4*(1%:' ,e%ení ovládání mobilního telefonu tímto zp(sobem lze, jak ji& název napovídá, rozd$lit na dv$ samostatné "ásti. V naviga"ní aplikace je serverová "ást ovladání, která kontroluje bluetooth a "eká na p#ipojení klienta. Klientem je v tomto p#ípad$ externí za#ízení s hardwarovou klávesnicí, které po navázání spojení se serverem odesílá kódy kláves, které jsou stisknuty. Nev'hodou tohoto p#ístupu je nestandardizované spojení. To má za následek vymezení n$kolika nebo dokonce pouze jednoho za#ízení, kter'm lze aplikaci ovládat. QEGEG <:"%#"/#(=+-"%.'b161%&' Kv(li nev'hodám pou&ití server-klient ovládání by bylo vhodné pro komunikaci mezi ovládáním a mobilním telefon standardizovan' protokol. Jedním z mo&n'ch protokol( je bluetooth profil HID (human interface device). Pou&itím standardizovaného protokolu pro spojení umo&)uje pou&ití mnohem %ir%ího spektra ovládacích za#ízení. Navíc toto #e%ení není závislé na konkrétním ovládacím za#ízení s konkrétním a velice specifick'm softwarov'm vybavením.
QEN O$-/5'+-*$#$%&')+')/-%&,':19:+-$%&' Z prvního testování (Kapitola 8.1) je patrné, &e osobám se zrakov'm posti&ením nevadí pou&ívat externí za#ízení k ovládání mobilního telefonu s dotykov'm displejem. Nejvíce u tohoto #e%ení oce)ují snadnou rozeznatelnost ovládacích prvk( hardwarové klávesnice. Z tohoto d(vodu by bylo vhodné navrhnout takové #e%ení, které umo&ní u&ivatel(m s vadou zraku ovládat v%echny funkce mobilního telefonu a ne pouze jednu aplikaci (Naviterier). Pro komunikaci mezi ovládáním a mobilním telefonem byl zvolen bluetooth profil HID, kter' je standardním protokolem pro komunikaci mezi ovládan'm za#ízením a ovlada"em. Aby bylo mo&né pou&ívat ve%keré funkce mobilního telefonu bez omezení pouze s pou&itím dálkového ovládání, ovlada" musí mít bu+ mnoho tla"ítek (ovládání telefonu, psaní písmen a "ísel) nebo musí mít n$kolik re&im(, ve kter'ch se m$ní v'znam jednotliv'ch kláves. Byl vybrán druh' návrh s n$kolika re&imy klávesnice. Hlavním d(vodem této volby byla mo&nost pou&ití men%ího mno&ství tla"ítek, a tak i men%ího ovládacího za#ízení. Ideálním ovládacím za#ízením je nap#íklad bezdrátová numerická klávesnice a to hned z n$kolika d(vod(.
25
Návrh ovládání mobilního telefonu (4) Prvním z nich je po"et kláves. P#i porovnání s b$&n'm mobilním telefonem s hardwarovou klávesnicí má obdobn' po"et kláves. Navíc je mo&né pou&ít ov$#en' zp(sob zadávání textu, ka&dá klávesa obsahuje mno&inu symbol(, ze které vybírá u&ivatel ten pot#ebn' pomocí opakovaného stisku té&e klávesy. Dal%ím d(vodem jsou také rozm$ry. Bezdrátové numerické klávesnice se vyráb$jí ve více velikostech, ale daná velikost nikdy není p#íli% veliká, aby u&ivatel nemohl nostit takové ovládací za#ízení pohodln$ s sebou. V neposlední #ad$ je to také mo&nost volby ovládacího za#ízení. Díky vyu&ití standardního komunika"ního protokolu není toto #e%ení závislé na konkrétním za#ízením, kde by hrozilo, &e s ukon"ením jeho v'roby skon"í také pou&itelnost tohoto #e%ení. Podrobn$j%í popis externího ovládání je dostupn' v Kapitole 7.3 Externí ovládání.
26
U"ivatelské rozhraní aplikace (5)
T d`(-":1*94.'/+=5/"%&'")*(4"01' U&ivatelské rozhraní musí b't jednoduché, aby mohli zrakov$ posti&ení aplikaci snadno ovládat. Pomoci by jim v tom m$la bezdrátová klávesnice s nastaviteln'mi re&imy ovládání. V%echny "asto pou&ívané funkce tak budou mít dostupné stiskem jedné klávesy. Popisy tla"ítek bude mo&né nechat p#e"íst pomocí syntetizátoru Svox [7] Text-To-Speech (TTS), kter' je v opera"ním systému Android.
TEC 7/05(:14:?/"'")*(4"01' Naviga"ní systém obsahuje "ty#i "ásti (Obrázek 5-1). První z nich je ji& zmi)ovan' syntetizátor Svox TTS. Jedná se o externí aplikaci, která p#evádí text na zvuk. Sta"í tedy, aby byla zapnuta a aby byl ve%ker' v'stup z aplikace sm$rovan' na obrazovku telefonu v textové podob$. Dále je také mo&né inicializovat si instanci TTS pro aplikaci a posílat do TTS p#ímo text, kter' má b't syntetizován. Pro na"ítání QR kód( je pou&ita externí voln$ %i#itelná aplikace Barcode scanner [8], která doká&e na"íst QR kód a vrátit jeho obsah v textové podob$.
Svox TTS Klávesnice
Zvuková syntéza textu Ovládací p#íkazy
Naviterier
Naviterier
Po&adavek na na"tení QR kódu
Barcode
Na"ten' QR kód
scanner
jako text
Obrázek 5-1: Zjednodu(ená architektura navrhovaného systému
27
U"ivatelské rozhraní aplikace (5) Dal%í sou"ástí je slu&ba Klávesnice Naviterier b$&ící na pozadí systému. Její úlohou je odchytávání událostí stisku klávesnice a jejich p#ípadná úprava. Její v'znam je p#i pou&ití externí bezdrátové klávesnice velik'. Poslední ze sou"ástí naviga"ního systému je samotná naviga"ní aplikace Naviterier. Tato aplikace se stará o samotn' proces navigování od samotného v'b$ru a na"tení popisu budovy p#es zadání v'chozího a cílového bodu, a& po navigování u&ivatele po krocích. Podrobné informace o naviga"ní aplikaci Naviterier a ovládací slu&b$ Naviterier klávesnice b$&ící na pozadí systému je popsán v Kapitole 7: Realizace.
TEG X?%401' Funkce popsané v následujících kapitolách pochází p#edev%ím z doporu"ení v diplomové práci Jana Vystr"ila a mojí bakalá#ské práci. Jejich v'znam byl ji& d#íve zkoumán a v$t%ina z nich se ukázala jako velmi pot#ebná. Po spu%t$ní aplikace se automatick' spustí funkce pro v'b$r schéma budovy, ve které chce b't u&ivatel navigován (Obrázek 5-2). Po vybrání schématu je u&ivatel automaticky p#esm$rován na v'b$r po"áte"ního a koncového bodu trasy.
Obrázek 5-2: V#b!r mapy budovy
TEGEC K/+4'=)3:' Tato funkce p#esune ukazatel stávající polohy u&ivatele na p#edchozí krok trasy a tento krok poté vypí%e na obrazovku a ode%le do TTS k hlasové syntéze.
28
U"ivatelské rozhraní aplikace (5) TEGEG 74:?$*%&'4/+4' Aktuální krok je funkce, která umo&ní u&ivateli opakovan' poslech aktuálního úseku trasy. Je zde z d(vodu, &e by návod pro dan' úsek trasy mohl b't slo&it' a u&ivatel by jej nepochopil hned na první poslechnutí, nebo pro p#ípad pou&ití aplikace v hlu"ném prost#edí, kde by mohl "ást popisu úseku p#eslechnout. TEGEN I"*6&'4/+4' Tato funkce p#esune ukazatel stávající polohy u&ivatele na dal%í krok trasy a znovu tento krok vypí%e na obrazovku a ode%le do TTS k hlasové syntéze. TEGEQ !,3%(:'a/+-1_')+)(9?' Mo&nost zm$ny úrovn$ popisu vypl'vá z doporu"en'ch zm$n v mojí bakalá#ské práci. Ka&d' u&ivatel toti& pot#ebuje mén$ "i více informací o okolí, aby byl schopn' pohodlného samostatného pohybu v neznámém prostoru. Tato funkce tedy p#epíná mezi dv$ma úrovn$mi popisu, tak&e si u&ivatel m(&e zvolit podrobn' popis okolí a pr(chodu trasy p#i první náv%t$v$ a p#i dal%ích náv%t$vách m(&e vyu&ívat pouze stru"n$j%í verzi. TEGET ;-3b1%&')+=(01' Po zvolení této funkce se na obrazovku telefonu vypí%e umíst$ní QR kódu. Toto umíst$ní odpovídá pozici QR kódu, kter' ozna"uje aktuální pozici u&ivatele v systému. Po op$tovném stisku klávesy 5 se spustí externí aplikace Barcode scanner (Obrázek 5-1), která spustí fotoaparát p#ístroje a u&ivatel bude moci na"íst QR kód k ov$#ení jeho polohy. Pokud na"ten' QR kód odpovídá kódu p#edpokládané pozice u&ivatele, u&ivatel m(&e pokra"ovat dál v trase a je o tomto stavu informován. Dal%í mo&nou situací je, &e u&ivatel na"te kód, kter' neodpovídá jeho pozici. V takovém p#ípad$ je u&ivatel informován o tom, &e se%el z trasy a kde se momentáln$ nachází. Aplikace poté sama p#epo"ítá z nové pozice trasu k cíli, po které je u&ivatel okam&it$ navigován správn'm sm$rem. TEGEV ;#94+U(:'%"'kl' Tato funkce umo&ní u&ivateli najít nejbli&%í toalety. Po zvolení funkce odsko"it na WC je nalezena nejbli&%í toaleta a je k ní vytvo#ena trasa. Cílová pozice v%ak z(stává nezm$n$na, tak&e jakmile u&ivatel dorazí k toaletám, je z toho místa vypo"ítána nová trasa sm$rem k cíli. Je toti& zbyte"né, aby se u&ivatel vracel na p(vodní místo, kde tuto funkci pou&il, kdy& je mo&né, &e toalety byli stejn'm sm$rem jako jeho cílov' bod. Je také mo&né, &e se nejbli&%í toalety nachází mimo p(vodní trasu, ale existuje od nich jiná, lep%í trasa do cílového bodu. P#ítomnost této funkce je velmi d(le&itá, proto&e je p#edpokládáno, &e se u&ivatel pou&ívající tuto naviga"ní aplikaci pohybuje v neznám'ch prostorách. V p#ípad$, &e má
29
U"ivatelské rozhraní aplikace (5) aplikace pomoci zrakov$ posti&enému u&ivateli b't co nejvíce samostatn'm, je p#idání této funkce samoz#ejmostí. TEGEZ W&:'=)3:'%"'="U$:14':/"9J' Tato funkce umo&ní u&ivateli jednodu%e vym$nit startovní pozici s cílovou, tudí& se bude moci snadno vrátit zp$t bez slo&itého zadávání. Po v'm$n$ startovní a cílové pozice aplikace p#epo"ítá trasu z aktuální pozice, tak&e u&ivatel nemusí dojít ani do cílového bodu, aby mohl tuto funkci pou&ít. TEGEm O+-$':/"9"' Tato funkce umo&ní vybrat novou trasu. Nejd#íve u&ivatel vybere budovu, ve které chce b't navigován, jako bezprost#edn$ po spu%t$ní aplikace. Poté je p#esm$rován na v'b$r po"áte"ního a koncového bodu (Obrázek 5-3). Formulá#e pro v'b$r po"áte"ního i koncového bodu se chovají identicky. U&ivatel zadává název po&adovaného bodu. Jakmile zb'vá pouze n$kolik bod(, které p#ibli&n$ vyhovují zadanému názvu, u&ivatel je p#esm$rován na seznam, ze kterého ji& snadno vybere správn' bod.
Obrázek 5-3: V#b!r bodu trasy
TEGEn !+)"4+-":'-A=%",'4*$-19' Tato funkce ode%le do TTS seznam funkcí a kláves, ke kter'm jsou p#i#azeny. Tato funkce m(&e b't u&ite"ná p#ípad$, &e u&ivatel zapomene, jak jsou funkce mapovány na klávesy.
30
U"ivatelské rozhraní aplikace (5)
TEN L+=,&9:3%&'M?%40&'%"'4*$-19J' Nejd(le&it$j%í sou"ástí u&ivatelského rozhraní aplikace pro zrakov$ posti&ené je rozmíst$ní funkci na tla"ítka ovládacího za#ízení. Funkce naviga"ní aplikace byly na tla"ítka rozmíst$ny tak, aby nebylo slo&ité pou&ívat ovládání jak levou, tak pravou rukou. Rozmíst$ní funkcí na tla"ítka ovládacího za#ízení bylo navr&eno tak, aby co nejlépe odpovídalo jejich v'znamu. Ostatní funkce byly se#azeny podle jejich d(le&itosti. Na obrázku 5-4 je schéma numerické klávesnice, která je pova&ována za majoritní typ externího ovládání. Funkce jsou na tyto klávesy namapovány následovn$: • • • • • • • • •
0 – Nová trasa 1 – Krok zp$t 2 – Aktuální krok 3 – Dal%í krok 4 – Zm$nit podrobnost popisu 5 – Ov$#it pozici 7 – Odsko"it na WC 8 – Jít zp$t na za"átek trasy 9 – Zopakovat v'znam kláves
/01! 2&34!
5!
6!
7!
8!
9!
:!
;!
*!
+!
(!
,!
-!
.!
↵!
)!
Obrázek 5-4: Numerická klávesnice
31
Návrh ulo"ení schématu budovy (6)
V O$-/5'?*+`1%&'905.,":?'8?#+-J' Tato kapitola pojednává o tom, jak'm zp(sobem jsou ulo&eny data pro aplikaci. P#evá&n$ se jedná o efektivní popis budovy pomocí základních objekt( (pozice nebo místa a spojení mezi nimi) a jejich efektivní ulo&ení do souboru. Takov' soubor lze poté naz'vat mapou nebo také schématem budovy.
VEC <:/?4:?/"'905.,":?'8?#+-J' P#i návrhu struktury bylo nutné brát v potaz budoucí slou"ení dvou aplikací (indoor a outdoor) do jedné, a navrhnout tak datovou strukturu pou&itelnou pro oba tipy aplikace. Bylo nutné ur"it, co která z aplikací pot#ebuje, provést sjednocení pot#ebn'ch dat pro navigování a poté navrhnout vhodné mapování t$chto datov'ch po&adavk( na konkrétní "ásti datové struktury. V dal%ích kapitolách jsou popsány jednotlivé "ásti datové struktury z pohledu indoor naviga"ní aplikace. VECEC ;8@14:')+=(01' Objekt pozice (dále jen bod) reprezentuje n$"ím v'znamné místo v budov$, nap#. dve#e, v'tah, roh chodby apod. Ka&d' takov' v'znamn' bod musí b't n$jak popsán. Pro tento ú"el jsou zavedeny dv$ "ásti datové struktury. První jsou keywords (klí"ová slova), která slou&í spí%e k identifikaci bodu v mno&in$ pomocí procházení, a také slou&í k vyhledávání správného bodu p#i v'b$ru u&ivatelem. Dal%í "ástí je description, která slou&í k p#esnému popisu bodu. Obsahuje spí%e podrobn$j%í data, p#evá&n$ pro ov$#ení správného v'b$ru bodu. V%echny body v rámci jedné budovy mají unikátní identifikátor. Tento identifikátor slou&í hlavn$ k jednoduchému spojování bod(. Dále musí b't bod ozna"en QR kódem, aby mohl systém snadno rozpoznat, o jak' bod se jedná. Pro usnadn$ní hledání QR kódu u&ivatelem je bod dopln$n o informaci, která up#es)uje pozici kódu na p#edpokládané pozici u&ivatele. Parametry bodu: • • • • •
location key1 - QR kód location key2 - pozice QR kódu id - unikátní identifikátor bodu keywords - klí"ová slova description - podrobn' popis
VECEG ;8@14:'9)+@1%&',1=('8+#J' Objekt spojení bod( (dále jen spoj) musí mít v&dy dva identifikátory bod(, jeden jako v'chozí a druh' jako koncov'. Dal%í informace, která je u spoje d(le&itá, je stupe) obtí&nosti dostat se z v'chozího bodu do bodu koncového. Pro ur"ení celkové obtí&nosti spojení je zde je%t$ informace o typu spojení, nap#. schody, v'tah apod., která se p#evádí na u&ivatelem nastavenou obtí&nost - pro lep%í p#izp(sobení pot#ebám u&ivatele. Nezbytnou 33
Návrh ulo"ení schématu budovy (6) sou"ástí tohoto objektu jsou také kroky, které musí u&ivatel ud$lat, aby se dostal z v'chozího bodu do koncového. Krok je textem popsan' úkon. Spoj m(&e mít libovoln' po"et krok(, av%ak musí mít minimáln$ jeden. Pro dal%í zv'%ení p#izp(sobitelnosti obsahuje element dv$ úrovn$ podrobnosti popisu krok(. Posledním elementem, kter' m(&e schéma obsahovat, je location. Ten slou&í v'hradn$ pro navigaci v outdooru k pr(b$&né kontrole pozice U&ivatele. Parametry spoje: • • • • • •
id - unikátní identifikátor bod( difficulty - obtí&nost spoje type - typ spojení (schody, v'tah ...) step - krok spojení detailstep - podrobn$j%í kroky spojení location - pr(b$&ná pozice na spojení mezi body
VEG d*+`1%&'9:/?4:?/J'9+?8+/?'905.,":?' Kv(li p#ehlednosti jsem zvolil zápis formou XML, navíc je tak soubor s mapou lehce "iteln' i bez naviga"ní aplikace a do budoucnosti je zde mo&nost jej pom$rn$ snadno generovat z grafické reprezentace schématu. Zdrojov' kód 6-1 je ukázkou ulo&ení informací o schématu p#ímo do souboru jako sou"ást struktury. Není proto nutné udr&ovat tyto informace n$kde zvlá%* a v p#ípad$ p#idání dal%í mapy jejich seznam aktualizovat. <scheme>
FEL E, Karlovo náměstí <description> Testovací trasa v budově FELu na Karlově náměstí. 4 Zdrojov# kód 6-1: Informace o obsahu schématu
Zdrojové kód 6-2 zobrazuje, jak jsou body ulo&eny v souboru s mapou. Body jsou v&dy vno#ené je%t$ v jednom dal%ím elementu, kter' je odd$luje od ostatních informací ulo&en'ch ve schématu.
34
Návrh ulo"ení schématu budovy (6) <points> <point>
QR17 QR kód se nachází levé straně od dveří vedle čtečky karet. 17 Laboratoř 23; Přízemí <description>Dveře laboratoře číslo 23. Přízemí. <point>... . . . <point>... Zdrojov# kód 6-2: Body v souboru s mapou
Na Zdrojovém kódu 6-3 je demonstrováno, jak jsou spojení ulo&ena ve schématu. Stejn$ jako body jsou obaleny dal%í zna"kou pro kontrolu a zjednodu%ené na"ítání. Dal%í v'hodou takovéto reprezentace je, &e body a spoje jsou v&dy ve vlastní skupin$. Takov'chto skupin je mo&né v souboru vytvo#it i více, co& m(&e b't u&ite"né nap#. pro rozli%ení "ástí budov apod.
10 11 4 1 <step>Přiložte kartu ke čtečce karet. Ta se nachází vlevo od dveří na zdi ve výši 160cm od podlahy. <step>Projděte dveřmi. ... . . . ... Zdrojov# kód 6-3: Spojení v souboru s mapou
35
Realizace (7)
Z L1"*(="01' Konkrétní implementaci jsem vytvo#il pro Android OS 2.1, která byla poté testována na Android OS 2.2 a 2.3.3. Tento OS jsem zvolil hlavn$ kv(li v'born$ zpracované zp$tné kompatabilit$ star%ích aplikací. Zvolené verze opera"ního systému jsou p#ímo závislé na mobilních telefonech, na kter'ch jsem následn$ provád$l v$t%inu test(. U verzí 2.1 a 2.2 se jednalo o Sony Ericsson Xperia X8 a 2.3 byla na za#ízení HTC Desire HD. V%echny z t$chto telefon( m$li nainstalovanou aplikaci Barcode Scanner pro na"ítání kód(, a dále pak TTS aplikaci Svox Classic, která má podporu syntézy "eského jazyka.
ZEC 2+?`(:.':105%+*+H(1' V následujících kapitolách se pokusím stru"n$ popsat v'vojové nástroje, které jsem pou&il p#i vytvá#ení aplikace. Zárove) zde zmíním externí aplikace, které jsem pou&íval pro n$které funkce naviga"ního systému, nap#. hlasová syntéza textu a na"ítání QR kód(. ZECEC <+%J']/(099+%'F[I' Tato technologie byla pou&ívána velkou "ást práce na projektu, proto&e nebylo dostupné jiné za#ízení s podporou HID, které by mohlo b't pou&ito k externímu ovládání. Pro pou&ití mobilního telefonu jako externí klávesnice sta"í pou&ít telefon s bluetooth a podporou této technologie. Jediné co je poté pot#eba vytvo#it, je konfigura"ní soubor HID pro Sony Ericsson, pomocí n$ho& je mo&né pom$rn$ snadno nastavit nap#. mapování kláves na r(zné kódy odesílané prost#ednictvím bluetooth do p#ijímacího za#ízení. ZECEG ]0*()91'F1*(+9'<1/-(01'L1*1"91'C' Jedná se o voln$ dostupn' software (SW) slou&ící p#evá&n$ k v'voji PHP, JAVA, C++ apod., zále&í ov%em na instalované verzi. V mém p#ípad$ se jedná o v'vojov' nástroj p#evá&n$ pro JAVA aplikace. ZECEN 7%#/+(#'
Realizace (7) aplikaci p#ímo v telefonu, a dosáhnout tak nejvíce reálného v'sledku chování aplikace p#i pou&ití. ZECET 7%#/+(#'\1^:f\+f<)1105' Bohu&el pro nás !echy originální p#evodník textu na #e" p#ímo od Google nepodporuje "esk' jazyk, tudí& není mo&né pou&ívat vestav$n' modul bez dal%ího zásahu. Vhodnou náhradou je Svox Classic TTS, pro kter' je ji& "eská verze dostupná. Dal%í nezbytnou sou"ástí pro bezproblémov' chod je TTS Service Extended, díky ní& je mo&né spravovat nainstalované TTS, vybírat mezi nimi a nastavovat jejich r(zné vlastnosti. TTS nemusí slou&it pouze k prostému p#ekladu textu na obrazovce na #e", m(&e b't také inicializován samostatn$ a je mo&né mu posílat p#ímo texty, které má vyslovit, bez nutnosti je vypisovat na obrazovku, co& je ohromnou v'hodou v%ech TTS na platform$ Android. ZECEV R"/0+#1'<0"%%1/' Barcode Scanner je voln$ dostupná aplikace, která slou&í k na"ítání grafick'ch kód(. Je schopná na"íst v$t%inu grafick'ch kód(, od oby"ejného "árového kódu, p#es Data Matrix, a& t#eba po QR kód. Aplikaci je mo&né spustit jako intent z jiné aplikace, nastavit jí pot#ebné parametry, jako nap#íklad jak' grafick' kód má na"ítat, a aplikace po na"tení kódu vrátí jako jeho obsah jako text.
ZEG O"U&:$%&'905.,":?'8?#+-J' Po sjednocení struktury pro popis budovy s Outdoor "ástí projektu jsem si vzal na starosti parsování toho XML. Nejedná se pouze o samostatn' parser, ale o cel' balí"ek cz.cvut.fel.naviterier.xml a ve%keré t#ídy v n$m. ZEGEC 2"/9+-$%&' V Android OS byla v$t%ina standardních metod a t#íd z JAVA SE p#evedena a implementována. Díky tomu bylo ideálním #e%ením pro parsování XML souboru vyu&ití SAX parseru. Pou&ití je velmi jednoduché. Sta"í pouze vytvo#it t#ídu, která p#etí&í pod$d$né metody z DefaultHandler o pot#ebné podmínky. SAX parser poté pouze volá metody handleru, kde jsou ji& jednotlivé stavy parseru o%et#eny. Jak se p#i posupném zat$&ovaní aplikace ukázalo, není mo&né pou&ít SAX parser hned ze dvou d(vod(. Prvním d(vodem je omezená velikost a po"et #ádk( zpracovávaného souboru. Druh'm velk'm omezením je nedostate"ná, prakticky &ádná, kontrola nad parsováním. Parsování je mo&né pouze ovlivnit na úrovni metod handleru volan'ch parserem. To znamená, &e není mo&né parsování p#eru%it po na"tení pot#ebné "ásti souboru. Dále není mo&né parsování zastavit v p#ípad$ detekce nevalidního souboru. Kv(li v'%e uveden'm problém(m byl SAX parser nahrazen XML Pull Parserem. Tento parser nepot#ebuje &ádn' handler, proto&e neb$&í samovoln$. Ve%kerou jeho "innost je mo&né ovlivnit díky jeho #ízenému chodu. 38
Realizace (7) V jednom cyklu je procházeno souborem po "ástech XML. T$chto "ástí je v podstat$ p$t. První a poslední "ást (událost) je Start_Document a End_Document. P#i události End_Dokument je cyklus procházení XML souboru t#eba ukon"it. Zb'vající události jsou Star_Tag, End_Tag a Text. Události Start_Tag a End_Tag nastávají, dle o"ekávání, p#i p#e"tení po"áte"ního nebo koncového elementu dokumentu. Událost Text v%ak nastává p#i na"tení jakéhokoliv textu, dokonce i mimo po"áte"ní a koncov' element. Událost text je nap#íklad nastavena i v p#ípad$ "tení znak( konce #ádku a podobn$. Je proto velmi nutné dbát na pou&ívání obsahu události Text v souladu se specifikací souboru. To znamená pou&ívat obsah události Text pouze pokud se jedná o smyslupln' text, ne “bílé” znaky, a také pouze v okam&ik, kdy je o"ekáván n$jak' obsah elementu. Díky pou&ití XML Pull Parseru je mo&né na"íst ze souboru pouze "ást s informacemi o obsahu jako je obtí&nost, název schématu a jeho podrobn' popis. Toho je vyu&ito p#i nabízení v'b$ru schématu. Do budoucna je mo&né v'b$r schématu obohatit o podrobn' popis mapy a o její obtí&nost. P#idat také nap#íklad filtrování dle obtí&nosti a podobn$ (platí hlavn$ pro Outdoor aplikaci). T#ída Info.java sou&í k reprezentaci informací o daném schématu. Obsahuje název schématu (trasy/mapy), podrobn' popis, obtí&nost daného schématu a název souboru, kter' reprezentuje. Tato t#ída byla zavedena pro snadnou manipulaci s v$t%ím mno&stvím soubor(. T#ída Scheme.java zastupuje data na"tená z XML souboru. Obsahuje dva seznamy. Jeden pro body mapy (trasy) a druh' pro ulo&ení spojení mezi body. P#i parsování XML souboru je vytvo#ena nová instance této t#ídy, do ní& jsou postupn$ ukládána na"tená data. Naviga"ní "ást programu, a* u& se jedná o indoor nebo outdoor aplikaci, po úsp$%ném na"tení souboru dostane napln$nou instanci této t#ídy daty ze souboru. Pokud na"ítan' soubor není validní, tzn. neodpovídá specifikaci pro soubor se schématem, naviga"ní "ást programu dostane pouze prázdnou datovou strukturu s informací o na"ítání nevalidního souboru. Dal%í t#ídou je Point.java. T#ída je pou&ita p#i parsování dat z elementu point, kter' reprezentuje bod na map$. Dal%í jeho vyu&ití je také p#i samotném navigování nebo v'po"tu trasy. Krom$ standardních parametr( jako jsou ID, location, keywords a description, které vycházejí ze specifikace XML obsahuje dal%í parametry pou&ité hlavn$ p#i v'po"tu nejbli&%í trasy. Krom$ b$&n'ch metod typu set a get je zde zajímavá pouze metoda isWC, která mezi klí"ov'mi slovy hledá #et$z reprezentující WC. Této metody je p#evá&n$ vyu&íváno p#i hledání nejbli&%í toalety v p#ípad$ pot#eby. U&ivatel m(&e v kterémkoliv okam&iku p#eru%it pr(chod trasou po&adavkem o navigaci k nejbli&%í toalet$.
39
Realizace (7) Poslední t#ídou XML balí"ku je Connection.java. Její v'znam a funkce jsou obdobné jako u Point.java. Op$t obsahuje standardní parametry vycházející ze specifikace souboru se schématem. Obsahuje dva r(zné seznamy pro popis krok( nutn'ch k dosa&ení druhého bodu spojení. Volba seznamu, kter' má metoda getSteps vrátit, se provádí nastavením vstupního parametru detail. Velmi u&ite"nou metodou je metoda addGps(String Location), která na vstupu o"ekává String ve formátu “longitude,latitude”. Ze zadaného textu pak vytvo#í instanci t#ídy Location a ulo&í ji do seznamu GPS pozic, které danému spojení odpovídají. Toho je vyu&íváno v outdoor aplikaci. ZEGEG 2+?`(:&'8"*&U4?')/+'%"U&:$%&'#":' Nejd#íve vytvo#íme instanci t#ídy NaviterierParser.java se vstupním parametrem NaviterierParser.INDOOR pro indoor navigaci nebo NaviterierParser.OUTDOOR pro outdoor naviga"ní aplikaci. Díky tomuto parametru si parser správn$ nastaví v%echny pot#ebné prom$nné, jako je nap#íklad správná cesta k soubor(m na pam$*ové kart$. Poté se zavolá metoda ParseInfos, která vrátí seznam instancí t#ídy Info. Za ka&d' soubor je v seznamu jeden záznam. Z t$chto záznam( jsou vybrány pot#ebné informace, které jsou dále zobrazeny u&ivateli, na jejich& základ$ si u&ivatel vybere po&adovan' soubor s mapou. Název souboru, kter' je ulo&en' v instanci t#ídy Info, je poté p#edán parseru jako parametr metody ParseData(String FileName). Tato metoda ji& vrátí instanci t#ídy Scheme, v ní& jsou ulo&eny seznamy element( Point a Connection reprezentující popis budovy.
ZEN ]^:1/%&'+-*$#$%&' Byl kladen velk' d(raz na to, aby bylo mo&né ovládat cel' telefon a v%echny jeho funkce jedním bezdrátov'm za#ízením. Z tohoto d(vodu bylo nutné roz%í#it telefon o n$jakou softwarovou "ást, která pob$&í stále. Pro tyto ú"ely opera"ní systém Android obsahuje service, které b$&í na pozadí systému a mohou zasahovat do jeho chodu nap#íklad tím, &e modifikují vstup s klávesnice. Díky roz%í#ení opera"ního systému o podporu HID (viz. Kapitola 7-2) se i bezdrátové za#ízení, které podporuje tento bluetooth profil, bude chovat jako klávesnice. Ideálním #e%ením je roz%í#ením t#ídy InputMethodService, tak&e u&ivatel si po nainstalování APK balí"ku m(&e vybrat mezi softwarov'mi klávesnicemi a m(&e je snadno p#epnout bez nutnosti odinstalovávat cel' balí"ek nebo zasahovat do systému. Aplikace je navr&ená tak, aby ji bylo mo&né pou&ívat s b$&nou bezdrátovou bluetooth numerickou klávesnicí s podporou HID. Z toho také vypl'vají p#eklady kláves na funkce "i jiné klávesy v prost#edí mobilního telefonu. 40
Realizace (7) Pro usnadn$ní ovládání hlavních funkcí telefonu má aplikace t#i r(zné stavy klávesnice. Podle toho, ve kterém stavu se klávesnice nachází, p#ekládá stisky jednotliv'ch kláves na klávesnici externího ovládání na jiné klávesy p#ímo v telefonu. Díky tomu je mo&né i s pou&itím pom$rn$ malého mno&ství kláves ovládat bez problém( cel' telefon. Mezi jednotliv'mi stavy aplikace m(&e u&ivatel snadno p#epínat pomocí klávesy “-”. ZENEC ;-*$#"0&'4*$-19%(01' Jak ji& sám název napovídá, je tento re&im klávesnice ur"en' ke snadnému ovládání mobilního telefonu. V%echny hlavní funkce telefonu pot#ebné ke snadnému a pohodlnému ovládání jsou dostupné po stisku jednoho tla"ítka. Mezi tyto funkce pat#í potvrdit v'b$r, tla"ítko zp$t, tla"ítko dom(, tla"ítko menu, tla"ítko napájení (slou&í k vypnutí obrazovky) a sm$rové klávesy pro navigaci v menu a v'b$r r(zn'ch polo&ek. ZENEG p&91*%$'4*$-19%(01' Tento mód klávesnice slou&í hlavn$ pro snadné zadávání "íslic. Díky dal%ím tla"ítk(m je snadné v tomto re&imu také vytá"et a volat telefonní "ísla, která nejsou ulo&ena v seznamu, pop#. zadávat nová "ísla nebo pou&ívat nap#íklad kalkula"ku. Pro jednoduché vytá"ení "ísel jsou v tomto re&imu p#ímo dostupná tla"ítka zahájit a ukon"it hovor. ZENEN 29"0&'4*$-19%(01' V tomto re&imu je u&ivateli umo&n$no snadno zadávat písmena a psát tak r(zné texty nap#í" cel'm opera"ním systémem. Pokud je klávesnice v tomto módu, chová se standardn$ jako hardwarová klávesnice klasického telefonu. To znamená, &e po opakovaném stisku jedné klávesy u&ivatel vybírá jeden z N symbol(, které jsou této klávese nadefinovány. Pro snadné zadávání velk'ch písmen je implementována funkce Caps lock, díky ní& p#epne u&ivatel klávesnici do re&imu psaní velk'ch písmen. Mapování jednotliv'ch funkcí a znak( hardwarové klávesnice je zobrazeno v tabulce 7-1
41
Realizace (7) Klávesa na externím ovlada%i
Funkce telefonu (Re"im ovládání)
Funkce telefonu (Re"im %íslic)
Funkce telefonu (Re"im psaní)
Enter
Potvr+ v'b$r
Volat/Poslední hovory
Potvr+ v'b$r
Plus (+)
Zp$t
Ukon"it hovor
Zp$t
Mínus (-)
Zm$na módu klávesnice
Zm$na módu klávesnice
Zm$na módu klávesnice
)árka (, / .)
Klávesa MENU
Klávesa MENU
Caps lock
Hv!zda (*)
Klávesa HOME
Hv$zda (*)
Klávesa HOME
Lomítko (/)
Klávesa napájení
K#í&ek (#)
Backspace
Nula (0)
0
{mezera,0}
Jedna (1)
1
{.,,,1}
2
{a,b,c,A,B,C,2}
3
{d,e,f,D,E,F,3}
4
{g,h,i,G,H,I,4}
5
{j,k,l,J,K,L,5}
6
{m,n,o,M,N,O,6}
7
{p,q,r,s,P,Q,R,S,7}
8
{t,u,v,T,U,V,8}
9
{w,x,y,z,W,X,Y,Z,0}
Dva (2)
-ipka dol(
T$i (3) )ty$i (4)
-ipka vlevo
P!t (5) *est (6)
-ipka vpravo
Sedm (7) Osm (8) Dev!t (9)
-ipka nahoru
Tabulka 7-1: SW mapování funkcí HW klávesnice
Ohromnou v'hodou roz%í#ení InputMethodService je mo&nost p#etí&ení metody onStartInput. Díky tomu se u&ivatel nemusí moc "asto starat o p#epínání mezi jednotliv'mi re&imy klávesnice, proto&e se re&im klávesnice nastaví sám na nejvhodn$j%í vstup, nap#. p#i ozna"ení textového pole. ZENEQ <:/?4:?/"'")*(4"01')/+'1^:1/%&'+-*$#$%&' Aplikace obsahuje t#i XML soubory, ve kter'ch jsou specifikovány r(zné layouty klávesnice. Ka&d' layout obsahuje pouze dv$ softwarové klávesy. První klávesa slou&í ke skrytí softwarov'ch kláves a druhá klávesa p#epíná mezi jednotliv'mi módy klávesnice.
42
Realizace (7) Layouty se tedy mezi sebou li%í pouze ve druhé klávese, která zobrazuje následující mód. Tyto klávesy se zobrazí pouze pokud n$jaká aplikace vynutí zobrazení softwarové klávesnice nebo v p#ípad$, &e se pomocí dotyku na displeji dostane kurzor do textového pole. Jednou z komponent je také t#ída LatinKeyboardView.java, z ní& se vytvá#í cel' vstup. Z jejího názvu je patrné, &e také tvo#í zobrazovací "ást klávesnice. P#es tuto t#ídu prochází ve%keré události do dal%ích t#íd. Je zde nap#íklad mo&né definovat chování p#i dlouhém stisku softwarové klávesy na displeji. K p#edchozí t#íd$ neodmysliteln$ pat#í také LatinKeyboard.java, ve které se nap#íklad nachází metoda na tvorbu kláves z p#edp#ipraven'ch XML soubor(. Dále je zde mo&né definovat r(zné speciální mo&nosti softwarové klávesnice. V této t#íd$ také dochází k ur"ení, jaká klávesa byla stisknuta na základ$ obdr&en'ch sou#adnic doteku na displeji. Je také mo&né implementovat kalibraci klávesnice nebo hledat nejbli&%í klávesu, která mohla b't stisknuta. Dal%í velmi d(le&itou sou"ástí je t#ída CandidateView.java. Krom$ toho, &e v této t#íd$ dochází p#ímo k vykreslení samotné softwarové klávesnice na “plátno”, je zde mnoho dal%ích d(le&it'ch metod. Je zde mo&né implementovat p#epínání více znak( jedné softwarové klávesnice, nap#. posunem prstu. Dále je mo&né implementovat na%eptávání slov ze slovníku a jeho p#ímá aktualizace. Také se v této t#íd$ snímá dotyk displeje a ur"uje se jeho poloha. Tuto polohu pak pou&ívá LatinKeyboard.java k ur"ení stisknuté klávesy. Je mo&né definovat i r(zné reakce na gesta, nap#. posun prstem nahoru apod. Nejd(le&it$j%í "astí, ve které je ve%kerá logika, p#eklady hardwarov'ch kláves na jiné apod., je SoftKeyboard.java. Tato t#ída d$dí ji& z d#íve zmín$né InputMethodService a implementuje OnKeyboardActionListener z t#ídy KeyboardView. P#i inicializaci nové instance této t#ídy, tzn. nap#íklad p#i prvním zadávání textu po restartování telefonu, se na"te pro ka&dou klávesu pole hodnot kláves, které je mo&né stiskem této klávesy dosáhnout. P#i inicializaci interfacu se z ka&dého ze t#í XML soubor( vytvo#í instance t#ídy LatinKeyboard, které p#edstavují jedno ze t#í ovládacích rozhraní. Je zde p#etí&ená metoda onStartInput tak, &e podle typu po&adovaného vstupu ("íslice, text, apod.) se jako aktivní klávesnice nastaví nejvhodn$j%í kandidát pro obsluhu takového po&adavku. Tím je zaru"en fakt, &e u&ivatel nemusí stále p#epínat mezi módy klávesnice. Standardn$ je jako v'chozí nastavená ovládací klávesnice. P#i zavolání p#etí&ené metody onFinishInput se klávesnice op$t vrátí do standardního ovládacího re&imu. P#etí&ená metoda onKeyDown slou&í ke zm$n$ stisknut'ch hardwarov'ch kláves na jiné p#edem definované klávesy "i mno&inu kláves, ze které je jedna vybrána. !as pro opakovan' stisk klávesy pro v'b$r mezi více mo&nostmi je nastaven na 800 ms. 43
Realizace (7) Dal%í zajímavá metoda je sendKey , která umo&)uje posílat znaky v raw formátu p#ímo do textového editoru tak, &e je ji& není mo&né v jiné aplikaci zachytit a modifikovat. V metod$ onKey se zpracovávají události ze softwarové klávesnice, nap#. KEYCODE_MODE_CHANGE která p#epíná mezi jednotliv'mi re&imy klávesnice.
ZEQ 2b(#$%&')+#)+/J'F[I'#+'7%#/+(#';<' Opera"ní systém Android v dob$ práce na tomto projektu nem$l nativní podporu HID, a proto bylo nutné jej o tuto funkci roz%í#it [21]. Postup práce je uveden v následující kapitole. V p(vodní verzi (Master) opera"ního systému Android pro první mobilní telefon byla tato funkce zakomponována, ale kv(li problém(m se stabilitou v'konu byli odebrány n$které moduly, mezi kter'mi se také nacházel modul pro podporu HID. Z ji& d#íve zmín$né p(vodní verze jsem tedy pou&il nástroje pro správu bluetooth a moduly pro podporu HID. V%echny vyjmenované sou"ásti z nevydané verze OS byly nahrány do mobilního telefonu na jejich p(vodní místo. I p#es ve%kerou snahu nebylo mo&né p#ipojit, pomocí bezdrátové technologie bluetooth, za#ízení s podporou HID k mobilnímu telefonu, originální rozhraní pro párování za#ízení vyu&ívá toti& jiné moduly. Za#ízení se sice spárovalo s mobilním telefonem, ale nep#ipojilo se. I tento pokus byl tedy neúsp$%n'. Na stránkách pro podporu v'voje jsem dohledal p#íklad pou&ití nástroj( z p(vodní verze OS pomocí p#íkazové #ádky a vyzkou%el je (Zdrojov' kód 7-1). P#ipojení p#es bluetooth s podporou HID bylo navázáno. # hcitool scan # hidd --connect 00:A1:B2:C3:D4:E5 # hcitool con Zdrojov# kód 7-1: P$ipojení HID za$ízení
Pro navázání spojení je nejd#íve nutné pou&ít p#íkaz # hcitool scan, kter' vypí%e nalezená za#ízení v dosahu. Poté se zavolá p#íkaz # hidd --connect 00:A1:B2:C3:D4:E5, kde 00:A1:B2:C3:D4:E5 je fyzická adresa za#ízení, které chceme p#ipojit. Pomocí p#íkazu # hcitool con pak ji& jenom zkontrolujeme stav p#ipojení. ZEQEC R?#+?0%+9:' V dob$ psaní tohoto dokumentu se ji& za"aly objevovat neoficiální ROM, které tuto funkci podporují i p#i pou&ití vestav$ného nástroje pro správu p#ipojení bluetooth. To znamená, &e v n$které dal%í oficiální verzi tohoto opera"ního systému bude podpora bluetooth HID profilu ji& nativn$.
44
1 2
Realizace (7)
ZET [,)*1,1%:"01' Jak ji& bylo zmín$no v úvodu kapitoly, aplikaci jsem implementoval pro Android OS 2.1, 2.2 a 2.3. Prvním úkolem bylo #ádn$ nastudovat programovací jazyk pou&ívan' k v'voji aplikací pro tuto platformu. K tomuto ú"elu velmi dob#e poslou&ily internetové stránky pro v'vojá#e p#ímo od Google. Je zde dostupná velmi kvalitn$ zpracovaná dokumentace celé platformy, a také jsou zde k nalezení velmi u&ite"né ukázky pou&ití r(zn'ch API v praxi p#i v'voji reálné aplikace. ZETEC <:/?4:?/"'")*(4"01' Aplikaci je mo&né rozd$lit na n$kolik "ástí (Obrázek 7-1) - UI "ást, XML balí"ek a naviga"ní "ást. Na obrázku 7-1 je "ervenou barvou zobrazeno zpracování po&adavku na kontrolu pozice pomocí QR kódu. Ostatní %ipky ukazují, jak probíhá navigace. P#íkaz u&ivatele je zpracován a p#edán naviga"ní "ásti aplikace. V'stup naviga"ní "ásti je zpracován UI a v'stup je poslán i do Svox TTS k syntéze, aby u&ivatel sly%el reakci systému. Tyto zmi)ované "ásti aplikace jsou podrobn$ji popsány ní&e.
Barcode scanner
Za"átek volání
Naviga"ní "ást
Vy#ízení po&adavku
Config.java
UI "ást
getDetail setDetail getDifficulty setDifficulty...
Indoor.java
Svox TTS
XML balí"ek NaviterierParser Point Connection Scheme Info...
onKeyDown chooseFile choosePoint onActivityResult display onItemClick onTextChanged...
Navigation.java nextStep previousStep findWC checkQR goBack readNaviFile...
Obrázek 7-1: Zjednodu(ená struktura aplikace
Grafická "ást aplikace je obsa&ena v kontejneru "ásti UI, kter' obsahuje komponenty vyskytující se na obrazovce. Kontejner m(&e b't inicializován z p#edem definovan'ch XML soubor( nebo je mo&né jej vytvo#it a naplnit komponenty za b$hu aplikace. Krom$
45
Realizace (7) hlavního okna aplikace je mo&né také z XML soubor( vytvá#et seznamy, r(zné nastavovací "ásti menu, vyskakovací okna a dal%í grafické sou"ásti aplikace. !ást UI, která zpracovává p#íkazy od u&ivatele je nejjednodu%%í. P#i spu%t$ní aplikace vytvo#í nov' kontejner, jeho& komponenty jsou díky jeho t#íd$ dostupné p#i b$hu aplikace. Hlavním úkolem této "ásti je pouze volání r(zn'ch metod, p#evá&n$ z naviga"ní "ásti, a zobrazování jejich v'stupu u&ivateli pomocí objekt( UI. Naviga"ní "ást aplikace tvo#í hlavní logiku. V systému je reprezentována vlastní t#ídou, která se stará v podstat$ o v%echny naviga"ní funkce. Kdy& tedy u&ivatel stiskne tla"ítko krok zp$t, UI "ást aplikace, která zpracovává p#íkazy od u&ivatele, pouze zavolá funkci této t#ídy. Tato t#ída v sob$ také obsahuje vypo"ítanou trasu a schéma budovy. V'sledek metody krok zp$t je poté reprezentován pomocí UI jako text a také je syntetizován pomocí Svox TTS. ZETEG O"U:1%&'9+?8+/?'9',")+?' O na"tení souboru s mapou se stará t#ída NaviterierParser.java, která je sou"ástí XML balí"ku. Soubor s mapou je ulo&en' ve formátu soubor( XML. Popis struktury souboru je v kapitole 6 Návrh ulo&ení schématu budovy. P#i na"ítání souboru se schématem budovy je pou&it XML pull parser, kter' je také obsa&en ve t#íd$ NaviterierParser.java. P#i na"ítání XML souboru jsou vytvá#eny objekty t#íd Point.java a Connection.java. Tyto objekty jsou ukládány do seznam( objektu t#ídy Scheme.java, ve kterém pak umí naviga"ní t#ída vyhledávat podle r(zn'ch parametr(, nap#. QR kód, ID. ZETEN !"#$%&':/"9J' Pro v'b$r trasy je pou&it grafick' kontejner s polí"kem pro zadání textu a seznamem pro v'b$r ze zb'vajících bod(, které odpovídají zadané "ásti textu v textovém poli. Tento grafick' kontejner je vytvá#en za b$hu aplikace bez pou&ití XML %ablony. Tento grafick' kontejner se zobrazí u&ivateli místo p(vodního kontejneru s textov'm v'stupem. Kontejner dostane od naviga"ní t#ídy v&dy p#edané pole názv( bod(, které odpovídají ji& zadanému textu. Pokud je po"et ni&%í ne& nastaven' limit, je zobrazen seznam u&ivateli. P#i v'b$ru jednoho z bod( trasy je pro v'b$r bod( odpovídajících zadanému textu pou&it stavov' automat pro ur"ení velikosti odchylky zadaného textu a porovnávaného názvu bodu. Díky tomu jsou nalezeny body, které mají nap#íklad zdvojené n$které písmo v názvu, nebo jsou vyhledávány bez diakritiky a podobn$. U&ivatel tedy nemusí p#esn$ na písmeno zadat název vyhledávaného bodu, co& se hodí p#evá&n$ p#i p#eslechnutí jména nebo p#i p#eklepu p#i jeho zadávání.
46
Realizace (7) ZETEQ PJ5*1#$-$%&'%1@4/":6&'019:J' Pro vyhledávání nejkrat%í cesty jsem pou&il a upravil algoritmus pro vyhledání nejkrat%í cesty v grafu s ohodnocen'mi hranami, kter' poprvé popsal nizozemsk' informatik Edsger Dijkstra. Algoritmus také nese jeho jméno, Dijkstr(v algoritmus [12]. Algoritmus v podstat$ postupn$ prochází grafem, p#i"em& s"ítá hodnoty hran, které se nacházejí mezi v'chozím a cílov'm uzlem a zaznamenává cestu. P#i v'po"tu kone"né ceny hrany je také zohledn$na preference u&ivatele. To probíhá v t$le samotného algoritmu dotazem na objekt t#idy Config.java, kter' v sob$ obsahuje na"tené preference, které u&ivatel ulo&il. Mezi preferencemi je mimo jiné hashmap, která jako klí" obsahuje typ spoje a hodnotou klí"e je u&ivatelem upravená preference. Algoritmus jsem mimo jiné upravil tak, &e po"ítá i s r(zn'm ohodnocením hrany v jejím opa"ném sm$ru. Tohoto faktu lze vyu&ít p#i po"ítání slo&itostí trasy s r(zn'mi obtí&nostmi v r(zn'ch sm$rech. R(zné obtí&nosti mohou b't ve schématu nastaveny u dve#í na "ipovou kartu, proto&e z jedné strany je nutné pou&ít "ipovou kartu a z druhé m(&e b't t#eba jenom klika. Aplikace po"ítá nejkrat%í cestu jenom p#i zm$n$ startovního nebo cílového bodu nebo v p#ípad$, &e je na"ten QR kód, kter' neodpovídá pozici, která je v systému ulo&ena jako aktuální. ZETET O"U&:$%&'SL'4B#>' Na"ítání QR kód( #e%í aplikace tím, &e zavolá externí aplikaci pro na"tení QR kódu, pomocí správn'ch parametr( ji nastaví a "eká na odpov$+. Jako externí aplikace pro na"tení QR kód( byla pou&ita voln$ %i#itelná aplikace Barcode scanner, která vrací hodnotu na"teného QR kódu jako textov' #et$zec mezi ostatními parametry, které tato aplikace vrací. ZETEV K+%:/+*"'"4:?$*%&')+=(01' Pokud u&ivatel pou&ije tuto funkci, na obrazovce se mu vypí%e pozice, kde se nachází QR kód na jeho p#edpokládané pozici. Poté je vytvo#en nov' intent, kter' obsahuje nastavující parametry a je poslán aplikaci Barcode scanner. Jakmile naviga"ní aplikace dostane odpov$+ od Barcode scanneru, porovná QR kód s kódem, kter' nále&í aktuální pozici. Pokud je kód shodn' s na"ten'm, u&ivatel m(&e pokra"ovat dál. Pokud ne, aplikace se pokusí nalézt pozici, které je na"ten' QR kód p#i#azen. Pokud ji najde, p#epo"ítá trasu, upozorní u&ivatele o této události a oznámí mu jeho aktuální pozici. Pokud nenalezne aplikace na"ten' QR kód, u&ivatel je o tom informován a trasa se nep#epo"ítá. Samoz#ejm$ se m(&e pokusit pokra"ovat podle popisu trasy nebo m(&e zkusit na"íst jin' QR kód. O v%echny tyto úkony, vyjma p#edání #ízení Barcode scanneru, se op$t stará naviga"ní t#ída.
47
Testování (8)
m \19:+-$%&' V této kapitole jsou popsány dv$ sady test(, které jsem provád$l. První testování bylo zam$#eno na pou&itelnost externího ovládání, které by mohlo pomoci zrakov$ posti&en'm osobám pou&ívat mobilní telefon s dotykov'm displejem. P#i tomto testování jsem také zji%*oval jak'm zp(sobem a jak "asto u&ivatelé zadávají n$jak' text do svého stávajícího mobilního telefonu. Testovaní zárove) odpovídali na otázky, které byli zam$#ené na to, jestli je mo&né v praxi v(bec pou&ít n$jaké dal%í za#ízení k ovládání mobilního telefonu. Druhé testování bylo zam$#eno na funk"nost aplikace, pou&itelnost zji%*ování pozice pomocí QR kódu v praxi a její pou&ití pro vrácení zrakov$ posti&eného na trasu p#i ztrát$ orientace. Ovládání mobilního telefonu externí bezdrátovou klávesnicí a její vyu&ití p#i navigování a psaní.
mEC \19:')+?`(:1*%+9:('1^:1/%&5+'+-*$#$%&' Testu se zú"astnily 3 osoby s r(zn'mi vadami zraku, délkou posti&ení a odli%n'mi zku%enostmi s technologiemi. Pro ú"ely otestování pou&itelnosti externího ovládání jsem navrhl t#i jednoduché scéná#e, které m$li testovaní splnit. V%ichni ú"astníci dostali dva dotazníky, jeden p#ed hlavním testem a druh' po testu. V hlavní testovací "ásti se nejprve museli seznámit s externím ovládáním telefonu. Pro tento ú"el byla vytvo#ena speciální aplikace, která po stisku n$jaké klávesy nahlas #ekla její skute"nou funkci v ovládaném za#ízení. Ne%lo pouze o to, aby zjistili funkce jednotliv'ch tla"ítek, ale také o to, aby si zvykli na fakt, &e na jednom za#ízení ma"kají po&adovaná tla"ítka a tím ovládají za#ízení druhé. Po krátkém seznámení s funkcemi tla"ítek m$li ú"astníci testu za úkol samostatn$ v telefonu nalézt prototyp naviga"ní aplikace upravené pro ú"ely tohoto testu a spustit jej. U prvního participanta byl tento test proveden se standardním nastavením menu a #azením aplikací, co& byl pom$rn$ velk' problém. Z tohoto d(vodu bylo nastavení telefonu upraveno tak, aby byly aplikace zobrazeny v jednom sloupci pod sebou a bylo tak snadné ur"it, kter'm sm$rem pohybovat kurzorem k naviga"ní aplikaci. T#etím úkolem bylo pou&ití externího ovládání k navigování. Tento úkol byl op$t zam$#en pouze na otestování ovládání a jeho pou&ití v praxi, tudí& nebylo nutné procházet celou trasu. Sta"ilo pouze pomocí tla"ítek externího ovládání nasimulovat pr(chod trasou. mECEC O"9:"-1%&':19:?' Pro ú"ely otestování pou&itelnosti externího ovládání mobilního telefonu s dotykov'm displejem (Obrázek 8-1) v praxi byl speciáln$ upraven mobilní telefon s opera"ním systém Android tak, aby byl schopen komunikovat p#es Bluetooth s jin'm za#ízením, které
49
Testování (8) podporuje HID profil (human interface device), co& umo&)uje pou&ití %irokého spektra za#ízení pro ovládání.
Obrázek 8-1: Nastavení testu pou"itelnosti externího ovládání
Dále byly vytvo#eny dv$ jednoduché aplikace. První byla pou&ita na za"átku testování k usnadn$ní seznámení zrakov$ posti&en'ch osob s jednotliv'mi funkcemi tla"ítek. V záv$ru testu byla pak pou&ita druhá, jednodu%e upravená aplikace, která m$la pevn$ definovanou trasu a slou&ila ke zji%t$ní chování testovan'ch p#i navigování jin'm za#ízením ne& práv$ dr&í v ruce. Jako za#ízení pro externí ovládání byl pou&it star' mobilní telefon SonyEricsson (Obrázek 8-1), pro kter' byl napsán jednoduch' HID interface, kter' mapoval jeho tla"ítka na funkce ovládaného telefonu. Byla pou&ita jak numerická "ást klávesnice telefonu, tak i její ovládací "ást, která m$la p$ti-sm$rn' joystick a klávesy potvrdit a zp$t. mECEG <0.%$b1' P#edstavte si, &e… Klávesy … máte ovládání poprvé v ruce. Prozkoumejte v'znam jednotliv'ch tla"ítek. Ideální pr(chod: U!ivatel klikne postupn" zmá#kne v$echny klávesy a pokusí se zapamatovat jejich v%znam.
50
Testování (8) Ovládání telefonu … jste p#i%el do neznámé budovy a pot#ebujete spustit naviga"ní aplikaci. Ideální pr(chod: U!ivatel pomocí externího ovládání najde Naviterier a spustí ho.
Navigace po trase … jste p#i%el do neznámé budovy a pot#ebujete dojít do kancelá#e ". 22 (pouze v aplikaci). Ideální pr(chod: U!ivatel pomocí externího ovládání projde v$emi kroky trasy a! do cíle.
Pohlaví
V!k
Vzd!lání
Posti"ení
Délka posti"ení
Mu"
57
V%eobecné
Úplná slepota
51 let
+ena
63
Hudební
Úplná slepota
23 let
+ena
65
Ekonomické
Zbytky zraku
35 let
Tabulka 8-1: ú%astníci testování pou"itelnosti externího ovládání
mEG PA9*1#4J':19:?')+?`(:1*%+9:('1^:1/%&5+'+-*$#$%&' Z testu vypl'vá, &e pou&ití za#ízení (nap#. numerické klávesnice) pro ovládání mobilního telefonu s dotykov'm displejem ned$lá zrakov$ posti&en'm problémy. Poznatky z testu jsou popsány v následujících kapitolách. mEGEC ;-*$#$%&':1*1M+%?' Ovládání pomocí externí hardwarové klávesnice se ukázalo jako p#íjemné #e%ení ovládání mobilního telefonu s dotykov'm displejem pro zrakov$ posti&ené lidi. Nejv$t%í v'hodou tohoto p#ístupu je bezesporu fakt, &e hardwarová tla"ítka jsou u&ivatelé schopni nahmatat, a tak snadno nalézt, identifikovat a pou&ít. Dále je nutné vy#e%it ovládání celého telefonu pomocí takovéto klávesnice tak, aby mohli zrakov$ posti&ení lidé pln$ pou&ívat mobilní telefon s dotykov'm displejem se v%emi funkcemi. mEGEG 29"%&':1^:>' Z dotazník( a testu je patrné, &e je nutné, aby klávesnice pou&itá k ovládání byla také schopná zadávat text jako klasická klávesnice mobilního telefonu bez pou&ití T9. Samoz#ejm$ tato funkce musí b't op$t dostupná v%ude nap#í" cel'm telefonem. 51
Testování (8)
mEN \19:+-$%&'")*(4"01'"'1^:1/%&5+'+-*$#$%&'-'/1$*%.,')/+9:b1#&' Následující sada test( byla provedena u 6 ú"astník(. Pro testování aplikace pro externí ovládání a naviga"ní aplikace bylo vytvo#eno p$t scéná#(, p#i"em& dva z nich byly zam$#eny na ovládání mobilního telefonu a zbylé t#i na navigaci a její funkce. Ka&d' z ú"astník( vyplnil krátk' dotazník p#ed testem a druh' po testu. Sou"ástí testování byla také diskuze o problému ovládání mobilního telefonu a pou&ití externí klávesnice. Prvním z úkol( bylo seznámení se s mobilním telefonem, za#ízením k jeho ovládáním a prost#edím, ve kterém se bude u&ivatel pohybovat. Hned poté byli u&ivatelé uvedeni do situace, kdy musí napsat SMS. Dal%í "ást test( byla zam$#ena na navigování v interiéru pomocí mobilního telefonu s dotykov'm displejem, na problémy, které p#i takové interakci u&ivatele se za#ízením mohou nastat, a otestování r(zn'ch funkcí aplikace v r(zn'ch situacích. mENEC O"9:"-1%&':19:?' P#i testování byl pou&it mobilní telefon HTC Desire HD (Obrázek 8-2), kter' byl vybaven' neoficiální ROM s podporou HID bluetooth profilu. V mobilním telefonu byla nainstalována "eská hlasová syntéza a syntetyzátor Svox classic.
Obrázek 8-2: Nastavení testu aplikace
Telefon byl dále vybaven aplikací (slu&bou na pozadí) Klávesnice Naviterier, která umo&)uje u&ivatel(m ovládat cel' mobilní telefon pomocí bezdrátové klávesnice p#ipojené p#es bluetooth. Tato aplikace byla zárove) podrobena testování. V mobilním telefonu byl samoz#ejm$ nainstalován indoor naviga"ní Naviterier.
52
Testování (8) Pro ovládání mobilního telefonu byla pou&ita bluetooth bezdrátová numerická klávesnice (Obrázek 8-2) od firmy Microsoft. Jednalo se o b$&nou voln$ dostupnou numerickou klávesnici se standardním rozlo&ením kláves.
Obrázek 8-3: Rozsah popisu 3. patro
Byl vytvo#en popis "ásti budovy E (Fakulta Elektrotechnická) na Karlov$ nám$stí. Konkrétn$ se jednalo o pravé k#ídlo p(dní vestavby, "ást levého k#ídla (Obrázek 8-3), dále pak "ást levého k#ídla ve t#etím pat#e, v'tah a pravé k#ídlo ve t#etím pat#e (Obrázek 8-4).
Obrázek 8-4: Rozsah popisu 4. patro (p&dní vestavba)
53
Testování (8) mENEG <0.%$b1' P#edstavte si, &e… Klávesy a ovládání … jste práv$ dostal nov' mobilní telefon s dotykov'm displejem. Dále máte bezdrátové ovládání, které vám má usnadnit práci s tímto za#ízením. Prozkoumejte v'znam jednotliv'ch tla"ítek a seznamte se s prost#edím mobilního telefonu. Ideální pr(chod: U!ivatel sám projde v$echny polo!ky menu a zorientuje se v prost&edí mobilního telefonu.
Pou"ití klávesnice ke psaní … pot#ebujete n$komu napsat zprávu SMS. Ideální pr(chod: U!ivatel v menu najde polo!ku SMS a MMS, otev&e ji a napí$e zprávu SMS.
Navigace - zadání trasy … nevíte, kde jste a pot#ebujete se dostat do media labu. Víte p#itom, &e v mobilním telefonu máte aplikaci Naviterier, která slou&í k navigaci v interiéru. Ideální pr(chod: U!ivatel v menu pomocí externího ovládání nalezne aplikaci Naviterier a spustí ji. Z nahran%ch schémat vybere Elektrotechnickou fakultu, vybere libovoln% po#áte#ní bod a jako cílov% bod za#ne zadávat Média lab. Poté si pomocí funkce ov"&it pozici sensynchronizuje pozici v systému a vydá se dle pokyn' navigace do Média labu.
Odsko%it na toaletu … se pohybujete v neznámé budov$ a necháváte se navigovat Naviteriérem. Najednou zjistíte, &e byste pot#eboval najít nejbli&%í toalety. Ideální pr(chod: U!ivatel pou!ije funkci Naviteriéru, Odsko#it na toaletu. Pomocí pokyn' dojde na toaletu a poté se nechá navigovat dále po trase.
54
Testování (8) Ov!$it pozici … si nejste jist svojí pozicí a pot#ebujete zjistit, zda jste na správném míst$ nebo jdete správn'm sm$rem. Ideální pr(chod: U!ivatel pou!ije funkci Naviteriéru, Ov"&it pozici, najde nejbli!$í QR kód a na#te jej.
Pohlaví
V!k
Posti"ení
Délka posti"ení
Mu"
40
Úplná slepota
Od narození
Mu"
25
Úplná slepota
Od narození
+ena
35
Zbytky zraku
Od narození
Mu"
34
Úplná slepota
28 let
Mu"
38
Rozezná sv$tlo
Od narození
Mu"
30
Úplná slepota
Od narození
Tabulka 8-2: ú%astníci testování pou"itelnosti externího ovládání
mEQ DU"9:%&0(':19:?'")*(4"01'"'1^:1/%&5+'+-*$#$%&' Jak ji& bylo zmín$no d#íve, testování ovládání a aplikace se zú"astnilo 6 osob. Bylo otestováno ovládání mobilního telefonu pomocí bluetooth klávesnice a pou&ití takového ovládání v praxi, zejména p#i navigování v budov$. P#i testování naviga"ní aplikace bylo mimo jiné testováno i na"ítání QR kód( pro ur"ení u&ivatelovi pozice. Podrobn$j%í poznatky a záv$ry z testování jsou popsány v následujících kapitolách. mEQEC d`(-":1*'C' U&ivatel pou&ívá hodn$ elektronick'ch pom(cek, nap#íklad ozvu"en' mobilní telefon, po"íta", na poznámky pou&ívá diktafon a gin. Ovládání se mu zdálo velmi dobré, jako jedinou v'hodu ozna"il jinak uspo#ádané klávesy ne& u mobilního telefonu. Po prvním u&ivateli byla proto klávesnice p#emapována tak, aby bylo rozlo&ení kláves toto&né s mobilním telefonem. Psaní text( na mobilním telefonu bylo bez problém(. Po krátkém "asovém intervalu se p#izp(sobil i jinak rozlo&en'm klávesám.
55
Testování (8) P#i navigování m$l plné ruce za#ízení, proto&e je%t$ nebyla vybavena %)(rkou na krk. I p#es to mu ale více za#ízení nevadí. Navigaci hodnotí jako v'bornou. Ocenil funkci odsko"it na toalety a vyu&il bez problém( funkci na ov$#ení pozice. Mobilní telefon s takto upraven'm externím ovládáním by klidn$ pou&íval jako hlavní za#ízení ke komunikace, hlavn$ díky mnoha mo&nostem, které umo&)uje u&ivateli opera"ní systém Android. Problémy Nejv$t%ím problémem byla absence %)(ry na krk u obou za#ízení, co& mu p#i navigování po trase zna"n$ omezovalo pohyb. Dal%ím problém, kter' tento u&ivatel m$l, bylo odli%né rozlo&ení klávesnice oproti mobilnímu telefonu. mEQEG d`(-":1*'G' Vyu&ívá notebook bez LCD, pouze s hlasov'm v'stupem. Dále pak ozvu"en' stolní po"íta", hodinky, VPN na dopravu. Uva&uje o koupi mobilního telefonu s dotykov'm displejem. Ovládání mobilního telefonu s dotykov'm displejem se mu zdálo v'borné. P#i jeho pou&ití si v%ak st$&oval na pomalou hlasovou syntézu. Psaní text( velmi chválil, líbila se mu hardwarová klávesnice, díky ní& m$l perfektní p#ehled o tom co ma"ká a pí%e. P#i navigování m$l ob$ za#ízení na krku. Klávesnici dokonce nebral ani do ruky a tla"ítka ma"kal p#ímo na b#i%e. P#i dob#e popsaném prost#edí nem$l v(bec problém s orientací i bez hole, velmi dob#e pou&íval sluch. Navíc pr' "asto chodí na neznámá místa sám a bez pomoci. Navigace se mu líbila. Pou&íval by ji i na u"ení venkovních tras místo procházení trasy s instruktorem. Pokud by m$l mo&nost získat mobilní telefon s bezdrátovou klávesnicí, kde by bylo v%e ji& nastaveno, velmi rád by jej pou&íval ka&d' den. Problémy Tento u&ivatel m$l veliké zku%enosti s pou&íváním po"íta"e a numerické klávesnice, proto byl ze za"átku p#ekvapen', &e má klávesnice jinak rozlo&ené klávesy (p#emapováno po prvním u&ivateli). Druh' u&ivatel byl trochu zmaten hlá%kou „QR kód není k dispozici“, pokud pou&il ov$#ení pozice v dob$, kdy jeho aktuální pozice v systému byla na míst$, kde se nenacházel QR kód. Hlá%ka na n$j p(sobila jako nedostupná funkce.
56
Testování (8) P#i prvním na"ítání QR kódu m$l trochu problémy s jeho zam$#ením pomocí kamery mobilního telefonu. Navíc QR kód na"ítal v míst$, kde se nacházely p#í"né dve#e na chodb$, tudí& by mohlo dojít i k úrazu, nap#íklad p#i prudkém otev#ení dve#í. mEQEN d`(-":1*'N' T#etí u&ivatel vyu&ívá ozvu"en' stolní po"íta", mobilní telefon se "te"kou, VPN na dopravu, color test a gin. Psaní na klávesnici jí vyhovovalo. M$la problém s p#epínám Caps locku na velká a malá písmena. P#i ovládání mobilního telefonu se jí nelíbilo p#epínání re&im( klávesnice. Vadilo jí pou&ití jednoho tla"ítka pro jiné funkce v odli%n'ch re&imech, nap#. sm$rové %ipky nebo písmena. P#i navigování m$la problémy pou&ívat dv$ za#ízení. Pokud se nacházela v hlu"ném prost#edí, dávala si klávesnici k uchu, z#ejm$ ze zvyku pou&ití mobilního telefonu. Nelíbili se jí rozd$lené popisy. Mobilní telefon a klávesnici odd$len$ by jako hlavní komunika"ní za#ízení pou&ívat spí%e necht$la, vyhovuje jí její stávající mobilní telefon. Problémy Nejv$t%ím problém z#ejm$ bylo pou&ití dvou za#ízení. U&ivatelce tento zp(sob ovládání p#íli% nevyhovoval. Je hodn$ zvyklá na sv(j mobilní telefon, kter' si m(&e dát k uchu, kdy& %patn$ sly%í. Dále jí hodn$ vadilo p#epínání funk"ních stav( klávesnice. Externí ovládání by roz%í#ila o dal%í ovládací klávesy, nap#íklad "ty# sm$rn' ovládací k#í& apod. Velmi "asto d$lala omylem p#eklepy na dotykovém displeji, co& jí znep#íjem)ovalo pr(chod testovací trasou. Nemá ráda p#íli% podrobn' popis. P#epnout na jinou úrove) popisu by ji ve shonu a stresu z neznámého prost#edí ani nenapadlo. Nevyhovoval jí hlasov' v'stup Svox. Má ráda mobilní telefon s opera"ním systémem windows mobile, kter' pou&ívá a je na n$j zvyklá. mEQEQ d`(-":1*'Q' Pou&ívá mobilní telefon s hlasov'm v'stupem. Dále pak ozvu"en' notebook a stolní po"íta". Ze stolního po"íta"e je zvykl' na pou&ití numerické klávesnice.
57
Testování (8) Psaní a ovládání mobilního telefonu mu vyhovovalo, m$l trochu problém s pou&itím klávesy NumLock jako backspace. P#i navigování má rád údaje o vzdálenostech, které má ujít. Moc dob#e se neorientoval v neznám'ch prostorách. Poslouchal p#íkazy navigace hodn$ dop#edu a mnohdy p#ekliknul na dal%í popis, je%t$ ne& doposlechl p#edchozí. Líbilo se mu kompletní ozvu"ení systému, mo&nost ovládat cel' telefon bezdrátovou klávesnicí, kvalita syntézy a zvlá%t$ oce)oval funkci ov$#ení pozice. V praxi by s sebou necht$l nosit dv$ za#ízení, a proto by takto nastaven' systém nepou&íval. Má rád v%e v jednom za#ízení. Problémy Velmi "asto se mu stalo, &e se dotkl dotykové plochy na mobilním telefonu a minimalizoval aplikaci nebo provedl akci, kterou necht$l. Nelíbilo se mu nestandardní vyu&ití kláves numerické klávesnice, která byla pou&ita k externímu ovládání, proto&e je na numerickou klávesnici zvykl' od stolního po"íta"e. P#i hledání správného tla"ítka patra ve v'tahu m$l problémy se "tením Braillova písma, rad%i by se n$koho zeptal, nebo zkou%el tak dlouho, dokud by neusp$l. Pou&ití podrobn$j%ího popisu by ho ve shonu nenapadlo, ale pravd$podobn$ by jej vyu&il, aby snadno ur"il, které tla"ítko má stisknout. Pou&ití dvou za#ízení mu není p#íjemné, zvlá%t$ kdy& má n$kam jít a pou&ívat je. mEQET d`(-":1*'T' Pou&ívá VPN na dopravu, ozvu"en' stolní po"íta" s Braillov'm #ádkem a v poslední dob$ pou&ívá i ozvu"en' mobilní telefon, 3 t'dny. Ovládání telefonu mu vyhovovalo, ale psaní mu moc nevyhovovalo. Ani na svém mobilním telefonu nepí%e SMS. Text zadává pouze do stolní po"íta"e pomocí klávesnice. Nevyhovuje mu na"ítání QR kódu pro ur"ení pozice, proto&e se mu neda#il dlouhou dobu na"íst. Stále p#ikládal mobilní telefon p#ímo k n$mu a nevyzkou%el kód na"íst z v$t%í vzdálenosti. Navigování po trase se mu líbilo. Trasu pro%el velmi rychle. V prostoru se velmi dob#e orientoval a nem$l potí&e ani se slo&it$j%ími úseky trasy.
58
Testování (8) Problémy Ob"as se dotkl LCD mobilního telefonu, a minimalizoval aplikaci, nebo provedl akci, kterou necht$l. Nevyhovovala mu vysoká podrobnost popisu. P#i navigování mu vadili dv$ za#ízení na krku. Pou&ití zvlá%* klávesnice a zvlá%* telefonu mu p#i%lo nezvyklé. P#i ni&%í úrovni popisu by uvítal zd(razn$ní nebezpe"í. mEQEV d`(-":1*'V' Pou&ívá ozvu"en' po"íta". Pou&ívá mnoho mobilních telefon(, n$které i s dotykov'm displejem. Ovládání velmi chválil, líbilo se mu usnadn$ní oproti pou&ívání mobilního telefonu bez externí klávesnice. Psaní na bezdrátové klávesnici mu bylo v porovnání s psaním na virtuální softwarové klávesnici v mobilním telefonu hodn$ pohodlné. Obzvlá%t$ pak odezva na stisky kláves. Na"ítání QR kód( mu ned$lalo nejmen%í problémy, dokázal sám nalézt synchroniza"ní kód a velmi rychle ho na"etl. P#ipravenou trasu pro%el v pom$rn$ krátkém "ase. Chválil podrobnost popisu, rychlost odezvy ovládání, hlasovou syntézu a funkce ov$#ení pozice a odsko"it na toaletu. O ovládací aplikaci má velik' zájem, cht$l by ji pou&ívat ve spojení s externí klávesnicí co nejd#íve. Naviga"ní aplikaci by také cht$l do svého mobilního telefonu. Problémy Jedin' problém vid$l testovan' v tom, &e nebyl automaticky upozorn$n na mo&nost vyu&ití klávesy 9 pro nápov$du (p#e"tení v'znamu v%ech kláves).
mET PA9*1#4J':19:+-$%&'")*(4"01'"'1^:1/%&5+'+-*$#$%&' Z test( vypl'vá, &e externí za#ízení je pohodln'm prost#edkem k ovládání mobilního telefonu s dotykovou obrazovkou. Ov%em ne ka&d' u&ivatel by byl ochoten nosit s sebou dv$ za#ízení. Naviga"ní aplikace se p#i testech ukázala jako pou&itelná a velmi nápomocná p#i samostatném pohybu zrakov$ posti&en'ch osob v neznámém prost#edí. Podrobn$j%í informace o v'sledcích tetování jsou v následujících kapitolách.
59
Testování (8) mETEC ;-*$#$%&',+8(*%&5+':1*1M+%?' Aplikace Klávesnice Naviterier se líbila v$t%in$ ú"astník( testu. P#i jejím pou&ití ve spojení s externí klávesnicí se jim líbila mo&nost ovládat cel' mobilní telefon. N$kte#í testovaní v%ak shledali pou&ití externí klávesnice k ovládání mobilního telefonu v praxi, nap#íklad k navigování, jako ne p#íli% vhodné, z d(vodu nutnosti nosit dal%í za#ízení. mETEG 29"%&':1^:?' V$t%ina testovan'ch nem$la problémy s pou&itím externí klávesnice a aplikace Klávesnice Naviterier k vkládání textu. Z reakcí r(zn'ch testovan'ch osob v%ak vypl'vají r(zné nastavení rozlo&ení kláves. N$komu více vyhovuje rozlo&ení jako u mobilního telefonu, jin'm pak vyhovuje standardní nastavení numerické klávesnice. Preference rozlo&ení kláves pak v$t%inou vypl'vá z "etnosti pou&ívání standardní numerické klávesnice u stolního po"íta"e. Bylo by vhodné umo&nit u&ivatel(m definovat vlastní rozlo&ení kláves. mETEN O"-(H+-$%&' Pou&ití aplikace Naviterier a bezdrátové klávesnice k navigování bylo shledáno jako pou&itelné. Ne v%em u&ivatel(m toto #e%ení p#ipadalo vhodné pro vyu&ití v praxi. Velkou roli na vytvo#ení tohoto názoru m$l také fakt, &e po celou dobu testu byla aktivní dotyková plocha mobilního telefonu a ob"as tak docházelo k necht$n'm p#eklep(m. mETEQ PA83/'8+#>':/"9J' Filtrování bod( pro v'b$r trasy podle p#ibli&ného zadaného textu je velmi vhodné a u&ivatel(m usnad)uje zadání v'chozího a cílového bodu trasy. Tato funkce byla kladn$ hodnocena v%emi u&ivateli, zejména pak ta vlastnost, &e není nutné napsat cel' název bodu. Dále pak ocenili mo&nost p#eklepu v názvu. mETET ;94+U(:'%"':+"*1:?' Tato funkce se zdála testovan'm jako velmi u&ite"ná, obzvlá%t$ p#i pohybu v neznám'ch prostorech. mETEV O"U&:$%&'SL'4B#>' Z test( vypl'vá, &e na"ítání QR kód( k ov$#ení pozice je vhodné k synchronizaci skute"né pozice u&ivatele s jeho p#edpokládanou pozicí v systému. N$kte#í u&ivatelé by p#ed pou&itím této funkce pot#ebovali podrobn$j%í instrukce, jako jak mobilní telefon správn$ dr&et a v jaké vzdálenosti od kódu s ním pohybovat, aby bylo na"tení jednoduché a pohodlné. Druh' pokus o na"tení QR kódu na konci trasy ji& probíhal bez v$t%ích potí&í.
60
Záv!r (9)
n !$-3/' Tvorba této diplomové práce mi z hlediska vybraného tématu p#i%la velice zajímavá. S obdobnou problematikou jsem se setkal p#i zpracovávání bakalá#ské práce a velice mne zaujala. P#i vypracovávání diplomové práce jsem se setkal s #adou nov'ch a zajímav'ch technologií, které jsem musel nastudovat.
nEC I+9"`1%&'9:"%+-1%A05'0&*>' P#i prvním testování bylo zji%t$no, &e ideálním zp(sobem pro ovládání mobilního telefonu s dotykov'm displejem je pou&ití externího ovládání. Z tohoto testování, které bylo zam$#eno na ovládání mobilního telefonu s dotykovou obrazovkou byla vyvozena nutnost podpory ovládání celého mobilního telefonu pomocí externího ovlada"e. V$t%ina testovan'ch v dotazníku uvedla, &e by navrhovan' zp(sob ovládání pou&ívali v p#ípad$, &e by jim bylo umo&n$no pou&ívat cel' mobilní telefon a ve%keré jeho funkce. Po zohledn$ní v'sledk( prvního testování byla navr&ena aplikace, která je schopná usnadnit ovládání celého mobilního telefonu zrakov$ posti&en'm osobám pomocí externího ovládání. Aplikace má t#i re&imy - ovládací, psaní symbol( a psaní "ísel, díky nim& umo&)uje u&ivateli pohodlné a bezproblémové ovládání v%ech funkcí mobilního telefonu s dotykovou obrazovkou. Dále byla navr&ena aplikace, která je schopná na"íst soubor s popisem schématu budovy, jeho& struktura byla navr&ena tak, aby vyhovovala indoor i outdoor naviga"ní aplikaci. Navr&ená a implementovaná indoor naviga"ní aplikace je schopna mezi na"ten'mi body ze souboru s mapou budovy nalézt nejvhodn$j%í trasu, která nejlépe vyhovuje u&ivatelsk'm preferencím a nastavení. Aplikace umo&)uje u&ivateli synchronizaci jeho polohy s p#edpokládanou polohou u&ivatele v systému pomocí na"tení QR kódu. P#i neshod$ poloh je u&ivatel o tomto faktu aplikací informován a jeho trasa je automaticky p#epo"ítána. U&ivatel má také mo&nost kdykoliv do trasy vlo&it úsek vedoucí p#es nejbli&%í toalety. Aplikace ovládající mobilní telefon spolu s naviga"ní aplikací byly otestovány. Testování potvrdilo pou&itelnost externího ovládání k usnadn$ní ovládání mobilního telefonu. P#i orientaci v neznámém prost#edí se ukázal prototyp naviga"ní aplikace jako velmi u&ite"n'. P#esto&e n$kter'm u&ivatel(m nevyhovovalo pou&ití dvou za#ízení v n$kter'ch situacích p#i navigování v interiéru, ob$ dv$ aplikace se setkali s mnoha kladn'mi ohlasy, co& pova&uji za velk' úsp$ch.
nEG 2+4/"U+-$%&'-A-+@1' Vzhledem ke kladn'm ohlas(m na ob$ testované aplikace doporu"uji pokra"ovat v jejich v'voji. V této kapitole bych rád zmínil n$kolik mo&n'ch roz%í#ení, které by vedly ke zlep%ení naviga"ního sytému a zv'%ení pou&itelnosti ovládací aplikace. 61
Záv!r (9) nEGEC h+`%+9:'-*"9:%&5+'%"9:"-1%&'/+=,&9:3%&'4*$-19'?'+-*$#$%&' P#i testování obou aplikací jsem mnohokrát narazil na odli%nou preferenci rozlo&ení kláves. N$kter'm u&ivatel(m vyhovovalo rozlo&ení kláves podobné numerické klávesnici, jiní u&ivatelé naopak preferovali rozmíst$ní kláves jako u mobilního telefonu. Bylo by tedy vhodné doplnit aplikaci Klávesnice Naviterier o mo&nost nastavení vlastního rozmíst$ní kláves. Dále by bylo zajímavé otestovat pou&ití jin'ch re&im( klávesnice nebo dokonce jejich samostatné definování u&ivateli. nEGEG 2b(#$%&')+)(914'R/"(**+-A05'=%"4>'#+')+#/+8%.5+')+)(9?' P#i testování se ukázalo &e n$kte#í zrakov$ posti&ení lidé, p#evá&n$ pak ti co p#i%li o zrak v pr(b$hu svého &ivota, mají problémy se "tením Braillova písma. Proto by bylo vhodné p#idávat do podrobného popisu i to, co je b$&n$ popsáno Braillov'm písmem. nEGEN PA?4"'%"U&:$%&'SL'4B#>')/+'%+-.'?`(-":1*1' Zvá&it mo&nost p#idání v'ukového programu na"ítání QR kódu pro nové a nezku%ené u&ivatele. P#i testování m$li toti& n$kte#í ú"astníci problémy s prvotním na"tením QR kódu pomocí fotoaparátu mobilního telefonu. Kdy& zjistili jaká je ideální vzdálenost a nalezli vhodnou techniku pro na"tení kódu, nem$li s touto "inností ji& problémy. nEGEQ d,&9:3%&'SL'4B#>' P#i testování se ukázalo, &e umís*ování QR kódu na v%echny body v budov$ není vhodné. Zvlá%t$ pak p#i umíst$ní na kolmé dve#e na chodb$, kde chodí mnoho lidí. U&ivatel by se mohl zastavit u dve#í a na"ítat QR kód ve chvíli, kdy n$kdo dve#mi bude procházet, by mohlo dojít k úrazu. Z tohoto d(vodu by bylo vhodné QR kódy ozna"ovat pouze místa, která nejsou tak frekventovan$ vyu&ívána, nap#íklad podélné dve#e kancelá#í nejsou tak "asto pou&ívány a je mo&né u nich QR kód umístit tak, aby nebyl u&ivatel p#i na"ítání v ohro&ení. nEGET F*$64"'+'%1#+9:?)%+9:('SL'4B#?' Je zapot#ebí nalézt vhodnou hlá%ku upozor)ující u&ivatele na absenci QR kódu v n$kter'ch "ástech budovy tak, aby nebyla zam$)ována s neaktivností na"ítací funkce. Je toti& mo&né nalézt QR kód na jiném míst$ a je d(le&ité aby si u&ivatel p#i pokusu o jeho na"tení kv(li hlá%ce nemyslel, &e je funkce nedostupná. nEGEV h"^(,"*(="01'")*(4"01'"'-J)%?:&'9%&,$%&'#+:J4?' Do budoucna by bylo vhodné nastavit aplikaci tak, aby se spou%t$la p#es celou obrazovku. N$kolikrát se p#i testování u&ivatel(m stalo, &e zaktivovali informa"ní stahovací li%tu a hlasov' syntetizátor za"al p#ed"ítat její obsah. Tomu by bylo mo&né zabránit ji& d#íve zmín$nou maximalizací aplikace.
62
Záv!r (9) P#i testování se n$kter'm u&ivatel(m mnohdy stalo, &e se omylem dotknuli obrazovky mobilního telefonu a provedly tak necht$nou akci. Ve v'jime"n'ch p#ípadech nemuselo ani dojít k fyzickému kontaktu ruky a dotykového displeje, sta"il pouze dotek displeje a t$la u&ivatele p#es od$v. I tak málo mnohdy sta"ilo k naru%ení elektrostatického pole displeje a následné registraci doteku. Pokud by byl pou&íván mobilní telefon se standardními ovládacími klávesami, tento problém by ani nenastal. Bylo by tedy vhodné p#i navigování u&ivatele dotykovou plochu vypnout a p#edejít tak necht$n'm akcím. nEGEZ 7?:+,":(04$'"4:?"*(="01',")' Automatickou aktualizaci ji& sta&en'ch soubor( s popisem budovy by uvítala v$t%ina testovan'ch u&ivatel(. Bylo by proto vhodné zjistit, kolik nevidom'ch u&ivatel( pou&ívá mobilní p#ipojení k Internetu, které by mohlo b't vyu&ito pro tento ú"el. V'hodou tohoto #e%ení by pak byla p#ítomnost aktuální mapy v p#ístroji u&ivatele, tak&e p#i náv%t$v$ budovy, ve které ji& byl, by byl informován o zm$nách nebo by byl veden úpln$ jinou, dynamicky vypo"ítanou trasou.
63
Literatura a pou"ité materiály (10)
Cq r(:1/":?/"'"')+?`(:.',":1/($*J' [1]
Android OS [online]. 2011-01-03. Dostupn' z WWW:
.
[2]
2D #árové kódy [online]. 2011-03-05. Dostupn' z WWW: < http://www.mjournal.cz/cs/marketing/nove-trendy/2d-carove-kody__s302x5073.html>
[3]
QR kódy [online], 2011-01-01. Dostupn' z WWW:
.
[4]
QR kódy a BeeTagg [online], 2011-02-10. Dostupn' z WWW: .
[5]
BeeTagg [online]. Dostupn' z WWW: .
[6]
Android SDK [online]. Dostupn' z WWW: .
[7]
Svox Classic [online]. Dostupn' z WWW: .
[8]
Barcode scanner [online]. Dostupn' z WWW: .
[9]
iOS Voice over [online]. Dostupn' z WWW: .
[10]
Dijkstr'v algoritmus [online]. Dostupn' z WWW: .
[11]
Floyd–Warshall'v algoritmus [online]. Dostupn' z WWW: .
[12]
CVETLER, Pavel. Mobilní navigace nevidom%ch osob v interiérech. [s.l.], 2009. 116 s. !eské vysoké u"ení technické v Praze. Fakulta elektrotechnická. Katedra v'po"etní techniky. Vedoucí bakalá#ské práce Ing. Jan Vystr"il. Dostupn' z WWW: .
[13]
VYSTR!IL, Jan. U!ivatelské rozhraní pro navigaci nevidom%ch osob v budovách pomocí mobilního telefonu. [s.l.], 2008. 116 s. !eské vysoké u"ení technické v Praze. Fakulta elektrotechnická. Katedra v'po"etní techniky. Vedoucí
65
Literatura a pou"ité materiály (10) diplomové práce Ing. Zden$k Míkovec, Ph.D. Dostupn' z WWW: . [14]
Android fórum [online]. Dostupn' z WWW:
[15]
Tekla [online]. Dostupn' z WWW:
[16]
Inteligentní slepecká h'l [online]. Dostupn' z WWW:
[17]
Braillovo písmo na dotykovém LCD [online]. Dostupn' z WWW:
[18]
Braillovo písmo na dotykovém LCD [online]. Dostupn' z WWW:
[19]
PST [online]. Dostupn' z WWW:
[20]
Marvin Shell [online]. Dostupn' z WWW:
[21]
Úprava Android OS pro HID [online]. Dostupn' z WWW:
[22]
Mobile Accessibility – Code Factory [online]. Dostupn' z WWW:
66
Dodatek A, Seznam pou"it#ch zkratek
I+#":14'7o '<1=%",')+?`(:A05'=4/":14' BT
Bluetooth
HW
Hardware
SW
Software
OS
Opera"ní systém
GPS
Systém globální navigace (Global Positioning System)
GSM Globální systém pro mobilní komunikaci (Global System for Mobile Communications) SDK Nástroj pro v'voj SW (Software development kit)
67
Dodatek B, Dotazníky z testování
I+#":14'Ro 'I+:"=%&4J'=':19:+-$%&' Testování pou"itelnosti externího ovládání P#ed testem 1. Kolik Vám je let? 2. Jaké máte posti&ení? 3. Jak dlouho máte posti&ení? 4. Jaké máte vzd$lání? 5. Jaké pom(cky pro zrakové posti&ené pou&íváte? 6. Jak' pou&íváte mobilní telefon? 7. Co u MT hlavn$ pou&íváte? 8. Jak "asto zadáváte n$jak' text v mobilním telefonu? 9. Jak'm zp(sobem zadáváte text v mobilním telefonu? 10. S jak'm OS pou&íváte mobilní telefon? 11. Co vám na n$m vyhovuje/nevyhovuje?
Po testu 1. 2. 3. 4.
Zdál se Vám úkol obtí&n'? Co se Vám na ovládání líbilo? Co Vám na ovládání vadilo? Co byste na ovládání zlep%il?
69
Dodatek B, Dotazníky z testování Testování aplikace a externího ovládání P#ed testem 1. 2. 3. 4. 5. 6. 7.
Kolik Vám je let? Jaké máte posti&ení? Jak dlouho máte posti&ení? Jaké pom(cky pro zrakové posti&ené pou&íváte? Jak' pou&íváte mobilní telefon? Co u MT hlavn$ pou&íváte? S jak'm OS pou&íváte mobilní telefon?
Po testu 1. 2. 3. 4. 5.
Zdál se Vám úkol obtí&n'? Pou&íval by jste takto upraven' mobilní telefon? Co se Vám líbilo? Co Vám vadilo? Co byste zlep%il?
71
Dodatek C, Fotografie z test&
I+#":14'lo 'X+:+H/"M(1'=':19:>'
Obrázek 10-1: Testování aplikace v praxi
Obrázek 10-2: Testování aplikace v praxi - QR kód
73
Dodatek C, Fotografie z test&
Obrázek 10-3: Testování aplikace v praxi - na%ítání QR kódu
74
Dodatek D, Instala%ní a u"ivatelská p$íru%ka
I+#":14'Io'[%9:"*"U%&'"'?`(-":1*94$')b&/?U4"' [%9:"*"01' Instala"ní balíky obou aplikací se nachází na p#ilo&eném CD ve slo&ce apk a je mo&né je nainstalovat na libovoln' mobilní telefon s opera"ním systémem Android v2.1 a vy%%í. Pro p#esn' popis instalace prostudujte p#íru"ku od v'robce dodávanou s Va%ím mobilním telefonem.
d`(-":1*94$')b&/?U4"'4*$-19%(01' Po nainstalování Klávesnice Naviterier sta"í tuto klávesnici nastavit jako v'chozí softwarovou klávesnici. Funkce klávesnice jsou popsány v Tabulce D-1. Klávesa na externím ovlada%i
Funkce telefonu (Re"im ovládání)
Funkce telefonu (Re"im %íslic)
Funkce telefonu (Re"im psaní)
Enter
Potvr+ v'b$r
Volat/Poslední hovory
Potvr+ v'b$r
Plus (+)
Zp$t
Ukon"it hovor
Zp$t
Mínus (-)
Zm$na módu klávesnice
Zm$na módu klávesnice
Zm$na módu klávesnice
)árka (, / .)
Klávesa MENU
Klávesa MENU
Caps lock
Hv!zda (*)
Klávesa HOME
Hv$zda (*)
Klávesa HOME
Lomítko (/)
Klávesa napájení
K#í&ek (#)
Backspace
Nula (0)
0
{mezera,0}
Jedna (1)
1
{.,,,1}
2
{a,b,c,A,B,C,2}
3
{d,e,f,D,E,F,3}
4
{g,h,i,G,H,I,4}
5
{j,k,l,J,K,L,5}
6
{m,n,o,M,N,O,6}
7
{p,q,r,s,P,Q,R,S,7}
8
{t,u,v,T,U,V,8}
9
{w,x,y,z,W,X,Y,Z,0}
Dva (2)
-ipka dol(
T$i (3) )ty$i (4)
-ipka vlevo
P!t (5) *est (6)
-ipka vpravo
Sedm (7) Osm (8) Dev!t (9)
-ipka nahoru
Tabulka 10-1: SW mapování funkcí HW klávesnice
' '
75
Dodatek D, Instala%ní a u"ivatelská p$íru%ka
d`(-":1*94$')b&/?U4"'")*(4"01' Po spu%t$ní aplikace se Vám zobrazí úvodní obrazovka (Obrázek D-1) s v'b$rem schématu budovy.
Obrázek 10-4: Úvodní obrazovka
Po vybrání schématu budovy budete p#esm$rováni na v'b$r po"áte"ního a koncového bodu trasy (Obrázek D-2). Vyhledávání bod( trasy je zp#íjemn$no algoritmem p#ibli&ného vyhledávání. Po napsání dostate"ného po"tu symbol( bude vráceno malé mno&ství bod(, ze kterého poté vyberte po&adovan' bod trasy.
Obrázek 10-5: V#b!r bodu trasy
Po vybrání posledního bodu navigace m(&ete aplikaci ovládat tla"ítky. Jejich v'znam popisuje Tabulka D-2.
76
Dodatek D, Instala%ní a u"ivatelská p$íru%ka Klávesa V#znam 1
Krok zp$t
2
Aktuální krok
3
Dal%í krok
4
Zm$nit podrobnost popisu
5
Ov$#ení pozice
7
Odsko"it na toalety
8
Jít zp$t na za"átek trasy
9
Zopakovat v'znam kláves
0
Zadat novou trasu Tabulka 10-2: Mapování funkcí na tla%ítka
77
Dodatek E, Obsah p$ilo"eného CD
I+#":14']o ';89"5')b(*+`1%.5+'lI' apk/
- adresá# s *.apk souborem aplikace Naviterier a NaviterierKlavesnice
mod/
- vedozáznamy z testování
src/
- projekt se zdrojov'mi kódy aplikace
text/
- adresá# obsahující vlastní text DP
install.txt
- informace k instalaci a spou%t$ní aplikace
readme.txt
- popis adresá#( a soubor( na CD
79