Správce kontaktů [HT-NEVIDOMI]
A4M39NUR
Lukáš Viezán
[email protected] 1/31
Obsah Zadání...................................................................................................................................................3 Interview...............................................................................................................................................3 Okruhy a otázky...............................................................................................................................3 Přepis rozhovorů.........................................................................................................................4 Analýza dat a nalezené problémy...............................................................................................6 Funkční požadavky...............................................................................................................................6 Use cases a scénáře...............................................................................................................................7 Sketche.................................................................................................................................................9 Storyboard..........................................................................................................................................10 Hierarchical Task Analysis (HTA)......................................................................................................12 Plány..............................................................................................................................................12 Lowfidelity prototype.........................................................................................................................14 Pokryté scénáře..............................................................................................................................14 Prototyp..........................................................................................................................................14 Seznam připravených sentencí..................................................................................................14 Cíle testu........................................................................................................................................17 Příprava testu.................................................................................................................................17 Průběh testu....................................................................................................................................18 Poznatky z testu.............................................................................................................................18 high-fidelity prototype........................................................................................................................19 Tvorba prototypu...........................................................................................................................19 Zahrnuté scénáře.......................................................................................................................19 Ovládání a funkcionalita aplikace.............................................................................................20 Pokročilé gesta..........................................................................................................................23 State-transition diagram............................................................................................................24 Implementační problémy..........................................................................................................25 Průběh testování.............................................................................................................................25 Cíle testování.............................................................................................................................25 Nastavení testu..........................................................................................................................25 Průběh testu...............................................................................................................................26 Závěry.......................................................................................................................................28 Doporučení................................................................................................................................28 Vývojářská dokumentace...................................................................................................................29 Interakce uživatele.........................................................................................................................29 Audio výstup..................................................................................................................................29 Funkční požadavky........................................................................................................................29 Dokumentace kódu........................................................................................................................30 Seznam aktivit...........................................................................................................................30
2/31
Zadání Úkolem práce je navrhnout a vytvořit aplikaci pro těžce zrakově postižené a ověřit smysluplnost, funkčnost a přístupnost aplikace na cílovém zařízení. Pro tento účel byla vyprána aplikace Správce kontaktů pro mobilní telefony s dotykovým displejem a klávesnicí. Funkčnost aplikace bude vycházet ze stávajících řešení a navíc bude implementovat požadavky plynoucí z potřeb zrakově postižených.
Interview Cílem interview je získat potřebné informace pro vytvoření aplikace určenou pro osoby s úplnou či praktickou slepotou. Za tímto účelem byly ve spolupráci s panem Zdeňkem Mlíkovcem pozváni dva respondenti s úplnou slepotou k interview týkající se osobní komunikace, mobilních technologiích i technologiích obecně z hlediska zrakově postižených. Data získaná při těchto interview byla zanalyzována a poslouží při návrhu a tvorbě aplikace pro správu kontaktů pro dotykový mobilní telefon, tak aby byl uživatelsky co nejvíce přívětivý právě osobám se zrakovým postižením.
Okruhy a otázky 1. Komunikace s ostatními osobami 1.1. Nejčastější způsob komunikace s ostatními osobami 1.2. Nejpreferovanější způsob komunikace s ostatními osobami 1.3. Klady a zápory stávajících způsobů komunikace 1.4. Počet osob se kterými pravidelně komunikuje 1.5. Počet kontaktů uložených v mobilním telefonu 2. Technologie obecně 2.1. Vztah k technologiím obecně 2.2. Zkušenosti s jednotlivými technologiemi 2.3. Problémy s používání technologiemi obecně 2.4. Rychlost přizpůsobení novým technologiím 2.5. Způsob učení se novým technologiím 3. Mobilní telefon a jeho aplikace 3.1. Aplikace používané na mobilním telefonu 3.2. Problémy s používáním těchto technologií 3.3. Zkušenosti s používáním dotykových telefonů 3.4. Klady a zápory dotykových telefonů z hlediska nevidomých 4. Práce s mobilním telefonem 4.1. Popis postupu hledání v kontaktech, editace atd... 4.2. Nevýhody a nesnáze těchto postupů 4.3. Používání klávesových zkratek pro jednotlivé osoby 3/31
4.4. Specifické vyzvánění pro jednotlivé osoby 4.5. Rozdělení kontaktů do skupin 5. Hlasové ovládání 5.1. Zkušenosti s hlasovým ovládáním 5.2. Názor na hlasové ovládání obecně 6. Syntéza řeči 6.1. Zkušenosti se syntézou řeči 6.2. Oblíbený hlasový syntetizátor 6.3. Neoblíbený hlasový syntetizátor a důvod neoblíbenosti
Přepis rozhovorů 1. Komunikace s ostatními osobami 1.1. Oba dotazovaní nejčastěji ke komunikaci volí volání mobilním telefonem následované emailovou komunikací. Dalšími často využívanými možnostmi komunikace je přímí kontakt a SMS správy. Nejméně používanými způsoby komunikace jsou Skype a chatovací nástroje typu ICQ. 1.2. Žebříček nejpreferovanějších způsobů komunikace de facto kopíruje žebříček nejčastějších voleb. Vyjímkou je přímý kontakt, který je v žebříčku umístěn na prvním místě. 1.3. Klady i zápory se odvíjejí především k uživatelské přívětivosti daných nástrojů což se odráží ve vysokém hodnocení mobilních technologiích a emailu. Záporně se pak tato vlastnost podepisuje na chatovacích nástrojích typu ICQ. Nevýhodou přímého kontaktu s ostatními osobami je pak především horší mobilita a dostupnost některých míst. 1.4. V obou případech se jedná řádově o jednotky osob v rozmezí 1-5. 1.5. Počet kontaktů uložených v mobilní telefonu se pohybuje v rozmezí 150 – 200. Většina z nich jsou kontakty na služby typu taxi, opravy atd... 2. Technologie obecně 2.1. Oba dotazovaní deklarují dlouhodobě kladný vztah k technologiím, především v oboru počítačových a mobilních technologiích. 2.2. V obou případech jsou dotazovaní zkušení uživatelé na profesionálními znalostmi a dlouhodobými zkušenostmi vysoce překračující znalosti a zkušenosti řádového uživatele. 2.3. Z pohledu obou dotazovaných se jako hlavní problém jeví vysoké zaměření aplikací na grafický vzhled, což neumožňuje efektivně číst screen-readerem text tak, aby mu bylo možno porozumět. Některé technologie (flash, java) takto nejde použít vůbec. 2.4. Ani jeden z dotazovaných nezaznamenává žádné výrazné problémy při přizpůsobování nových aplikacím a technologiím. Průměrná doba k naučení se pohybuje v řádové hodinách či dnech. 2.5. Způsob učení nových technologií se u obou dotazovaných liší. Prvním způsobem učení je přečtení textového manuálu, nejčastěji v podobě PDF. Druhým způsobem je učení pokus – omyl a využívání předchozích zkušeností s daným typem technologie. 4/31
3. Mobilní telefon a jeho aplikace 3.1. Oba dotazovaní používají ve svém mobilním telefonu základní funkce a aplikace typu: volání, SMS, kalendář, jednotlivě pak kalkulačku a MP3 přehrávač. 3.2. Problémy spojené s užíváním dříve vypsaných aplikací jsou totožné jako u stejných technologiích. Oba dotazovaní se však shodují na tom, že aplikace, které jsou součástí jejich OS jsou pro čtečku textu přívětivé a ovládání aplikací je pohodlné. 3.3. Zkušenost s dotykovými telefony deklaroval pouze jeden dotazovaný a to pouze krátkodobou a pouze zápornou zkušenost. 3.4. Z výpovědi jednoho dotazovaného vyplývá, že především psaní textu je pro nevidomé nepřekonatelným problémem při užívání dotykových telefonů. 4. Práce s mobilním telefonem 4.1. Oba dotazovaní zvládají operace s kontakty bez nejmenších problémů, oba postupují především zpaměti, pouze u vyhledávání kontaktů se spoléhají na hlasového průvodce. Jeden z respondentů by uvítal zabudování funkce posílání vizitek ostatním osobám přes mobilní telefon. 4.2. Ani jeden z respondentů neuvedl žádný problém nebo nevýhodu při manipulaci s kontakty. 4.3. Ani jeden z respondentů nepoužívá klávesových zkratek pro rychlou volbu volaného. O možnosti buď neví nebo nemá okruh lidí, pro které by byla tato volba výhodná. Navíc je zde nutnost si pamatovat jednotlivé klávesové zkratky a obtížná kontrola, zda je voláno opravdu osobě, kterou respondent požaduje. 4.4. Specifické vyzvánění má navoleno jeden respondent a pouze pro malý okruh lidí. Druhý respondent považuje funkci za zbytečnou a matoucí. 4.5. V jednom případě respondent uvedl že jeho systém neumožňuje rozdělení kontaktů do specifických samostatně zvolených skupin. Druhý respondent rozdělení do skupin hojně využívá a velmi si ho pochvaluje. 5. Hlasové ovládání 5.1. Oba respondenti shodně deklarují zkušenosti s hlasovým ovládáním, stejně tak se shodují s obtížným využití v praxi. Problémem je především malá přesnost dostupných programů a nepohodlná kontrola napsaného textu. 5.2. Zatímco jeden z respondentů dává hlasovému ovládání slušnou budoucnost, druhý neočekává velké úspěchy na poli ovladatelnosti aplikací určených pro nevidomé, především pro již zmíněnou nepohodlnou kontrolu. 6. Syntéza řeči 6.1. Oba dotazovaní deklarují dlouhodobé zkušenosti s nástroji pro syntézu řeči a čtení textu. Problémy vidí především u jednotlivých syntetizátorů než u syntézy řeči obecně. 6.2. Mojžíškův hlas a WinTalker Voice. 6.3. Zuzana. Problém vidí především v její nedokonalé inteligenci, která je spíše přítěží.
5/31
Analýza dat a nalezené problémy Během interview se mi podařilo získat velmi cenná data a přehled o práci nevidomých s mobilními telefony. Jako hlavní problém pro tvorbu a nasazení plánované aplikace se jeví především nechuť nevidomých používat dotykové mobilní telefony na které je aplikace směřována. Při návrhu musí brát zřetel na nevhodnost používání klasických grafických menu či toolbarů a grafických úprav obecně. Aplikace musí být intuitivní, polohově nezávislé, tak aby bylo čitelné aplikacemi pro čtení textu. Zároveň budoucí potencionální uživatelé spíše preferují aplikaci se základními funkcemi než přebujelou multifunkční aplikaci. Během interview byl zaznamenám nápad na funkci posílání vizitek ostatním osobám v kontaktním listu. Dále také kladné ohodnocení získala služba rozdělení kontaktů do několika skupin, umožňující zjednodušené prohledávání. Naopak nepotřebnou se dle proběhlých interview jeví funkce přednastavení oblíbených odkazů pro urychlení vyhledání. Závěrem je nutné podotknout, že interview proběhl pouze se dvěma osobami a tudíž nelze data brát jako plně reprezentativní. Zkreslení dat napomáhá i vysoce nadprůměrná znalost mobilních technologií, čímž se mohou sesbíraná data lišit od obecných potřeb nevidomých.
Funkční Požadavky 1. Vytvoření kontaktu 2. Editování kontaktu 3. Mazání kontaktu 4. Vyhledávání kontaktu ◦ Podle jména kontaktu ◦ Podle zařazení do skupiny ◦ Podle posledních používaných kontaktů 5. Zobrazení informací o kontaktu 6. Vytvoření skupiny kontaktů 7. Smazání skupiny kontaktů 8. Editace skupiny kontaktů 9. Odebrání kontaktu ze skupiny kontaktů 10. Posílaní kontaktů jiným osobám 11. Volat na číslo v kontaktu 12. Posílat zprávy na číslo v kontaktu
6/31
Use Cases A Scénáře 1. Vytvoření kontaktu ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Vytvořit nový kontakt“. ◦ Uživatel vyplní údaje ke kontaktu ◦ Uživatel vybere skupiny do kterých má být kontakt uložen ◦ Uživatel uloží kontakt. 2. Editování kontaktu ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Editovat kontakt XYZ“ (jméno aktuálně zvoleného kontaktu) ◦ Uživatel změní údaje ke kontaktu ◦ Uživatel změní skupiny ve kterých má být kontakt uložen ◦ Uživatel uloží kontakt. 3. Smazání kontaktu ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Smazat kontakt XYZ“ (jméno aktuálně zvoleného kontaktu) ◦ Uživatel potvrdí smazání kontaktu ◦ Kontakt se smaže 4. Vyhledávání podle jména kontaktu ze seznamu ◦ Uživatel v seznamu kontaktů roluje jednotlivými kontakty 5. Vyhledávání podle jména kontaktu odpovídající napsanému textu (fulltext) ◦ Uživatel napíše textový řetězec ◦ Aplikace vypisuje průběžně všechny kontakty, které obsahují psaný řetězec 6. Podle zařazení do skupiny ◦ Vyhledání požadované skupiny ◦ Procházení kontaktů stejně jako v UC4 7. Podle posledních používaných kontaktů ◦ Nalezení skupiny posledních používaných kontaktů ◦ Procházení kontaktů stejně jako v UC4 8. Zobrazení informací o kontaktu ◦ Vyhledání kontaktu podle UC 4 – 7 ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Zobrazit kontakt XYZ“ (jméno aktuálně zvoleného kontaktu) 7/31
9. Vytvoření skupiny kontaktů ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Vytvořit novou skupinu“. ◦ Uživatel vyplní údaje ke skupině ◦ Uživatel uloží skupinu. 10. Smazání skupiny kontaktů ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Smazat skupinu XYZ“ (jméno aktuálně zvolené skupiny) ◦ Uživatel potvrdí smazání skupiny ◦ Skupina se smaže 11. Editace skupiny kontaktů ◦ Zobrazení menu v seznamu kontaktů ◦ Zvolení položky „Editovat skupinu XYZ“ (jméno aktuálně zvolené skupiny) ◦ Uživatel změní údaje u skupiny ◦ Uživatel uloží skupinu. 12. Odebrání kontaktu ze skupiny kontaktů ◦ Uživatel nalezne podle UC 6 uživatele ve skupině ◦ Zobrazení menu ◦ Zvolení položky „Odebrat kontakt XYZ ze skupiny ABC 13. Posílaní kontaktů jiným osobám ◦ Vyhledání kontaktu podle UC 4 – 7 ◦ Zobrazení menu ◦ Zvolení položky „Odeslat kontakt“ ◦ Vyplnění čísla příjemce ◦ Odeslat pokyn systému obsluhujícímu posílání textových správ (SMS) 14. Volat na číslo v kontaktu ◦ Vyhledání kontaktu podle UC 4 – 7 ◦ Stisknutí funkční klávesy pro volání (zelené sluchátko apod) ◦ Při vícero uvedených číslech volba čísla na které se má volat 15. Posílat zprávy na číslo v kontaktu ◦ Vyhledání kontaktu podle UC 4 – 7 ◦ Zobrazení menu ◦ Zvolení položky „Napsat správu“ ◦ Odeslat pokyn systému obsluhujícímu posílání textových správ (SMS) 8/31
Sketche
9/31
Storyboard
10/31
11/31
Hierarchical Task Analysis (HTA) Plány 1. Vytvoření kontaktu ◦ 1.3.1.1, 1.3.1.2, 1.1.2, 1.1.6 2. Editování kontaktu ◦ 1.1.1, 1.3.1.1, 1.3.1.2, 1.1.4, 1.1.6 3. Smazání kontaktu ◦ 1.1.1, 1.3.1.1, 1.3.1.2, 1.1.3 4. Vyhledávání podle jména kontaktu ze seznamu ◦ 1.1.1.2 5. Vyhledávání podle jména kontaktu odpovídající napsanému textu (fulltext) ◦ 1.1.1.1 6. Podle zařazení do skupiny ◦ 1.1.1.2 7. Podle posledních používaných kontaktů ◦ 1.1.1.2 8. Zobrazení informací o kontaktu ◦ 1.1.1, 1.3.1.1, 1.3.1.2, 1.1.5 9. Vytvoření skupiny kontaktů ◦ 1.3.1.1, 1.3.1.2, 1.2.2, 1.2.6 10. Smazání skupiny kontaktů ◦ 1.2.1, 1.3.1.1, 1.3.1.2, 1.2.3 11. Editace skupiny kontaktů ◦ 1.2.1, 1.3.1.1, 1.3.1.2, 1.2.4, 1.2.6 12. Odebrání kontaktu ze skupiny kontaktů ◦ 1.2.1, 1.1.1.2, 1.3.1.1, 1.3.1.2, 1.2.5 13. Posílaní kontaktů jiným osobám ◦ 1.1.1, 1.3.1.1, 1.3.1.2, 1.3.4 14. Volat na číslo v kontaktu ◦ 1.1.1, 1.3.1.1, 1.3.1.2, 1.3.2 15. Posílat zprávy na číslo v kontaktu ◦ 1.1.1, 1.3.1.1, 1.3.1.2, 1.3.3
12/31
13/31
Lowfidelity Prototype Pokryté scénáře •
SC1: Vytvoření nového kontaktu
•
SC2: Úprava existujícího kontaktu
•
SC3: Smazání kontaktu
•
SC4: Vytvoření nové skupiny
•
SC5: Vložení kontaktu do existující skupiny
•
SC6: Smazání kontaktu ze skupiny
Prototyp Jelikož finální aplikace nemá žádné grafické rozhraní, které by bylo nutné testovat, byl prototyp složen čistě z připravených sentencích, které se za pomocí programu SuperNova Screen Reader předčítali respondentovi jako reakce na jím prováděné činnosti.
Seznam připravených sentencí Seznam hypotetických kontaktů pro účel testování B
Bílá Monika
J
Jana Nováková Jaroslav Novák
Ká
Kratochvíl Lukáš
L
Lukáš Kratochvíl
M
Máma Monika Bílá
N
Novák Jaroslav Nováková Jana
Es
Sestra Svoboda Tomáš
T
Taxi Tomáš Svoboda
Práce Rodina
Máma Sestra
14/31
Sentence pro scénář 1 •
Volba menu ◦ Volat ◦ Poslat SMS ◦ Kontakt ◦ Skupina ▪ Zobrazit kontakt ▪ Upravit kontakt ▪ Vložit do skupiny ▪ Nový kontakt ▪ Smazat kontakt ▪ Odeslat kontakt • Popisek • Jméno • Příjmení • Telefonní Číslo • Poznámky ◦ Opravdu chcete vytvořit kontakt Jaroslav Novák? ◦ Kontakt uložen. ◦ Seznam kontaktů
Sentence pro scénář 2 •
Sentence pro scénář 3 •
Volba menu ◦ Volat ◦ Poslat SMS ◦ Kontakt ◦ Skupina ▪ Zobrazit kontakt ▪ Upravit kontakt ▪ Vložit do skupiny ▪ Nový kontakt ▪ Smazat kontakt ▪ Odeslat kontakt • Opravdu chcete smazat kontakt Jana Nováková? • Kontakt smazán. • Seznam kontaktů
Volba menu ◦ Volat ◦ Poslat SMS ◦ Kontakt ◦ Skupina ▪ Zobrazit kontakt ▪ Upravit kontakt ▪ Vložit do skupiny ▪ Nový kontakt ▪ Smazat kontakt ▪ Odeslat kontakt • Popisek Jiří Pospíšil • Jméno Jiří • Příjmení Pospíšil • Telefonní číslo 789 • Poznámky Prázdné ◦ Opravdu chcete změnit kontakt Jiří Pospíšil? ◦ Kontakt upraven. ◦ Seznam kontaktů
Sentence pro scénář 4 •
Volba menu ◦ Volat ◦ Poslat SMS ◦ Kontakt ◦ Skupina ▪ Nová skupina ▪ Upravit skupinu ▪ Smazat skupinu ▪ Odebrat kontakt • Název skupiny ◦ Opravdu chcete vytvořit skupinu Práce? ◦ Skupina vytvořena ◦ Seznam kontaktů
15/31
Sentence pro scénář 5 •
Volba menu ◦ Volat ◦ Poslat SMS ◦ Kontakt ◦ Skupina ▪ Zobrazit kontakt ▪ Upravit kontakt ▪ Vložit do skupiny ▪ Nový kontakt ▪ Smazat kontakt ▪ Odeslat kontakt • Práce • Rodina ◦ Kontakt sestra byl vložen do skupiny Rodina ◦ Skupina vytvořena ◦ Seznam kontaktů
Sentence pro scénář 6 •
Volba menu ◦ Volat ◦ Poslat SMS ◦ Kontakt ◦ Skupina ▪ Nová skupina ▪ Upravit skupinu ▪ Smazat skupinu ▪ Odebrat kontakt • Opravdu chcete odebrat kontakt Máma ze skupiny Rodina? • Kontakt byl odebrán • Seznam kontaktů
16/31
Cíle testu •
Ověřit přívětivost gest k ovládání programu
•
Ověřit intuitivnost menu a jeho procházení
•
Ověřit srozumitelnost textů
•
Ověřit přiměřenost množství textu čteného uživatelům (ukecanost programu)
Příprava testu Příprava lowfidelity testu se skládala z instalace a rozchození aplikace SuperNova Screen Reader a jejího hlasu Zuzana. Dále vypsání dialogů, které se mohou během průchodu scénářů objevit a vytvoření hypotetického seznamu kontaktů pro vytvoření reálnější prostředí. Dialogové sentence jsem rozdělil do několika skupin a uspořádal tak, aby jejich vyhledání během testů bylo co nejrychlejší a byla tak dosažena nejrychlejší odezva. Pro uchování textu byl použit jednoduchý poznámkový blok operačního systému Windows 7 pro jeho nízkou náročnost.
Hardwarové vybavení pro testování
Softwarové vybavení k testování
17/31
Průběh testu Průběh testování lze rozdělit do několika sekcí: 1. Seznámení uživatele s programem – uživateli byl ve zkratce představen vyvíjený produkt 2. Nastavení screen readeru dle potřeb uživatele – upravení hlasitosti a tempa hlasu Zuzana používaného během testování pro větší komfort uživatele. 3. Seznámení uživatele s mobilním telefonem – představení podoby telefonu uživatele do té míry, aby byl schopen vykonávat potřebné testy na tomto zařízení. 4. Seznámení uživatele s funkcemi aplikace a jeho ovládáním – popis základní obrazovky se seznamem kontaktů, popis obsahu kontextového menu. Návod jak ovládat funkcionalitu aplikace. 5. Vyhodnocení testu – komentář uživatele, odpovídání na konkrétní otázky ke konkrétním funkcionalitám, doplnění komentářů k prováděným scénářům a všeobecný názor na aplikaci.
Seznámení uživatele s telefonem
Provádění scénářů
Poznatky z testu •
Gesto pro průchod abecedou zprava doleva je matoucí. Jako vhodnější se jeví směr zleva doprava respektive zprava doleva v opačném směru abecedy.
•
Krom předchozí připomínky je ovládání gesty pochopitelné a poměrně intuitivní, vyžaduje však ke svému přirozenému využívání více zvyku.
•
Při procházení seznamu se v prvním testu vyskytl problém s rychlostí vyhledávání, proto byla do druhého testování zavedena funkce, která podle respondenta tento problém vyřešila.
•
Podoba menu se respondentům jeví praktická a intuitivní, pouze položka odebrat kontakt ze seznamu by se krom složky skupina měla objevovat i ve složce kontakt.
•
Respondenty bylo doporučeno atribut kontakt změnit na atribut popisek.
•
První respondent přišel s doporučením uchovávat více něž jedno telefonní číslo u kontaktu.
•
Množství textu při využívání aplikace se oběma respondentů zdála přiměřená.
18/31
High-fidelity Prototype Tvorba prototypu Aplikace byla vytvořena ve verzi Android 2.3.3. určené pro dotykové mobilní telefony. Jako IDE bylo zvoleno vývojové prostředí Netbeans se simulátorem umístěném v Android SDK. Prototyp je vytvořen pro potřebu testování ovladatelnosti a komfortnosti aplikace. Funkcionalita přímo netýkající se ovládání nebyla v tomto prototypu implementována (volání, poslání SMS, ukládání kontaktů atd...). Pro hlasový výstup byl použit nástroj TextToSpeech, kterému byly programově předkládány sentence pro přečtení. Pro prototyp byl vytvořen imaginární seznam kontaktů, čistě pro účely testování aplikace. Pro lepší přehlednost při testování je každý vyslovovaný text zároveň vypsán na displej telefonu.
Zahrnuté scénáře Na high-fidelity scénáře byly připraveny tyto scénáře: •
SC1: Vytvoření nového kontaktu
•
SC2: Úprava existujícího kontaktu
•
SC3: Smazání kontaktu
•
SC4: Vytvoření nové skupiny
•
SC5: Vložení kontaktu do existující skupiny
•
SC6: Smazání kontaktu ze skupiny
Jedná se o stejný seznam jako v případě low-fidelity testování a lze tak porovnávat dosažené výsledky testování mezi sebou.
19/31
Ovládání a funkcionalita aplikace Základní obrazovka • První nabídka, která je uživateli předložena. • Obsahuje seznam kontaktů uložených v telefonu. • Pro vyhledání kontaktu je vždy nejprve nutné vyhledat počáteční písmeno popisku. • Procházení písmeny je prováděno tahovými (Fling) gesty zleva doprava respektive zprava doleva proti směru abecedy. • Při nalezení konkrétního písmena se kontakty prochází gesty shora dolů respektive zdola nahoru. • Krom procházení o jeden kontakt či písmeno aplikace umožňuje rychlejší průchod pomocí pokročilého gesta. (viz následující kapitola) • Krom třídění kontaktů dle písmen aplikace umožňuje třídit kontakty dle skupin, které spravuje uživatel a jejichž ovládání je totožné s ovládáním písmenového uspořádání. Skupiny jsou umístěny za posledním písmenem abecedy. • Třídění je cyklické, po Z následuje A a před A je písmeno Z. Stejně tak je cyklický seznam kontaktů pod jednotlivými písmeny. • Dlouhým stiskem na stejném místě obrazovky vyvolává kontextovou nabídku. • Při prvním vstupu do základní obrazovky se uživatel nenachází na žádném písmenu či kontaktu. Kontextová nabídka • Pokročilá nabídka slouží ke správě kontaktů a skupin a umožňuje některé specifické operace nad kontakty (volat kontakt, poslat SMS...) • Ovládání vychází ze stejného principu jako na základní obrazovce • Tahy shora dolů, respektive zdola nahoru se prochází jednotlivými položkami nabídky. • Tah zleva doprava či dlouhý stisk způsobí výběr dané položky. • Tah zprava doleva způsobí návrat na předcházející nabídku. • Základní kontextová nabídka obsahuje položky: Volat kontakt, poslat SMS, nabídka kontakt a nabídka skupina. • Při výběru nabídky kontakt či skupina se 20/31
•
•
•
přepne kontextová nabídka do další nabídky dle zvolené položky se stejným ovládáním jako základní kontextová nabídka. Nabídka kontakt obsahuje položky: Zobrazit kontakt, upravit kontakt, vložit do skupiny, odebrat ze skupiny, nový kontakt, smazat kontakt a odeslat kontakt. Nabídka skupina obsahuje položky: Nová skupina, upravit skupinu, smazat skupinu a odebrat kontakt. Položky v kontextové nabídce jsou zobrazeny pouze pokud dávají smysl. (např. Není nabízena položka Volat kontakt pokud není žádný kontakt vybrán)
Zobrazení kontaktu • Slouží k zobrazení detailních informací o kontaktu. • Obsahuje položky: Popisek (zobrazený v seznamu kontaktů), jméno, příjmení, telefonní číslo, email a popisek. • Mezi jednotlivými položkami se prochází tahy shora dolů respektive zdola nahoru, včetně pokročilého gesta (viz následující kapitola). • Vyskočení ze zobrazení se provádí tahem zleva doprava či zprava doleva. • Při ukončení zobrazování kontaktu se uživatel navrátí na základní obrazovku se seznamem kontaktů • Jednotlivé položky nelze v této obrazovce měnit. Nový kontakt + editace kontaktu • Obsah a listování mezi položkami je stejné jako v případě zobrazení kontaktu. • Uložení kontaktu (respektive změn u editace) se provádí dlouhým stiskem (uživatel je nejdříve dotázán zda si opravdu přeje provést změny respektive uložit kontakt). • Vyskočení z aktivity bez uložení změn se provádí tahem zprava doleva. (před samotným ukončením je uživatel ještě dotázán, zda si opravdu přeje vyskočit z aktivity) • Vyvolání klávesnice (úprava stávající položky) se provádí tahem zleva doprava. • Po návratu z klávesnice se vytvořený text vloží do aktuálně vybrané položky a znovu přečte. • Po ukončení aktivity je uživatel přesměrován zpět na základní obrazovku 21/31
Vložit a smazat ze skupiny přes nabídku kontakt • Slouží k přidání a odebrání aktuálně zvoleného kontaktu do libovolné již existující skupiny • Listování mezi existujícími skupinami se provádí vertikálně. • Návrat z výběru se provádí tahem zprava doleva. • Vybrání skupiny se provádí tahem zleva doprava nebo dlouhým stiskem • Po vybráním skupiny zůstává uživatel na stávající nabídce a může dále vybírat další skupiny
Nová skupina + editace stávající skupiny • Obsahuje položky: Popisek a poznámky. • Ovládání je totožné jako v případě Nový kontakt. • Možnost editace stávající skupiny je nabídnuta pouze v případě že uživatel vyhledal nějakou skupinu na základní obrazovce
Obrazovka volby • Slouží k dotázání se uživatele na otázku typu ANO/NE • V aplikaci je použita k ověřování akce uživatele (např. Chcete kontakt XY opravdu smazat?) • Volba ANO se provádí tahem zleva doprava či dlouhým stiskem • Volba ne se provádí tahem zprava doleva
22/31
Klávesnice • Slouží k napsání textu, bez Hardwarové klávesnice. • Aplikace obsahuje 3 typy klávesnice: ◦ Základní klávesnice s abecedou A – Z bez písmen s háčky a částkami ◦ Pokročilá klávesnice se zbývajícími písmeny a některé další často používané znaky (,?.! …) ◦ Číslicovou klávesnice se znaky (0-9) • Výběr klávesnice se provádí tahem od shora dolů. • Vyhledání písmena probíhá stejně jako na úvodní obrazovce tahy zleva doprava či zprava doleva včetně pokročilých gest (viz následující kapitola) • Volba písmene se provádí tahem zdola nahoru • Při každém novém písmenu se stávající text znovu přečte • Uložení textu se provádí dlouhým stisknutím • Smazání posledního písmene se provizorně provádí jakýmkoliv tlačítkem telefonu. • Pro zrušení klávesnice bez uložení výsledku je provizorně nutné smazat veškerý dosud napsaný text.
Pokročilé gesta Krom jednoduchého procházení o jednu položku aplikace umožňuje rychlejší procházení seznamem pomocí pokročilého gesta. Pokročilé gesto vždy vychází ze základního pohybu (Fling), pokud však gesto není dokončeno (prst zůstane na obrazovce) a uživatel provádí jakýkoliv krátký pohyb prstem, pokračuje dál průchod seznamem rychlejším tempem než při jednoduchém gestu. Toto gesto bylo navrženo tak, aby procházení dlouhých seznamů bylo časově méně náročné a uživatel nemusel nesčetněkrát použít základní gesto pro nalezení položky.
23/31
State-transition diagram
S5
E3 E3
S6 E1,3
E3
S3 E2
S1 S1
E1,3
S2 E2
E1,3 E2
E1,3 E3
E3
S7 E1
S8
S11 E3
S4 S9
E3
S10 Stavy aplikace
Akce uživatele
S1 – vyhledávání kontaktů S2 – procházení kontextovou nabídkou S3 – výběr nabídky kontakt S4 – výběr nabídky skupina S5 – vytvoření nového kontaktu S6 – úprava existujícího kontaktu S7 - vložení kontaktu do skupiny S8 – odebrání kontaktu ze skupiny S9 – vytvoření skupiny S10 – úprava existující skupiny S11 – vložení textu
E1 – tah zleva doprava E2 – tah zprava doleva E3 – Dlouhé kliknutí
24/31
Implementační problémy Pokročilé gesto: Pro low-fidelity testování bylo navrženo gesto pro zrychlené vyhledávání skládajícího se z jednoduchého pohybu (stejně jako při přechod o jeden krok) a následného podržení prstu ve finální pozici. Toto gesto se mi přes několikadenní snahu nepodařilo implementovat, proto bylo drobně pozměněno. Místo finálního držení prstu na jednom místě uživatel musí vykonávat drobný pohyb tak, aby aplikace na daný pohyb mohla reagovat. Pro implementaci tohoto gesta jsem využil metodu onTouchEvent. Pseudokód: pokud jde o nové gesto: ulož čas startu gesta resetuj čas posledního subkliku ulož počáteční souřadnice gesta pokud aktuální čas – čas startu gesta >= 1 vteřina pokud čas posledního subkliku je resetován čas posledního subkliku = aktuální čas pokud aktuální čas - čas posledního subkliku > 300 čas posledního subkliku = aktuální čas proveď změnu na základě rozdílu mezi aktuálními a počátečními souřadnicemi Problémy s hlasem: Během implementace se objevily některé problémy ohledně převodu textu na hlas. V některých případech dokonce hlas kompletně odmítl spolupracovat a bylo nutné telefon znovu restartovat. Další problém s hlasovým výstupem byl s jeho hlasem. Některé sentence nedokázal správně přečíst (Rodéna místo rodina) a některé znaky abecedy se snažil číst jako součásti plnohodnotné věty. Jednalo se o všechny předložky a spojky, které se v abecedě vyskytují. Pro případ abecedy jsem proto místo některých písmen předkládal hlasovému výstupu upravení písmena, tak já se vyslovují (eS, Ká …). Tento systém se osvědčil, je zde však omezení počtu písmen pro které lze tato možnost využít.
Průběh testování Cíle testování Hlavním cílem testování bylo především ověřit ovládání aplikace přes vytvořená dotyková gesta. Jedním z dalších cílů bylo ověření funkčnosti prototypu na cílovém zařízení během ostrého provozu. V neposlední řadě bylo cílem ověřit si poznatky získané z low-fidelity testování na funkční aplikaci.
Nastavení testu Pro účely testování byla vytvořena spustitelná aplikace, která byla vytvořena tak, aby na ní bylo možné v dostatečné míře otestovat veškeré primární požadavky kladené na tuto aplikaci. Samotná aplikace byla nahrána na školou vypůjčeném mobilním telefonu HTC se systémem android. Na toto zařízení byla nahrána testovací aplikace Kontakty, aplikace SVOX pro čtení textu v systémech Android a trial verze českého hlasu. S takto připraveným zařízením poté ve školních prostředí probíhalo samotné testování.
25/31
Průběh testu P1 – první testování proběhlo s uživatelem s pokročilými zkušenostmi s dotykovými telefony a systémem Android. Po seznámení uživatele se základním principem funkčnosti aplikace a jejím ovládáním se uživatel sám bez pokynů pustil do testování jednotlivých funkčností aplikace. Jelikož toto chování je pravděpodobnější scénář prvního kontaktu s aplikací ze strany uživatele, ponechal jsem respondentovi volný prostor k využívání aplikace. Během tohoto testování bylo jednoznačné, že uživatel má s dotykovými telefony již velké zkušenosti a samotné gesta mu nedělali problémy a samotný výběr gest si pochvaloval. Naopak k některým segmentům aplikace měl několik připomínek. 1. Se základní obrazovkou aplikace uživatel neměl žádný problém. Oceňoval především rychlost vyhledání kontaktu bez nutnosti použít softwarovou klávesnici Androidu. 2. V kontextové nabídce se uživatel dokázal rychle zorientovat a rychle procházet. Navrhl pouze při zrušení kontextové nabídky návrat na původní položku ze které bylo kontextová nabídka vyvolána. Jinak byl opět spokojen se svižnosti aplikace a rozvrstvení položek do vícero nabídek (nabídka kontakt a skupina). 3. Při vytváření nového účtu měl uživatel problém se zobrazením klávesnice. Neustále si pletl gesto pro vyvolání klávesnice a uložení kontaktu. Navrhl vyvolávat klávesnici dlouhým stiskem a pro uložení kontaktu vložit jako položku do seznamu čtených nabídek. Tahové gesto zleva doprava navrhl úplně zrušit. 4. Vytvořená klávesnice se respondentovi zdála poměrně zdařilá. V porovnání s hardwarovou klávesnicí však rychlostně zaostává. Stávající řešení v podobné cizí aplikaci však dle názoru klienta převyšuje. Problematické dle respondenta se jeví fakt, že po zvolení písmene se přečte celý řetězec, což u dlouhých textů působí kontraproduktivně. 5. Práce se skupinami se uživateli zdá srozumitelná a jednoduchá. Pouze při vložení uživatele do skupiny si zpočátku neuvědomil, že stále zůstává v seznamu skupin do kterých se kontakt vloží. Místo toho uživatel prošel zpátky až na základní obrazovku a nabídku vložit do skupiny vyhledal znova. To může značit obtížnou orientaci mezi jednotlivými nabídkami. Respondent uvedl, že by osobně dával přednost návratu na základní obrazovku po přidání kontaktu do skupiny.
26/31
P2 – druhé testování proběhlo s postarší uživatelkou bez předchozích zkušeností s dotykovými telefony. Respondentce byla vysvětlena během prvních pár minut veškerá funkcionalita aplikace a vyzkoušela si základní ovládání. Během tohoto seznamování uživatelka porozuměla správně všem prvkům aplikace. Během prvního scénáře se však vyskytlo velké množství problémů, které neumožňovalo přirozené ovládání aplikace: 1. Uživatelka prováděla tahová gesta zásadně na hranách obrazovky. Takto prováděná gesta byla Androidem špatně vyhodnocována a aplikace se nechovala podle předpokladů. 2. Častý problémem byl i časové nastavení dlouhé stisku. Uživatelka sice chtěla provést tahové gesto, než se však rozhodla o jeho směru, Android vyhodnotil gesto jako dlouhý stisk. 3. Při manipulaci s telefonem často docházelo k rotaci obrazovky o 90 stupňů což automaticky obrátilo i veškerá připravená gesta aniž by to bylo dáno uživateli na vědomí. 4. Při procházení kontextovou nabídkou si uživatelka pletla směry tahů ve vodorovném provedení. Často tak docházelo k návratu z již dosaženého místa. 5. Uživatelka často vypadala dezorientovaně, především po špatně vybraném gestu. To je v souladu s předchozím respondentem. 6. V aktivitě Zobrazit kontakt často volila tah zleva doprava namísto shora dolů, čímž se nechtěně dostala zpět na hlavní nabídku. Z časových důvodů nebylo možné dokončit všechny scénáře. Z dokončených scénářů ale vyplývá, že pro uživatelku jsou vybraná dotykové gesta a ovládání aplikace nepřirozená a je obtížné si na ně zvyknout. Naopak relativně kladně hodnotila výběr kontaktu ze seznamu, ale oproti stávajícímu řešení na nedotykovém mobilním telefonu hodnotí vyhledávání hůře, především kvůli chybějícímu vyhledávání kontaktů pomocí hardwarové klávesnice.
27/31
Závěry Z uvedených testů jasně vyplývá, že vysoce závisí na předchozích zkušenostech s dotykovými telefony. Zatímco první respondent se zkušenostmi aplikaci hodnotil velmi kladně a deklaroval zájem do budoucna tuto aplikaci využívat, u druhé respondentky s prakticky nulovými zkušenostmi byla práce s aplikací velmi problematická. Jelikož však aplikace Kontakty je považována za jednu ze základních aplikací, je nutné do budoucna přizpůsobit ovládání i pro nezkušené uživatele, proto jsou navrhnuta následující doporučení.
Doporučení V průběhu testu byly zaznamenány některé nedostatky, které jsou základem pro následující doporučení. 1. Konzistentnější ovládání – v obou případech testování bylo respondenty spomenuto rozdílné ovládání pro průchod seznamem. Z tohoto důvodu jsou následující doporučení 1. V obrazovce Nový kontakt, editovat kontakt, nová skupina a editace skupiny nebude možné tahem zleva doprava vyvolávat klávesnici. 2. V obrazovce Nový kontakt, editovat kontakt, nová skupina a editace skupiny nebude možné tahem zprava doleva ukončit vytváření či editaci. 3. Pro vyvolání klávesnice používat vždy jen dlouhý stisk. 4. V obrazovce Nový kontakt, editovat kontakt, nová skupina a editace skupiny přidat položky uložit kontakt respektive uložit skupinu a zrušit změny místo dříve nastavených tahů 2. Při návratu z kontextové nabídky z jakéhokoliv podmenu či nabídky se uživatel bude vracet na položku v kontaktech ze kterého kontextové menu vyvolal pokud takovéto umístění ještě existuje. 3. Při vložení kontaktu do skupiny se uživatel vrátí zpět na úvodní obrazovku s kontakty. 4. Vypne se možnost překlápění obrazovky při přetočení telefonu 5. Do uživatelské příručky napsat doporučení o využívání střední plochy displeje telefonu namísto jeho hran 6. V klávesnici číst pouze poslední slovo místo celého řetězce
28/31
Vývojářská Dokumentace Interakce uživatele Interakce s aplikací je prováděna výhradně připravenými jednoduchými gesty. V aplikaci se nepočítá se žádnými vizuálními tlačítky či fyzickou klávesnicí. Jednotlivá gesta jsou popsána v kapitole Ovládání aplikace.
Audio výstup Jelikož je aplikace určena pro uživatel s praktickou slepotou, není v aplikaci zapotřebí žádný vizuální prvek. Místo toho mobilní zařízení s uživatel komunikuje pomocí syntézi hlasu s předkládanými sentencemi.
Funkční požadavky Seznam funkční požadavků s jejich prioritami od 1 do 3 (1 = nejvyšší priorita) Vyhledat kontakt – priorita 1 Aplikace musí umožňovat dostatečně rychle a přehledně vyhledat konkrétní kontakt bez pomoci hardwarové klávesnice. Volat kontakt - priorita 1 Uživatel musí mít možnost vytočit číslo kontaktu uloženého v aplikaci. Poslat SMS – priorita 1 Uživatel musí mít možnost odeslat SMS na číslo kontaktu uloženého v aplikaci. Přidat kontakt – priorita 1 Aplikace bude umožňovat přidat do seznamu nový kontakt skládající se z položek popisek, jméno, příjmení, telefonní číslo, email a poznámky. Na seznamu kontaktů se bude zobrazovat vždy popisek. Nechá-li uživatel popisek prázdný, bude automaticky vyplněn jménem a příjmením. Smazat kontakt – priorita 1 Uživateli bude umožněno smazat již existující kontakt. Upravit kontakt – priorita 1 Uživateli bude umožněno upravit všechny položky již existujícího kontaktu. Vytvořit skupinu – priorita 2 Uživatel bude mít možnost vytvořit si novou filtrovací skupinu podle do níž bude moci seskupovat kontakty dle svého uvážení. Skupina bude obsahovat položky popisek a poznámky. Smazat skupinu – priorita 2 Aplikace bude umožňovat smazat skupinu aniž by zároveň smazal kontakty uvnitř skupiny ze systému. 29/31
Upravit skupinu – priorita 2 Aplikace bude umožňovat měnit parametry skupiny, aniž by to ovlivnilo kontakty umístěné do této skupiny Vložit kontakt do skupiny – priorita 2 Uživatel musí mít možnost vložit existující kontakt do již existující skupiny. Zároveň musí být zabráněno možnosti vložení stejného kontaktu do jedné skupiny vícekrát. Odebrat kontakt ze skupiny – priorita 2 Uživatel musí mít možnost odebrat kontakt ze skupiny do které již byl vložen aniž by přitom došlo k odstranění kontaktu ze systému nebo jiných skupin než uživatelem požadovaných. Odeslat kontakt – priorita 3 Uživatel by měl mít možnost poslat svůj či cizí kontakt ve formě vizitky jinému uživateli. Dokumentace kódu Aplikace je vytvořena pro systém Android verze 2.3.3. Proto se aplikace skládá z balíku aktivit reprezentující jednotlivé obrazovky, které se mezi sebou přepínají. Implementovaná část plně pokrývá vytvořené scénáře, není však plně implementovaná veškerá požadovaná logika aplikace. Seznam aktivit AddContactToGroupActivity – aktivita pro vložení kontaktu do již existující skupiny Vstup: Jméno kontaktu (String), Jméno skupiny (String) ContactActivity – aktivita reprezentující část kontextové nabídky pod názvem „Nabídka kontakt“ Vstup: Jméno kontaktu (String), Jméno skupiny (String) ContactEditorActivity – aktivita pro úpravu již existující kontaktu GroupActivity - aktivita reprezentující část kontextové nabídky pod názvem „Nabídka skupina“ Vstup: Jméno kontaktu (String), Jméno skupiny (String) GroupEditorActivity - aktivita pro úpravu již existující skupiny KeyBoardActivity – aktivita reprezentující klávesnici v aplikaci Výstup: RESULT_OK/RESULT_CANCELED + napsaný text KontaktyActivity – hlavní aktivita aplikace sloužící k vyhledání kontaktu
30/31
MenuActivity – hlavní okno kontextové nabídky Vstup: Jméno kontaktu (String), Jméno skupiny (String) NewContactActivity – aktivita pro vytvoření nového kontaktu NewGroupActivity - aktivita pro vytvoření nové skupiny. QuestionActivity – aktivita s libovolnou otázkou zobrazovanou uživateli Vstup: Otázka (String) Výstup: RESULT_OK/RESULT_CANCELED RemoveContactFromGroupActivity – aktivita pro odstranění kontaktu ze skupiny Vstup: Jméno kontaktu (String), Jméno skupiny (String) ViewContactActivity – zobrazení vybraného kontaktu
31/31