Prediktivní vstup textu na televizi [OP-TV] Milan Černil ČVUT FEL
[email protected]
High-fidelity prototyp Prototyp Tvorba prototypu
Prototyp byl vytvořen v integrovaném vývojovém prostředí (IDE) Visual Studio Ultimate 2010. Uživatelské rozhraní je vytvořeno pomocí souboru knihoven .NET Framework 2.0. Aplikace stojí na jádru programu Quickie 1.0, distribuovaným pod GNU licencí, který predikuje text za pomocí XML souboru, obsahující seznam slov s určitou prioritou – v našem případě je prioritou číslo, založené na výpočtu s procentuálním zastoupením daného slova v textech anglického jazyka. Tudíž, změníme-li zdrojový soubor se slovy, můžeme aplikaci využít i pro predikci slov v jiném jazyce. K ovládání prototypu slouží šipky, enter a písmena ASDF. Popis a cíle prototypu
Hlavním cílem a funkcí prototypu je predikce textu na základě vloženého vstupu a umožnění uživateli zadávat, prostřednictvím ovladače na televizi, text s co nejvyšší rychlostí. Dále se uživateli snaží předložit co nejjednodušší rozhraní k snadnému pochopení a přehlednému ovládání. Barevnost není nijak výrazná. Hlavní výhodou při zadávání textu je rozložení písmen, která uživatel s nejvyšší pravděpodobností vybere (viz Sketch – 1 v D2). Znaky jsou vypisovány na, vůči sobě kolmé, osy (obrázek prototypu v příloha/test/). Uživatel pohybuje celými osami a při zvolení znaku, je vybrán ten, který je na průsečíku obou os (žlutý okraj). Stavový diagram ukazuje jednotlivé stavy a iniciátory přechodů na obrázku 6. Změny oproti předchozímu prototypu Následující část obsahuje popis změn provedených oproti Low-fidelity prototypu. High-fidelity prototyp obsahuje některá vylepšení, daná výsledky předešlého testování. Proč byly tyto změny provedeny a čeho se týkají, je uvedeno níže a znázorněno na obrázcích 3 a 4. Přiloženy jsou i obrázky Use-case diagramů.
Obrázek 2 - Původní use-case
Obrázek 1 - Nový use-case
Obrázek 3 – Low-fidelity prototyp
Obrázek 4 – High-fidelity prototyp
1. Odebrání nastavení - Možnost změnit nastavení byla vyřazena. Po testování předchozího prototypu a během vytváření posledního bylo zjištěno, že uživatelé značně preferují jeden druh pohybu po nabídce s písmeny – tlačítko doprava posune písmena doleva. Opačné ovládání značně uživatele mátlo. Možnost invertovat tento pohyb způsobovala pouze další nežádoucí matení. V nastavení aplikace bylo dále možno měnit tlačítka přiřazená k různým akcím. Od toho bylo taktéž odpuštěno, neboť při užívání televize několika uživateli mohlo dojít k nedorozuměním, kdy každému vyhovuje něco jiného. 2. Zobrazení chybějících písmen – Za každým koncem osy s písmeny byla přidána textová pole, která obsahují, menším fontem, písmena, která se prioritně nevešla do obrazce s nabídkou. Důvodem byla nemožnost dohledat pohledem všechny znaky. 3. Přepínání znaků a symbolů – Oddělení symbolů a písmen by mělo rozhodně pomoci zrychlení zadávání textu, neboť kdyby symboly byly promíchány s písmeny, mohlo by být mnohem zdlouhavější dosáhnout některých speciálních znaků. Jako řešení byl zvolen přepínač, který umožní rychleji procházet symboly jako např. otazník, vykřičník, tečka, apod. 4. Vložení mezery jedním tlačítkem – Mezeru, jakožto základní separátor slov, lze přidat stiskem jednoho tlačítka, což by mělo mít za následek další zrychlení zadávání vstupu. 5. Zvýraznění pohybu – Na každé ose je zvýrazněn jeden box s písmenem, který se pohybuje ve směru pohybu osy, aby uživatel lépe rozeznal směr pohybu. K testování však bude použita i varianta bez této funkce, neboť nezvažuji implementovat přepínání této funkce. Pouze najít optimální volbu za pomocí uživatelského testu.
Obrázek 5 - Zvýraznění pohybu osy barevným prvkem
6. Tlačítko Delete přejmenováno na Backspace, neboť si uživatelé mysleli, že smažou celý vstup.
Obrázek 6 - State Transition Diagram
Testování Cíle testování Cílem testování aplikace OP-TV je zjistit dvě základní informace. Zaprvé, zda je rozhraní High-fidelity prototypu správně navržené pro uživatele. Mimo jiné, zda uživatelům vyhovuje více varianta se zvýrazněnými poli se znaky, pro lepší orientaci, anebo bez něj (viz příloha/zvýraznění/ nebo obrázek 5). Dalším, druhým, cílem je otestovat samotnou predikci textu. Při testování chceme zjistit rychlost zadávání textu v aplikaci OP-TV Dalším cílem bude zjistit, jak si uživatelé poradí se zadáváním nějakých vět se slovy s běžným výskytem a poté se slovy, která se tak často nevyskytují (xul, zergon, apod.) Testované scénáře S uživateli jsme testovali pouze zadávání a úpravu (mazání) textu a symbolů a odesílání (submit). Jako úkol jsem zadával k napsání krátké věty v angličtině (např. Hello, this is a simple application where everything is possible), složené z běžných slov. Další věty obsahovaly různá, neobvyklá, slova např. z her, filmů apod. 1. Zadejte text „Hello, this is new application. What do you want to do?“ a následně odešlete. 2. Zadejte text „Hi! My name is jméno uživatele.“ a následně odešlete. 3. Zadejte text „Xul lives on Earth with Zergs.“ a následně odešlete. Věty budou různě obměňovány, upravovány a zároveň požádám uživatele o jejich vlastní nápady k napsání. Nastavení testu Aplikace byla pro testování připravena ve dvou variantách, jak je zmíněno v cílech testování. Jedna varianta, se zvýrazněnými poli se znaky, a druhá bez nich. Každá varianta byla testována po přibližně polovinu doby testování, aby se uživatel mohl jistě rozhodnout, která mu vyhovuje více. K testování byl použit počítač (simulace obrazovky televize a jako set-top-box) a klávesnice (simulace ovladače). Testování se zúčastnili 3 uživatelé, kde předpokladem byla pouze znalost angličtiny, neboť aplikace predikuje na základě souboru s anglickými slovy. Testování jsem se účastnil jako moderátor a tázal se uživatelů na případné připomínky a nedostatky. Každý uživatel měl svůj vlastní počítač a na něm byla nahraná aplikace OP-TV.
Pre-test interview 1. Zadával/a jste někdy text v televizi? [Ano/Ne] I. Ano II. Ne III. Ne 2. Využíváte televizi na procházení internetu? [Ano/Ne] (3x ne) 3. Dokázal byste si představit, na mobilní klávesnici nebo hledáním jednotlivých znaků v nabídce o rozměrech celé abecedy, zadávat do televize text na ovladači? Proč Ano/Ne? [Volná odpověď] I. Ne. Raději využiju počítač, neboť psaní na ovladači je strašlivě zdlouhavé. II. Ano, ale jenom pokud bych neměl po ruce počítač. III. Ne. Jsem zvyklý mít všechno rychle, tohle by mě akorát štvalo. Otázka 3 mi měla poskytnout to nejdůležitější srovnání z hlediska toho, jak se uživatelům líbí kvalita predikce textu a rozložení znaků, na což je tato aplikace zaměřená, po testu. Podobná otázka je i v Post-test interview. Z pre-test interview bylo znát, že uživatelé neměli zadávání textu do televize moc rádi, nebo o této činnosti neměli dobré mínění. Průběh testování a sběr dat Test probíhal dle testovacího scénáře. Všem uživatelům jsem zadával věty a snažil se ptát na připomínky a nápady. Ukázka psaní věty uživatelem 2 „Hello, this is a simple application.“ v highfidelity prototypu je v příloze (příloha/scénář) – video je realtime (nijak rychlostně upravované). Uživatel I: Uživatel váhal při hledání znaků, které nejsou úplně nejblíž. Musel totiž prohledat celou nabídku, a když přehlédl hledaný znak, nevěřil, že tam někde je a začal hledání znovu. Toto se dělo hlavně při hledání znaků a zadávání slov jako Xul, Zergron, Zoidberg, apod. Při zadávání dvouslovných spojení text zadával velice rychle. Chvíli uživateli trvalo, než si zvykl na ovládání kláves A S D F, ale po chvíli tuto bariéru překonal. Následně psal text už poměrně rychle. Uživatel II: Stejně, jako v předchozím případě, uživatel váhal a hledal písmena, která byla dál od středu, či byla vypsána v malých rámečcích po stranách. Opět se rychlost psaní značně snižovala při zadávání neobvyklých slov. Dvouslovná spojení a věty bez interpunkce byly zadávány, i dle názoru uživatele velmi rychle. Uživateli se nelíbilo, že po kliknutí na tlačítko „INSERT SPACE“ nevidí, zda se mezera opravdu vložila a zda není třeba opět zmáčknout tlačítko. Uživatel dále navrhnul, aby se po zadání jednoho slova (např. the), již slovo v nabídce nevyskytovalo. Uživatel III: Opět úplně stejný problém, jako předchozí uživatelé - Hledání písmen, která jsou dál při zadávání něčeho, co není součástí predikčního souboru a neobvyklých slov. Uživatel by prý ocenil spíše klouzavý pohyb os se znaky a možnost přidat nějaká slova do slovníku.
Opět, u jednoduchých slovních spojení a vět bez interpunkce, uživatel zadával vstup poměrně rychle a s přehledem. Ocenil, že při některých slovních spojeních nebylo vůbec třeba příliš klikat a písmena, která potřeboval, byla vzdálena jen minimálně od středu. Post-test interview Volné odpovědi (mimo 3 a 4). 1. Zdá se vám aplikace užitečná? I. Rozhodně ano. II. Ano. III. Ano. 2. Jak jste spokojeni s rychlostí zadávání textu? I. Mohlo by to být rychlejší, ale uvědomuji si, že ovladač neumožňuje rychlejší zadávání textu. II. Velice spokojen. Ale aplikace hodně ztrácí pří zadávání interpunkčních znamének. III. Je to lepší, než zadávat text pomocí klasické klávesnice na ovladači, ale zadávat něco, co není v nápovědě je poměrně náročné. 3. Na stupnici od 1 do 5, jako ve škole, jak byste ohodnotili predikci textu? [1 – 5] I. 3 II. 1 III. 2 4. Na stupnici od 1 do 5, jako ve škole, jak byste ohodnotili jednoduchost a přehlednost rozhraní?[1 – 5] I. 2 II. 2 III. 1 5. Co si myslíte o zvýraznění znaků na jednotlivých osách při posouvání po nabídce? I. Poměrně matoucí, je lepší to ignorovat. II. Ocenil bych možnost vypnout tuto funkci. III. Bez zvýrazňování to je asi lepší, vůbec není totiž třeba. 6. Pokud byste využívali internet v televizi, uvažovali byste o využití této aplikace? I. Ano II. Ano III. Ano 7. Máte nějaké další připomínky či hodnocení? I. Tuto aplikaci považuji za mezičlánek mezi současnými ovladači a ovladači s klávesnicí z budoucna, kdy zadání textu bude mnohem jednodušší. II. Ocenil bych spíše bezdrátovou klávesnici, ale na 5 tlačítek na ovladači je to rozhodně zlepšení výkonu. Rozhodně přidat typing kurzor. Nevidím, zda se vložila mezera za slovo. III. Upravit osy tak, aby se posouvaly klouzavě a ne trhaně. Ale není to nezbytné. Možná i přidat možnost volby oblíbených slov. U poslední otázky se shodli všichni uživatelé na tom, že hledání písmen, při zadávání některých slov, je poměrně náročné a zdlouhavé.
Výsledky a doporučení Hodnocení a testování dopadlo poměrně dobře. Uživatelé se shodli, že tato aplikace je rozhodně lepší, než zadávání textu bez predikce ať už výběrem z pole písmen či na mobilní klávesnici. Po testování této aplikace uživatelé ocenili její potencionální přínos a líbila se jim její užitečnost. Jedním z doporučení pro funkci predikce textu bylo vyškrtnout již použité slovo pro další zadávané slovo, nebo pro např. „The“ vyřadit ze seznamu zájmena apod. různé vazby. Celková shoda názorů se týkala i toho, aby nebyla zvýrazňována některá pole s písmeny při pohybu po nabídce. Uživatele tato funkce spíše mátla, a proto bude odebrána z aplikace. Řešením toho, aby uživatel viděl názorný pohyb os, bude, jak už doporučoval uživatel 3, udělat posun textu klouzavým a ne skokovým, jak je tomu doposud. Dalším odhaleným problémem bylo obtížné hledání znaků, které uživatel neměl v predikci. Zde se musel uživatel občas na ne příliš krátkou dobu zadívat do nabídky a hledat písmenko. Zde by mohlo být řešením zvětšení písmen, neboť uživatelé docela mžourali na obrazovku. Jedním z návrhů uživatelů bylo přidání funkce, která by ukládala oblíbená slova a jejich priorita by se tím při predikci zvýšila. Toto by však zahrnovalo i volbu na vymazání těchto slov, čímž by stoupl počet využitých tlačítek a rozhraní aplikace by se mohlo stát příliš složitým. Doporučuji tedy buď funkci vůbec nepřidávat, nebo vytvořit prototyp a opět otestovat. Další vadou, kdy uživatelé byli nespokojeni se zadáváním textu, bylo přidávání interpunkcí, kdy museli vždy přepínat znakovou sadu, což prodlužovalo dobu zadávání, avšak zde nevidím lepší řešení. Jediným, a nevím, zda lepším – opět by bylo třeba provézt výzkum, by bylo přidat další tlačítka, na kterých by byla interpunkční znaménka, anebo přidat na tlačítko „INSERT SPACE“ funkcionalitu, která na každé zmáčknutí vrátí jiný znak. Z hlediska zachování jednoduchosti rozhraní, se přikláním pro druhou možnost. Posledním problémem, který se objevil, byl chybějící typing kurzor za již vloženým vstupem. Uživatel nevidí, zda se vložila mezera, či nikoliv. Je tedy nutno tuto funkcionalitu přidat, nebo pouze při stisku tlačítka na „INSERT SPACE“ přidat efekt, který uživatele upozorní, že bylo tlačítko skutečně použito – například, že tlačítko se při zmáčknutí stiskne/zamáčkne.
Dokumentace pro vývojáře Funkční požadavky Funkční požadavky nejsou příliš rozsáhlé, ale zato popisují poměrně komplexní problém.
Vysoká priorita o Predikce textu o Rychlé zadávání textu o Mazání znaků Střední priorita o Speciální symboly (? ! , . _) o Jednoduché rozhraní – pro netechnicky vzdělané uživatele Nízká priorita
Nefunkční požadavky Prostředí pro běh aplikace je set-top-box. Interakční návrh Uživatel interaguje s aplikací prostřednictvím 4 šipek a 5 tlačítek (A S D F Enter) viz high fidelity prototyp. Toto ovládání odpovídá budoucímu využití v set-top-boxech, kdy k ovládání bude sloužit dálkový ovladač. Veškeré doporučené změny a úpravy jsou v kapitole Testování – Výsledky a doporučení. Vizuální návrh Vizuální návrh by měl zůstat stejný jako u high-fidelity prototypu – dvě na sebe kolmé osy znaků a na pravé straně popisy tlačítek a nad osami vstupní text - neboť je jednoduchý na pochopení a měl by ho zvládnout i netechnicky vzdělaný uživatel. Doporučuji, dle výsledků testování, nezvýrazňovat pohyb písmen nějakým barevným prvkem a přechod mezi jednotlivými znaky nedělat přímým překreslením znaků skokově, pomocí metod WindowsForm, z jedné pozice na další, ale plynulým přechodem pomocí grafický knihoven. Stručně řečeno, tak, aby písmena při pohybu klouzala. Další doporučení viz Testování - Výsledky a doporučení. Uživatelský zážitek Uživatel by měl při práci s OP-TV, jinak řečeno, při zadávání textu, s co nejnižším počtem zmáčknutí jakéhokoliv tlačítka získat požadovaný text. Pro uživatele je tedy důležité, aby nejpravděpodobnější písmena, na základě již vloženého vstupu, byla co nejblíže průsečíku obou os s písmeny. Dále musí uživatel vědět, jaký vstup již napsal. Spuštění aplikace Ke spuštění aplikace je pouze třeba, aby soubor Words.xml byl umístěn v adresáři, ve kterém je samotná aplikace. Úpravou priorit jednotlivých slov v souboru bude aplikace predikovat text jinak.
Struktura aplikace Struktura aplikace odpovídá zjednodušenému diagramu tříd na obrázku. V čem je aplikace vyvíjena a stručný popis funkčnosti je kapitole High Fidelity prototyp – Tvorba prototypu.