Sem vložte zadání Vaší práce.



Podobné dokumenty
Mobilní aplikace Novell Filr Stručný úvod

Filr 2.0 Uživatelská příručka k aplikaci Filr Web. Únor 2016

ŠKODA AUTO VYSOKÁ ŠKOLA

TouchGuard Online pochůzkový systém

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4

Věda a výzkum. Univerzitní informační systém. Svazek 4. Slovenská zemědělská univerzita v Nitře

Návod na práci s redakčním systémem webu VPŠ a SPŠ MV v Praze

Uživatelský manuál Radekce-Online.cz

MapleCloud a jeho použ ití. Vladimír Žák

Evropský zemědělský fond pro rozvoj venkova: Evropa investuje do venkovských oblastí IZR. Vedení evidence léčení a evidence léků. Podklady pro školení

Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací

Uživatelská příručka systému pro administrátory obcí a manuál pro správce portálu

Průvodce Mobilní agendou

CTUGuide (XXX-KOS) D1

Google Apps. dokumenty 5. verze 2012

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika

Mobilní dotyková zařízení jako didaktická pomůcka

Systém integrované péče. Návod online aplikace SIP ČPZP

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

10. Editor databází dotazy a relace

Návod k ovládání administrační části nového turistického portálu Olomouckého kraje

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah

Fotogalerie pro redakční systém Marwel Obscura v. 2.0

Návod na E-Shop. tel.: , fax: , helpdesk: ,

DATA ARTICLE. AiP Beroun s.r.o.

TECHNICKÉ POŽADAVKY PORTÁLU

Anglická slovíčka

OpusBenefit. Uživatelský manuál k verzi 1.0 verze / 24. K l i e n t s k á d a t a b á z e

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková

Ostatní portálové aplikace

Popis úprav SQL verze ProBaze Majetek a Nářadí

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120

MAPOVÉ APLIKACE A WEBOVÉ SLUŽBY MAWES NAŠE MAPY

MATURITNÍ PRÁCE dokumentace

EvMO2010 návod k použití programu (2015)

Základní ovládání aplikace

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro administrátora krizového řízení

Elektronická Kniha jízd.

Manuál k aplikaci WANAS

Uživatelem řízená navigace v univerzitním informačním systému

Ostatní portálové aplikace

Přechod z Google Apps na Office 365 pro firmy

Ostatní portálové aplikace

Interaktivní mapy ÚAP Uživatelská příručka

TEPELNÁ TECHNIKA 1D. Základy práce s aplikací. Verze 3.0.0

Rezervační systém TROJHŘIŠTĚ hriste.pist.cz

Příručka pro schvalovatele témat

Metodika. Oznámení o vykonávání působností v agendě ve smyslu zákona č. 111/2009. Sb., o základních registrech. Verze 1.6

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

Patenty. 1. Spuštění modulu Patenty. 2. Popis prostředí a ovládacích prvků modulu Patenty

O nás. To vše a mnohem více Vám je schopna nabídnout již základní verze publikačního systému bravaweb.

Obsah. 1.1 Úvod do práce s autorským nástrojem ProAuthor 4

Naučte se víc... Metodická příručka pro školy k aplikaci Microsoft Office Access 2007

AKUSTIKA. Základy práce s aplikací. Verze 1.0.0

Knihomol. Manuál pro verzi 1.2

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání:

Gilda. Po spuštění programu v základním seznamu vidíte veřejné zakázky za Váš odbor.

Manuál k aplikaci SDO PILOT v.0.2

VYTVÁŘENÍ A POUŽITÍ VZDĚLÁVACÍCH MODULŮ

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

PROPOJENÍ OBJEDNÁVEK s GOOGLEM

VYTVÁŘENÍ OBSAHU KURZŮ

Uživatelský manuál pokladního systému Cash OnLine

PŘÍRUČKA PRO REDAKTORY UNIVERZITY PARDUBICE

Modul ročních zpráv o výsledcích finančních kontrol

WiFiS Uživatelská příručka Obsah

33 Uživatelé asistence

ESTATIX INFORMAČNÍ SYSTÉM REALITNÍCH KANCELÁŘÍ UŽIVATELSKÁ PŘÍRUČKA UŽIVATELSKÁ PŘÍRUČKA STRANA 1 / 23

Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv. V prostředí společnosti. Pražská vodohospodářská společnost a.s.

Uživatelský manuál na obsluhu mobilní aplikace CMOB

Nápověda pro systém itesting.cz

Doplněk Parametry Plus pro Altus Vario

Nastavení rodičovského účtu Microsoft

MARUSHKA. Tipy na práci s mapovým prohlížečem Marushka. Marushka je webová mapová aplikace pro zobrazování map a informací z GISu města Plzně.

Elektronická spisová služba

Office podrobný průvodce. Tomáš Šimek

UŽIV ATELSKÁ PŘÍRUČKA

INTERNET SERVIS MANUÁL

Veřejné. Aplikace EP2W. Uživatelská příručka pro externího uživatele

1. vydání příručky 2009, Národní památkový ústav, Ing. Martin Lazák

Uživatelská příručka pro program

sssssssssssssssssssssssssssssssssssssssssssssssssss UŽIVATELSKÁ PŘÍRUČKA ELEKTRONICKÁ PODATELNA - WEBOVÁ ČÁST APLIKACE Verze distribuce:

Seminář Novell GroupWise

MOJE-PROJEKTY.CZ. Změny v aplikaci k Verze: 1.1

Individuální projekt z předmětu webových stránek Anketa Jan Livora

MLE2 a MLE8. Datalogery událostí

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

1 Co je nového v aplikaci Filr 2.0 Desktop

5.1 Vyhledávací portál uživatelské rozhraní

Parametrizace, harmonogram

Jak to funguje. O produktu. Jak to funguje

Jak začít s ed MARKETEM

Helios RED a Internetový obchod

APPLE IPAD IN EDUCATION. Jan LAVRINČÍK

Restaurator. Semestrání projekt předmětu PDA

Workshop Exact Software CEE

9. března Aplikace pro demonstraci funkčnosti spojení mezi hrudním pásem a telefonem

Průvodce webovou aplikací NewtonOne

5 Tabulky a seznamy dat Příklad 3 Excel 2010

Transkript:

Sem vložte zadání Vaší práce.

České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Aplikace pro podporu přípravy programu v dětských organizacích Jakub Kalina Vedoucí práce: Ing. Jiří Hunka 12. května 2014

Poděkování Na tomto místě bych chtěl poděkovat svému vedoucímu Ing. Jiřímu Hunkovi za mnoho cenných rad při návrhu a realizaci práce.

Prohlášení Prohlašuji, že jsem předloženou práci vypracoval(a) samostatně a že jsem uvedl(a) veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle 60 odst. 1 autorského zákona. V Praze dne 12. května 2014.....................

České vysoké učení technické v Praze Fakulta informačních technologií c 2014 Jakub Kalina. Všechna práva vyhrazena. Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora. Odkaz na tuto práci Kalina, Jakub. Aplikace pro podporu přípravy programu v dětských organizacích. Bakalářská práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2014.

Abstract The goal of this bachelor s work is to provide a simplified and more intuitive way for preparation of high-quality program by leader s in children s organizations for their members. An entertaining program, that also contributes to the education and development of children. The application is designed for mobile phones and tablets with Android OS allowing effective use of time for a program preparation outside or even in the public transport. Keywords Android, children s organizations, scouting, games for children, children s education Abstrakt Cílem této bakalářské práce je pomoci vedoucím v dětských organizacích připravit rychlým způsobem kvalitní program pro jejich svěřence. Program, který je zábavný a který současně přispívá k výchově a rozvoji dětí. Aplikace bude určena pro mobilní telefony a tablety s OS Android a umožní efektivně využít pro přípravu programu i čas strávený venku nebo ve veřejné dopravě. Klíčová slova Android, dětské organizace, skauting, hry pro děti, vzdělávání dětí ix

Obsah Úvod 1 1 Konkurence aplikace 3 1.1 Android aplikace.......................... 3 1.2 Webové aplikace.......................... 5 1.3 Zhodnocení............................. 11 2 Analýza a návrh 13 2.1 Vyhodnocení dotazníku...................... 13 2.2 Výběr platformy.......................... 19 2.3 Analýza požadavků......................... 20 2.4 Případy užití............................ 23 2.5 Databázový model......................... 25 2.6 Zdroj dat.............................. 28 2.7 Návrh uživatelského rozhraní................... 28 3 Implementace 35 3.1 Uživatelské rozhraní........................ 35 3.2 Databáze a vyhledávání...................... 35 3.3 Export................................ 36 3.4 Sdílení a hodnocení......................... 36 4 Testování 39 4.1 Parametry testovacích zařízení.................. 39 4.2 Testování autorem......................... 39 4.3 Usability test............................ 40 4.4 Nasazení na Google Play Store.................. 47 Závěr 49 Budoucnost aplikace........................... 49 xi

Literatura 51 A Seznam použitých zkratek 53 B Obsah přiloženého CD 55 xii

Seznam obrázků 1.1 Aplikace Scout Games: zobrazení seznamu her........... 4 1.2 Hranostaj................................ 6 1.3 Skautská křižovatka.......................... 8 1.4 Teepek.................................. 9 1.5 Generátor schůzek: vyhledávací formulář............... 10 1.6 Generátor schůzek: vygenerovaný program.............. 10 2.1 Cílová skupina organizací....................... 15 2.2 Cílová skupina vedoucích....................... 15 2.3 Cílová platforma............................ 15 2.4 Zájem o aplikaci nebo web....................... 16 2.5 Místo přípravy programů....................... 16 2.6 Funkce aplikace............................. 16 2.7 Zdroje pro přípravu programu..................... 17 2.8 Webové zdroje pro přípravu programu................ 17 2.9 Zájem o mezinárodní aplikaci..................... 17 2.10 Funkce bodování členů......................... 18 2.11 Diagram případů užití......................... 24 2.12 Databázové schéma........................... 26 2.13 První návrh uživatelského rozhraní................... 29 2.14 Hlavní obrazovka - seznam akcí.................... 30 2.15 Zobrazení detailu akce - jednodenní akce............... 31 2.16 Vyhledávací formulář - záložka hráči................. 32 2.17 Vyhledaný seznam her......................... 33 xiii

Seznam tabulek 1.1 Android aplikace............................ 12 1.2 Webové aplikace 1........................... 12 1.3 Webové aplikace 2........................... 12 2.1 Operační systémy[4].......................... 19 2.2 Android verze[8]............................ 19 4.1 Testovací zařízení............................ 39 xv

Úvod V České republice existuje řada organizací, které se zaměřují na práci s dětmi. Největší organizací je Junák - svaz skautů a skautek ČR s téměř 50000 členy [14]. Tato organizace má velmi dobře propracovaný systém výchovy a vzdělávání svých členů a pracuje se všemi věkovými kategoriemi. Proto tato bakalářská práce bude především vycházet ze způsobu fungování této organizace. Ostatní organizace pracující s dětmi fungují na podobných principech. Skauting se snaží nabídnout dětem pestrý a přitažlivý program, který podporuje všestranný osobnostní rozvoj každého člena. Prostřednictvím praktických činností a zábavných her rozvíjí znalosti a dovednosti svých členů a současně je podporuje v jejich vzájemné týmové spolupráci. [12] Základní jednotkou této organizace je oddíl. Oddíl se skládá většinou z několika vedoucích a nejčastěji 12-30 dětí. Dělí se do tzv. družin, což je skupina přibližně 6-8 dětí společně s jedním rádcem. Rádce je starší člen, 15-18 let, a má na starosti svojí družinu. Připravuje program na schůzky a spolupracuje s ostatními vedoucími. V organizaci Junák - svaz skautů a skautek ČR je ještě jedna nadřazená jednotka - středisko. Středisko se skládá z více oddílů, nejméně ze třech. Je základní účetní jednotkou a obhospodařuje veškerý majetek a finance. [18] Každý týden se konají družinové schůzky, které řídí a připravují jednotliví rádcové. Jednou až dvakrát do měsíce jsou pořádány víkendové akce pod vedením vůdců oddílů, méně často pak střediskové akce pro více oddílů dohromady. Rádcové jsou převážně středoškoláci, vůdcové studují vysoké školy nebo již pracují. Všichni tuto činnost vykonávají dobrovolně a ve svém volném čase. Práce s dětmi je časově velmi náročná a mnoho času zabere především příprava kvalitního programu. Vedoucí nemají často dostatek času na přípravu, neboť mají i jiné povinnosti (pracovní, studijní), a proto připravují jednotlivé aktivity mnohdy na poslední chvíli. Program na schůzky či výpravy by měl vždy mít svůj cíl a pro lepší 1

Úvod motivaci může mít i své speciální téma. Je třeba připravit přesný časový harmonogram a nezapomenout na náhradní variantu v případě nepříznivého počasí. U víkendových výprav se musí zajistit ubytování, zpracovat předběžný rozpočet a po skončení závěrečné vyúčtování. Veškeré informace je nutné včas zveřejnit pro rodiče dětí. Cílem této bakalářské práce je pomoci vedoucím připravit rychlým způsobem kvalitní program pro jejich svěřence. Program, který je zábavný a který současně přispívá k výchově a rozvoji dětí. Aplikace bude určena pro mobilní telefony a tablety s OS Android a umožní efektivně využít pro přípravu programu i čas strávený například cestováním. Pomůže vedoucím za kratší dobu vytvořit lepší program. 2

Kapitola 1 Konkurence aplikace Tato kapitola se zabývá rozborem situace obdobných aplikací na trhu. Hledání obdobných aplikací probíhalo na trhu pro zařízení s OS Android, který jsem podle svého průzkumu (viz kapitola 2.2 Výběr platformy) vyhodnotil jako nejpoužívanější OS pro mobilní zařízení mezi vedoucími oddílů. V rámci bakalářské práce jsem provedl analýzu webových aplikací, které jsou v České republice nyní využívány. Nejvyužívaněšjí webové aplikace jsou uvedeny v kapitole 2.1 v rámci prováděného průzkumu. Hodnocení konkurence je rozdělené na Android aplikace (přímá konkurence) a webové aplikace. Pro porovnání a zhodnocení konkurence jsem zaměřil na následující hodnotící prvky: využití, rozsáhlost databáze her, zaměření na konkrétní organizace, přehlednost, tvorba delších akcí. Jednotlivé aplikace jsou porovnány na závěr této kapitoly. 1.1 Android aplikace Hledání konkurenčních aplikací probíhalo pomocí následujících klíčových slov: hry pro děti, dětské hry, hry na ven, program pro děti, 3

1. Konkurence aplikace Obrázek 1.1: Aplikace Scout Games: zobrazení seznamu her skautské hry. Hledání probíhalo v českém a následně anglickém jazyce. Jediná aplikace s podobným zaměřením, kterou se mi podařilo vyhledat, je aplikace Scout Games.[5] Tato aplikace byla vytvořena zřejmě pro potřeby oddílů v anglicky mluvících zemích a pro české prostředí po obsahové stránce ne plně vyhovuje. Aplikace nabízí následující funkce, které jsou volány třemi tlačítky na hlavní obrazovce: výběr náhodné hry, zobrazit všechny hry, vyhledání hry. První funkcí je výběr náhodné hry. Po kliknutí na tlačítko aplikace zobrazí náhodnou hru ze své databáze. Při přípravě programu pro děti však není možné vybrat náhodnou hru a tu hrát. Hra musí být přizpůsobena jejich věku, počtu, prostředí ve kterém se zrovna nachází, a mnoha dalším parametrům. Proto je nutné vždy uživateli nechat možnost specifikovat tyto základní údaje. Druhou funkcí aplikace je zobrazení celého seznamu programů. Vzhledem k poměrně malé databázi nebylo třeba řešit výkonnostní problém se zobrazením všech položek. Procházení neuspořádaného seznamu a získání 4

1.2. Webové aplikace informací o jednotlivé hře je velice zdlouhavé a nepřehledné. Není ani možné si hru uložit pro pozdější použití. Poslední funkcí je vyhledávání - uživatel má možnost zvolit typ hry (pohybová, klidová, atd... ) a dále jen počet lidí, pro které je hra určena. Chybí vyhledávání podle dalších kritérií (věk, prostředí atd.). Vzhledem k velikosti databáze aplikace je i tak výsledkem dotazu velmi málo aktivit. Vše je offline a statické. Další nevýhody: Není možné do aplikace přidávat nové aktivity. O samotných hrách jsou informace velmi stručné. Obsahují pouze název, potřebné pomůcky a popis pravidel. Aplikace má velmi jednoduché uživatelské rozhraní. Na hlavní obrazovce jsou zobrazeny tři tlačítka a tak na větších rozlišeních zůstává velká část obrazovky prázdná. Jednotlivé hry jsou zobrazeny pouze textově, název hry je tučným a trochu větším písmem, dále jsou zde informace o nutném vybavení, a následně popis hry. Vše je zobrazeno bílým textem na černém pozadí. Při dohledávání programu venku při svitu slunce do displeje dle mého názoru je tato barevná kombinace hůře čitelná než černý text na bílém pozadí. Aplikace má na Google Play hodnocení 4.6, nicméně ji hodnotilo pouze 27 uživatelů. Stažení však má přes 10000. Hodnocení je poměrně vysoké i přes to, že se aplikace vůbec neaktualizuje. 1.2 Webové aplikace Dle průzkumu, popsaného v kapitole 2.1, jsou nejčastěji využívány tyto webové aplikace: Hranostaj (75%), Křižovatka (3%), Teepek (3%), Generátor schůzek (je využíván na Slovensku). 1.2.1 Hranostaj[10] Tato nejvíce používaná webová aplikace je velmi podobná funkcionalitě aplikace vytvořené v rámci mé bakalářské práce. Grafické rozhraní je příjemné viz. obrázek 1.2. Je zde propracované vyhledávání, hodnocení aktivit uživateli a možnosti doplňujících komentářů. Každý zaregistrovaný uživatel může přidávat nové hry a díky tomu je obsah stále aktualizovaný. Úvodní stránka nabízí čtyři hlavní funkce: 5

1. Konkurence aplikace Obrázek 1.2: Hranostaj vyhledávání her, prohlížení her, náhodná hra, přidání nové hry. Funkce vyhledávání her nabízí propracovaný formulář. Je možné hledat pomocí mnoha kritérií (název, pravidla, počet hráčů, délka hry, věková kategorie, prostředí, či charakter). Vyhledávací parametry je možné libovolně kombinovat. Možnost přidání nových her uživateli rozšířilo databázi programů natolik, že i pro složitější vyhledávací kritéria vrací dotaz více výsledků. Po vyhledání se zobrazí seznam se stručným popisem her seřazený podle oblíbenosti. Samotné hry pak obsahují velmi podrobný popis, komentáře a hodnocení od uživatelů. Lze je přímo vytisknout, či přidat do oblíbených. Prohlížení her nabízí katalog členěný podle jediného parametru: 6 pohybové hry, slovní,

1.2. Webové aplikace honičky, seznamovací, na ven, dovnitř, a další. Opět se zobrazí seznam her splňující tento parametr. Zobrazení náhodné hry funguje obdobně jako u Android aplikace Scout Games. Přidat novou hru může již jen zaregistrovaný uživatel. Po vyplnění formuláře je hra přidána do databáze a zařazena do sekce nejnovějších her (také zobrazováno hned na úvodní stránce). V současné době však web není již příliš aktualizovaný a kontrolovaný. V komentářích lze nalézt hromady reklam, proti kterým web není vůbec zajištěn. 1.2.2 Skautská križovatka[15] Křižovatka je webová aplikace se zaměřením pouze na skautskou organizaci. Je určena především ke sdílení článků, propagaci různých projektů, či k získávání metodických informací o vedení dětí v Junáku. Obsahuje také jednoduchý vyhledávač programů. Převážně jsou však zaměřené na skautský program a nelze je příliš využít v jiných organizacích. [17] Hlavní stránka nabízí funkce: Vyhledat program, Náhodný program, Přidat program, Moje programy. K vyhledávání slouží formulář, kde je možné vybírat podle skautských věkových kategorií, jaký bod stezky 1 si děti plní, dále podle délky aktivity, prostředí a náročnosti přípravy. Náhodný program zobrazí obdobně jako v případě Hranostaje program z databáze na základě náhodného výběru. Přidat programu je možné pouze po přihlášení. Vzhledem k tomu, že tento web je zaměřen pouze na skautskou organizaci je vyžadováno přihlášení přes skautský informační systém. Položka Moje programy zde zobrazí pouze vlastní programy, které uživatel do databáze přidal. 7

1. Konkurence aplikace I přes možnost přidávání programů všemi uživateli není tato aplikace příliš rozšířená. Chybí taktéž interakce s uživateli (hodnocení či komentování aktivit). Obrázek 1.3: Skautská křižovatka 1.2.3 Teepek[16] Tento web je nyní krátce po kompletní aktualizaci. Je určen pouze pro organizaci Junák. Lze zde nalézt spoustu článků se zaměřením především na věkovou kategorii skautů (11-15) let. Do budoucna je plánovaná taktéž databáze programů, nyní je však zatím prázdná. Informace o tomto webu jsem získal na schůzce s autorem. V současné době lze nalézt hry nebo jiné aktivity pouze v článcích. Takto získanou inspiraci na program mohou tedy využít pouze ti, kteří web pravidelně sledují. Pro vyhledávání tento způsob není příliš vhodný. 1 Stezka je skautský prostředek ke vzdělávání dětí skautskou výchovnou metodou.[13] 8

1.2. Webové aplikace Obrázek 1.4: Teepek 1.2.4 Generátor schůzek[11] Tento nový projekt je zatím funkční pouze na Slovensku. Plánováno je i rozšíření do Česka. Je to zatím jediný automatický systém pro sestavení programu na delší časový úsek. Informace o tomto projektu jsem získal na jednání na Ústředí Junáka. Tato aplikace funguje jinak než všechny předchozí. Umožňuje již skládání celých schůzek. Liší se tedy i způsobem vyhledávání. Vyhledávací formulář je uživateli zobrazen ihned po vstupu na stránku. Vyhledávací parametry jsou následující: rozvoj, typ hry, zaměření, věková kategorie, počet osob, prostředí, 9

1. Konkurence aplikace Obrázek 1.5: Generátor schůzek: vyhledávací formulář Obrázek 1.6: Generátor schůzek: vygenerovaný program 10

1.3. Zhodnocení období (jaro, léto, podzim, zima), čas schůzky. Po navolení parametrů a stisknutí pro vygenerování programu je pod formulářem uživateli zobrazena celá připravená schůzka. Na začátku je zobrazena časová linie celé schůzky, pod ní detaily jednotlivých aktivit. Uživatel může jednotlivé aktivity měnit za jiné automaticky vybrané, Dále aplikace umožňuje export, či přímý tisk jednotlivých aktivit, dále také export nebo přímý tisk programu celé schůzky. 1.3 Zhodnocení V současné době s využitím existujících prostředků probíhá příprava akcí následujícím způsobem: v internetových databázích, knihách a jiných zdrojích organizátor hledá programy, které následně kopíruje do textového editoru (MS Word, Google Doc, atd.). V tomto editoru probíhá ručně samotná příprava akce. Každá příprava je tedy velmi náročná a často se zapomíná na některé důležité části, které jsou pak připravovány pozdě nebo nekvalitně. Může to být například včasné informování rodičů dětí o akci, špatné informace o ceně akce, z důvodu nezajištěného ubytování včas, a podobně. Z předchozí kapitoly je patrné, že zatímco webových aplikací na uvedené téma je dostatek, a to jak kvalitních, tak i méně kvalitních, tak kvalitní aplikace pro mobilní zařízení (telefony a tablety) na českém trhu chybí. Z webové aplikace Hranostaj lze převzít rozsáhlou databázi a rovněž jsem se inspiroval způsobem vyhledávání. Dobře propracované skládání programů na schůzky lze nalézt na slovenském webu Generátoru schůzek. Existující aplikací Scout Games pro OS Android se nelze inspirovat, neboť nemá aktualizovanou a dostatečně obsáhlou databázi a nevyužívá současné trendy pro vývoj aplikací v OS Android. Na mobilních telefonech nebo tabletech webové aplikace nejsou příliš dobře podporovány a kopírování jednotlivých programů a jejich skládání do časového harmonogramu je tak velmi nepohodlné. Z výše uvedeného je zřejmé, že veřejné aplikace pro mobilní zařízení s požadavky, které vyhovují současným nárokům pro přípravu programů, nejsou snadno dostupné. Proto bych chtěl v této bakalářské práci tuto chybějící část trhu zaplnit. 11

1. Konkurence aplikace 1.3.1 Porovnání aplikací Název aplikace Scout Games využití 0% v České republice rozsáhlost databáze přibližně 100 her zaměření na organizace libovolná organizace přehlednost staré neaktualizované UI, černobílá aplikace tvorba delších akcí ne Tabulka 1.1: Android aplikace Název aplikace Hranostaj Skautská křižovatka využití 75% 3% rozsáhlost databáze velká, možnost pouze skautské rozšiřování programy zaměření na organizace libovolná organizace pouze Junák přehlednost snadná orientace snadná orientace tvorba delších akcí ne ne Tabulka 1.2: Webové aplikace 1 Název aplikace Teepek Generátor schůzek využití 3% rozsáhlost databáze zatím prázdná velká, není možné rozšiřovat zaměření na organizace pouze Junák slovenský skauting přehlednost programy pouze v článcích, chybí vyhledávání velmi povedené UI, při exportu příliš roztahané programy na mnoho stránek tvorba delších akcí ne ano, generování až tři hodiny dlouhého programu Tabulka 1.3: Webové aplikace 2 Webová aplikace Hranostaj je dle průzkumu nejpoužívanější a má rozsáhlou databázi dat. Proběhla proto dohoda s autorem této aplikace o sdílení databáze. Do budoucna je plánována i větší interakce propojení. 12

Kapitola 2 Analýza a návrh Dnes již většina lidí vlastní nějaký "smartphone", často pak i tablet.[4] Toto zařízení mají téměř vždy po ruce. Aplikace na mobilní platformu tak umožní přípravu celých akcí i po cestách v dopravě do školy nebo do práce. Dále bude upozorňovat na ještě nesplněné dílčí části přípravy, aby vše bylo zařízené včas. Pro uživatele by byla velmi užitečná také možnost vytvářet vlastní upomínky k přípravě. Další výhodou aplikace v mobilních zařízeních bude možnost vyhledat program v nouzových situacích, například když ujede vlak a vznikne tak čas navíc, se kterým se v přípravě akce nepočítalo. 2.1 Vyhodnocení dotazníku Pro získání přehledu o zájem o aplikaci a získání požadavků na vlastnosti aplikace jsem provedl průzkum cílové skupiny uživatelů. Průzkum byl proveden pomocí online dotazníku rozeslaného mezi vedoucí různých českých dětských organizací. Rozeslán byl pomocí informačních kanálů jako facebook nebo email, dále byl napsán článek na skautský informační portál Křižovatka. Dotazník vyplnilo 200 osob. 2.1.1 Dotazník 1. Jaká je Vaše pozice ve vedení? Pomocník ve vedení (rádce družiny, oddílu,..) Zástupce vedoucího Oddílový/á vedoucí Jiný 2. Kde připravujete převážně program? 13

2. Analýza a návrh Doma Ve škole Po cestách v dopravě Jiný 3. Jaký operační systém v telefonu máte? Android ios Windows Phone Jiný 4. Uvítal byste mobilní aplikaci nebo radši pouze web pro přípravu programu? Mobilní aplikace Web Mobilní aplikace + web 5. Preferoval byste raději českou či anglickou variantu (z důvodu mezinárodního sdílení)? Pouze v češtině Mezinárodní verze Je mi to jedno 6. Jaké zdroje pro přípravu programů používáte? Internet Knížky Kamarádi ze svého okolí Jiný 7. Při hledání programu na internetu využíváte jaké weby? 8. Zde prosím napište libovolné nápady, připomínky, které k aplikaci máte. Na obrázcích 2.1 až 2.10 jsou zobrazeny grafy výsledků dotazníku. 1 Webová aplikace je další rozsáhlou prací, tudíž v této bakalářské práci nebude vytvářena. 14

2.1. Vyhodnocení dotazníku A-TOM ČSOP DDM Erasmus Student Network CZ LDT Nesytá MOP Pionýr Skaut Dětský folklórní soubor Obrázek 2.1: Cílová skupina organizací Oddílový/á vedoucí pasivní činovník Pomocník ve vedení (rádce družiny, oddílu,..) zástupce vedoucího bývalý vůdce oddílu Hlavní vedoucí Hospodář vedoucí na táboře Střediskový vedoucí Obrázek 2.2: Cílová skupina vedoucích Android ios Windows Phone Jiný Obrázek 2.3: Cílová platforma 15

2. Analýza a návrh Mobilní aplikace Web Obojí Obrázek 2.4: Zájem o aplikaci nebo web Doma Po cestách v dopravě Ve škole/v práci Na poradách Nepřipravuji Obrázek 2.5: Místo přípravy programů Aplikaci bych nechtěl používat Možnost přípravy celých výprav Příprava schůzek Vytváření harmonogramů na celý rok Postupné rozšiřování Speciální akce, nápady na nevšední tématiku Harmonogram tábora Obrázek 2.6: Funkce aplikace 16

2.1. Vyhodnocení dotazníku Internet Knížky Kamarádi ze svého okolí Vlastní kreativita Kurzy Zkušenosti Obrázek 2.7: Zdroje pro přípravu programu Google Hranostaj krizovatka.skaut.cz Teepek Rovernet Predskolaci.cz taborovehry.wz.cz www.woodcraft.cz http://www.klajnu.net/hry/z f2-vychovny-cil.html http://www.zoubek.cz/home page/hry/odpm.html casopisy.skaut.cz Obrázek 2.8: Webové zdroje pro přípravu programu Pouze v češtině Mezinárodní verze Je mi to jedno Obrázek 2.9: Zájem o mezinárodní aplikaci 17

2. Analýza a návrh 160 140 120 100 80 60 40 20 0 134 Ano 41 Ne Obrázek 2.10: Funkce bodování členů Z dotazníku vyplynulo několik informací: Aplikace nebude omezena pouze na skautskou organizaci. Aplikace bude mít využití nejen pro rádce a pouze pro přípravu schůzek, ale i pro jiné vedoucí. Aplikace bude ze začátku pouze pro OS Android. Uživatelé mají zájem také o web spolupracující s aplikací. 2 Většina přípravy probíhá doma, avšak poměrně velké množství i po cestách v dopravě nebo ve škole, či v práci, tedy bez počítače. Hlavní zájem je o tyto funkce aplikace: příprava celých výprav, příprava schůzek, plánování celého roku, možnost bodování členů přímo v aplikaci. Skoro polovina dotazovaných využívá k přípravě současné webové aplikace. Jednoznačně nejpoužívanější webovou aplikací je Hranostaj. Většina dotazovaných má zájem o aplikaci v českém jazyce. Aplikace bude na začátku nasazena pouze v českém jazyce z důvodu zájmu o aplikaci na českém trhu, do budoucna je však v případě zájmu plánované rozšíření do anglického jazyka. Protože se předpokládá využití především ve 18

2.2. Výběr platformy skautských oddílech (i když ji budou moci používat jiné organizace pracující s dětmi), nazval jsem aplikaci Scout App. 2.2 Výběr platformy Zájem o vytvoření této aplikace na mobilní platformy plyne z vyhodnocení dotazníku v předešlé kapitole. Vybrání vhodného operačního systému vyplývá nejen z předchozí kapitoly, ale také z celosvětových statistik o rozšířenosti jednotlivých platforem. V současné době je Android nejrozšířenějším OS na trhu s mobilními telefony.[4] Operační systém Počet zařízení [tis.] Podíl na trhu(%) Android 758 719,9 78,4 ios 150 785,9 15,6 Microsoft 30 842,9 3,2 BlackBerry 18 605,9 1,9 Ostatní OS 8 821,2 0,9 Tabulka 2.1: Operační systémy[4] Dále proběhl průzkum jednotlivých verzí systému Android. Pro většinu moderních prvků je zpřístupněná zpětná kompatibilita pro verze 2.3.3 a výše. Zařízení s těmito verzemi jsou na trhu již téměř všechny.[8] Verze Název API Distribuce (%) 2.2 Froyo 8 1,2 2.3.3-2.3.7 Gingerbread 10 19 3.2 Honeycomb 13 0,1 4.0.3-4.0.4 Ice Cream Sandwich 15 15,2 4.1.x Jelly Bean 16 35,3 4.2.x 17 17,1 4.3 18 9,6 4.4 KitKat 19 2,5 Tabulka 2.2: Android verze[8] Aplikace tedy bude dostupná pro zařízení s OS Android verze 2.3.3 a výše. 2 Webová aplikace je další rozsáhlou prací, tudíž v této bakalářské práci nebude vytvářena. 19

2. Analýza a návrh 2.3 Analýza požadavků Z provedeného průzkumu v kapitole 2.1 vyplynuly následující funkční požadavky. 2.3.1 Funkční požadavky hledání her, zobrazení seznamu akcí, zobrazení harmonogramu akcí, vytváření, úprava, mazání akcí, exportování detailu akcí, sdílení akcí, editování programu akce, tvorba obecných informací o akci pro export, možnost poznámek a upomínek k akcím, zobrazení bodování, správa bodování. 2.3.1.1 Hledání her Hledání her je jednou ze dvou základních funkcí aplikace. Aplikace musí umět vyhledávat podle rozsáhlých vyhledávacích parametrů. Vyhledávání je rozděleno do čtyř kategorií. charakter hry prostředí doba hráči Charakter hry rozlišuje hry pohybové, pro zasmání, slovní, honičky, sportovní, bojovky, s násilnými prvky, rukodělné aktivity, hry na cestu a spoustu dalších typů. Prostředí určuje všechny možné typy prostředí, ve kterých je možné hry hrát (do místnosti, na ven, na hřiště, na sníh, do tmy, atd.) V kategorii doba si uživatel může zvolit, jak dlouho hra má trvat, případně jak dlouho bude muset trávit nad přípravou hry. Kategorie hráči bude určovat informace o hráčích, pro které je hra vhodná. Bude zde na výběr z věkových kategorií, dále však také počty hráčů, pro které je hra určena. 20

2.3. Analýza požadavků 2.3.1.2 Zobrazení seznamu akcí Seznam akcí aplikace se bude zobrazovat přímo na hlavní obrazovce. V seznamu budou vidět všechny vlastní akce. Pomocí levého navigačního panelu (Navigation Drawer) bude možné filtrovat akce podle jednotlivých oddílů. 2.3.1.3 Zobrazení harmonogramu akcí Po otevření detailu libovolné akce se zobrazí programový harmonogram dané akce. Stejně tak po vytvoření nové akce bude uživatel ihned přesměrován do zobrazení harmonogramu. Zde se bude zobrazovat časová linie průběhu celé akce, spolu se stručnými informacemi o programu a barevně odlišenými typy (herní, vzdělávací, nebo jiné). 2.3.1.4 Vytváření, úprava, mazání akcí Uživatel bude moci vytvářet nové akce, nepovedené mazat. Vytvořené akce během přípravy bude možné libovolně editovat a doplňovat o více informací. 2.3.1.5 Exportování detailu akcí Vytvořenou akci bude možné exportovat do html webové stránky, kterou si uživatel bude moci vytisknout a použít tak pro vlastní realizaci na akci. Stránka bude obsahovat základní informace o akci, časový harmonogram, a detailní informace o jednotlivých programech. 2.3.1.6 Sdílení akcí Akce bude možné sdílet nejen pomocí exportu do html, ale i přímo v aplikaci. Uživatelé si budou moci vzájemně nasdílet svůj obsah v aplikaci a tak usnadní přípravu více vedoucím v rámci jednoho oddílu. 2.3.1.7 Editování programu akce Pro vytvořené akce, nebo nasdílené s přístupem pro editaci aplikace umožní uživateli program libovolně upravovat, přehazovat časové bloky programů, vytvářet úplně nové programy a samozřejmě je i mazat. 2.3.1.8 Tvorba obecných informací o akci pro export Aplikace umožní zadávat obecné informace o akci, jako sraz, návrat, účastnický poplatek i místo konání. Dále k akci bude možné přidat libovolnou poznámku. 21

2. Analýza a návrh 2.3.1.9 Možnost poznámek a upomínek k akcím Aplikace bude umožňovat k jednotlivým akcím přidávat poznámky, u kterých bude možné nastavit upomínku. Pro hry s nutnou přípravou budou automaticky poznámky vygenerovány, že je nutné dané hry připravit. 2.3.1.10 Zobrazení bodování Aplikace umožní zobrazit bodování všech vlastních oddílů. 2.3.1.11 Správa bodování Bodování bude prováděno za jednotlivé akce, a uživatel si tak ke všem vytvořeným akcím bude moci evidovat bodování jednotlivých členů. 2.3.2 Nefunkční požadavky aplikace pouze pro OS Android, stabilita, internetové připojení pro stahování dat, synchronizace dat. 2.3.2.1 Aplikace pro OS Android Aplikace musí fungovat na mobilních zařízeních s OS Android verze 2.3.3 a výše. Aplikace je omezená pouze na tento operační systém v těchto verzích z důvodu vysvětlených v kapitole 2.2. 2.3.2.2 Stabilita Aplikace musí být stabilní i při výpadcích internetového spojení (např. v metru). 2.3.2.3 Internetové připojení pro stahování dat Při prvním spuštění aplikace musí být zařízení připojeno k internetu pro umožnění prvotního stáhnutí databáze dat. Dále internetové spojení nebude vyžadováno, avšak bude využíváno pro některé online služby. 2.3.2.4 Synchronizace dat Aplikace umožní automatickou synchronizaci dat se serverem. Po ztrátě telefonu nebo při koupi nového tak uživatel nepřijde o svá data a na nové zařízení se data automaticky nahrají, pokud se uživatel přihlásí pod stejným Google účtem do tohoto zařízení. 22

2.4. Případy užití 2.4 Případy užití V aplikaci si uživatel bude moci připravovat přehledně akce pro svůj oddíl, nebo i pro více oddílů. Výstupem mu bude jednak přehledný program v aplikaci, ale i soubor html, který z aplikace bude možné vyexportovat a následně ho i vytisknout, a tak být při realizaci akce vždy perfektně připraven. Vedlejší funkcí programu bude rychlé vyhledávání her, které bude možné využít při nouzových situacích, jako například při zpoždění vlaku. Diagram případů užití je zobrazen na obrázku 2.11. 23

<< include >> 2. Analýza a návrh Zobrazit bodování Hledat hru Upravit bodování akce Vytvořit novou akci << include >> << include >> Upravit akci uživatel Smazat akci << include >> << include >> Zobrazit seznam akcí << include >> Exportovat detail akce Sdílet akci Editovat program a informace o akci << include >> << include >> << include >> << include >> << include >> Zobrazit detail akce Přidat poznámku do akce 24 Obrázek 2.11: Diagram případů užití

2.5. Databázový model 2.5 Databázový model Základem aplikace bude poměrně rozsáhlá databázová struktura. Databáze je rozdělena do dvou hlavních částí: herní část - zajišťující databázi her, její možnou aktualizaci, uživatelská část - zajišťující synchronizaci uživatelských dat a zpřístupňující možnost sdílení mezi jednotlivými uživateli (oddíly). Databázové schéma je zobrazeno na obrázku 2.12. 2.5.1 Herní část databáze Tato část databáze vychází z databáze získané jako hlavní zdroj dat. Zdroj dat je více popsán v kapitole 2.6 Zdroj dat. Umožňuje především vyhledávání herních částí programu. 2.5.1.1 Game Entita Game (hra) je základním stavebním prvkem programu. Má svůj název a podnadpis, pravidla, odhadovaný herní čas, minimální a maximální počet hráčů, ve kterém je hra realizovatelná, obtížnost přípravy a věkové kategorie, pro které je hra vhodná. Dále se zde ukládá stažené celkové hodnocení uživateli pro možnost zobrazení hodnocení offline. 2.5.1.2 Environment Entita Environment (prostředí) určuje místa, kde je možné hru hrát. 2.5.1.3 Character Entita Character (charakter hry) definuje vlastnosti hry, jestli je pohybová, naučná, nebo oddechová a podobně. 2.5.2 Uživatelská část databáze Tato část databáze slouží k uchovávání informací o uživatelích, jaké akce připravují, evidenci jednotlivých oddílů a členů i s bodováním. Dále umožňuje uživatelům hodnotit jednotlivé hry. Základním prvkem této části je entita Event. 2.5.2.1 Event Entita Event slouží k zaznamenávání informací o akcích vytvářených uživateli. Má vždy určenou dobu od kdy se akce koná a kdy skončí a svůj typ (schůzka, jednodenní akce, víkendová akce, atd.). Volitelně lze doplnit o informace jako 25

2. Analýza a návrh # * id o name o content o reminder * color NOTES # * id * name MEMBER # * id * points SCORING # * id * name o description CUSTOMACTIVITY # * id * name * fromdate o enddate * type o place o price o infonote EVENT # * id * name UNIT COMMENTS TIMEMANAGEMENT # * id * rating o commenttext * time # * id * name USER # * id * from * programtime * programtype * outside WATCHLIST # * id * type ENVIRONMENT GAME # * id * title o subtitle * rules * gametime * playernumbermin * playernumbermax * preparationdifficulty * agecathegory * rating * ratingcount # * id * type # * id * iswatching * target * access CHARACTER Obrázek 2.12: Databázové schéma 26

2.5. Databázový model název akce (vhodné při akci s tématickým rámcem), vlastní popis akce, místo konání, účastnický poplatek, a libovolnou informační poznámku k akci. 2.5.2.2 Comments Entita Comments ukládá uživatelské komentáře k jednotlivým hrám. Hodnocení je možné provádět pomocí ohodnocení hvězdičkami a volitelně lze doplnit o vlastní slovní komentář. 2.5.2.3 CustomActivity Entita CustomActivity umožňuje uživateli přidat vlastní programové bloky do harmonogramu akce. Každý tento program má své jméno, volitelně popis. 2.5.2.4 Member Entita Member slouží k udržování informací o členech ve vlastních oddílech. Slouží především pro evidenci bodování. 2.5.2.5 Notes Entita Notes ukládá poznámky přidané k akcím. Každá poznámka eviduje název a obsah poznámky, dále je možné přidat upomínku na určité datum a čas. Poznámka má dále jednu z šesti základních barev. 2.5.2.6 Scoring Entita Scoring eviduje jednotlivé body pro členy na akcích. 2.5.2.7 TimeManagement Entita TimeManagement skládá z her a vlastních programových bloků harmonogram. Eviduje začátky jednotlivých aktivit. Dále je zde ukládán čas dané aktivity, typ aktivity, zda je to hra, vzdělávací program nebo něco jiného a v neposlední řadě zda bude program na ven nebo dovnitř. 2.5.2.8 Unit Entita Unit slouží jako relace mezi uživatelem a akcemi. Umožňuje tak pořádat akce pro více různých jednotek (družin, oddílů,...). Má svůj název. 2.5.2.9 User Entita User uchovává základní informace o uživateli, jako jeho jméno případně přezdívku. 27

2. Analýza a návrh 2.5.2.10 WatchList Entita WatchList umožňuje sdílení akcí mezi více vedoucími v relaci M:N například v rámci oddílu. Tato tabulka tedy obsahuje vazby vždy mezi dvěma uživateli. Pokud uživatel zažádá o sdílení s jiným uživatelem, do tabulky se uloží záznam s atributem platnosti přístupu nastaveným na hodnotu 0 (neplatný přístup). Tomuto uživateli se při spuštění aplikace (při připojení na internet) zobrazí dialog, ve kterém má možnost sdílení přijmout nebo odmítnout. Při přijmutí se aktualizuje vytvořený záznam s atributem platnosti přístupu nastaveným na hodnotu 1 (platný přístup) a vytvoří nový záznam s platným přístupem pro opačný směr sdílení. V případě odmítnutí se záznam smaže. 2.6 Zdroj dat Pro použitelnost aplikace je nezbytná poměrně velká základna dat. Dále je to jedna z prvních aplikací na mobilní zařízení svého druhu, tak bylo nutné získat podporu z některé webové aplikace. Proběhla dohoda o možnosti sdílení databáze z nejpoužívanějšího webu hranostaj.cz, která se tak stane prvotním datovým základem aplikace. Poskytnut byl přímý export kompletní databáze her ve formátu MySql pro možnost libovolného použití. 2.7 Návrh uživatelského rozhraní Existující aplikace Scout Games nemá vhodné uživatelské rozhraní. Hlavní obrazovka zobrazuje tři tlačítka, se základním vzhledem starších verzí OS Android. Tlačítka na větších obrazovkách zabírají ani ne čtvrtinu celého prostoru. Dále jak je již zmíněno v kapitole 1.1 bílý text na černém pozadí nepovažuji za vhodný. Návrh uživatelského rozhraní tak musel vznikat plně vlastní. 2.7.1 První návrh První návrh vznikl v podobě viz. obrázek 3.1. Aplikace by po otevření nabízela menu hlavních funkcí aplikace. Jednotlivé vlastnosti by tak byly oddělené, uživatel by pro používání aplikace musel vždy kliknout na nějakou položku v menu a až teprve poté by mohl aplikaci používat k tomu, k čemu slouží. Dalším problémem byly zařízení s velkými displeji. Ikonky v menu se zde zobrazovali příliš malé a všude okolo byla spousta prázdného nevyužitého prostoru. Tento návrh proběhl velmi rychle, bez hlubšího studování Android Design Guidelines[9], které Google pro vývojáře na Android nabízí, aby aplikace byli hezčí a pro uživatele snadno a jednotně ovladatelné. Špatnost návrhu se také projevila při rozeslání několika uživatelům pro ohodnocení. 28

2.7. Návrh uživatelského rozhraní Obrázek 2.13: První návrh uživatelského rozhraní. 2.7.2 Druhý návrh Vzhledem k špatnému hodnocení prvního návrhu uživatelského rozhraní vznikl návrh druhý. Návrh se zaměřil na používání standardních ovládacích prvků Android. Návrh se také zaměřuje na používání navigace skrze aplikaci doporučované v Android Design Guidelines[9]. Návrh byl prováděn pomocí nástroje Pencil pro tvorbu wireframes 3 na OS Android, následně po kladném ohlasu uživatelů byl vytvořen prototyp UI, který se použil ve finální aplikaci. Hlavními prvky navigace v aplikaci jsou ActionBar a Navigation Drawer. ActionBar v horní části obrazovky nezabírá příliš mnoho prostoru a tak hned na úvodní obrazovce je možné uživateli zobrazovat seznam současných připravovaných akcí a navigaci zajišťovat pomocí ActionBaru. Dále pomocí ovládacího prvku Navigation Drawer si uživatel může filtrovat akce podle jednotlivých oddílů, dále umožňuje zobrazit list všech poznámek, které si uživatel vytvořil. 3 Wireframe aplikace je tzv. "model aplikace", který slouží pro definování vzhledu a navigaci v aplikaci bez samotné implementace.[19] 29

2. Analýza a návrh Obrázek 2.14: Hlavní obrazovka - seznam akcí Hlavní obrazovka v základu zobrazuje seznam všech akcí vytvořených uživatelem. Všechny akce lze rozkliknout pro zobrazení programu a dalších podrobností. ActionBar nabízí navigaci pro základní funkce aplikace: bodování, hledání her, vytváření nové akce. Tlačítko bodování slouží pro zobrazení souhrnného bodování členů vybraného oddílu, tlačítko hledat umožňuje rychlé vyhledávání her a tlačítko pro vytvoření nové akce zobrazí formulář se základními údaji o této akci. Všechna tlačítka jsou ve stylu základních ikon systému Android. Při dlouhém kliknutí na akci se akce označí (lze označit i více akcí naráz). Vybrané akce lze hromadně mazat nebo archivovat pomocí tlačítek na actionbaru. Po otevření detailu některé akce je uživateli ihned zobrazen navržený harmonogram akce. Pokud je akce vícedenní, harmonogram je rozdělen do jednotlivých dní. Harmonogram akce se skládá z jednotlivých programových bloků, které jsou rozděleny na dva různé typy. Program může být hra z databáze, pak jsou informace o ní doplněny automaticky a lze změnit pouze hrací dobu, časové zařazení do akce, zda se bude hrát venku nebo uvnitř a jaký typ programu to bude. 30

2.7. Návrh uživatelského rozhraní Obrázek 2.15: Zobrazení detailu akce - jednodenní akce Aby program akce nebyl omezený na existující databázi her, může si uživatel vytvořit vlastní program. Po kliknutí je zobrazen detail programu v podobě formuláře se základními informacemi podobně jako u her z databáze, dále je možné přidat vlastní název a vlastní popis programu a obdobně jako u her doba trvání programu, zda je na ven nebo dovnitř, a jestli je to hra, vzdělávací program nebo něco jiného. Všechny programové bloky v harmonogramu lze libovolně přehazovat, přidávat, editovat nebo mazat. Přehazování, editace a mazání programů lze provést pomocí tlačítek na ActionBaru po označení z některých programů dlouhým kliknutím. Pro přidání nového programu je vždy pod celým hotovým programem v každém dni akce zobrazeno tlačítko "plus". Dále zde actionbar nabízí rozsáhlou nabídku dalších funkcí: bodování, poznámky, informace o akci, sdílení akce, přidání akce do Google kalendáře. Při kliknutí na ikonku bodování v této části aplikace se zobrazí bodování pouze pro tuto akci s možností editace. Tlačítko pro poznámky zobrazí seznam 31

2. Analýza a návrh poznámek, či upomínek k dané akci. Uživatel si zde může vytvářet nové poznámky nebo upomínky pro zařizování věcí k akci. Pokud hry z databáze vyžadují nějakou přípravu, jsou automaticky vytvořené poznámky pro tyto programy. Zobrazení základních informací o akci umožní uživateli zpětně upravit informace při vytváření nové akce a doplnit informace o cenu, místo, nebo libovolnou poznámku k akci. 2.7.2.1 Vyhledávací formulář Obrázek 2.16: Vyhledávací formulář - záložka hráči Vyhledávací formulář vycházel velmi z webové aplikace Hranostaj z důvodu databáze, která je v aplikaci použita. Vyhledávací formulář je rozdělen do čtyř sekcí. 32 Hráči - zde si uživatel může specifikovat hráče, jejich počet a věk. Věk lze vybrat podle následujících věkových kategorií: vlčata (1. stupeň ZŠ), skauti (2. stupeň ZŠ), roveři (SŠ). Dále je zde možnost vyhledávat pomocí textu v názvu, podnadpisu, nebo pravidlech. Doba - zde je možné zvolit přibližnou délku hry (10 minut, 30 minut, 2 hodiny nebo delší), a dále taky náročnost přípravy programu (bez přípravy, snadná příprava, středně obtížná příprava, náročná příprava, velmi náročná příprava).

2.7. Návrh uživatelského rozhraní Prostředí - zde si uživatel může vybrat v jakém prostředí je možné hru hrát. Prostředí jsou následující: do místnosti, na ven, do terénu, na hřiště, na cestu, do vody, na sníh, do tmy, k ohni či posezení, nezávislé na prostředí. Charakter - zde si uživatel může zvolit charakter hry. Charaktery her jsou následující: pohybová, pro zasmání, slovní, honička, sportovní, bojovka, s násilnými prvky, chodička / strategická, na inteligenci / paměť, na postřeh / šikovnost, hra pro učení či vzdělávání, morální / sociální, divadelní / dramatická, zážitková / inscenační, seznamovací, rukodělná / tvořivá, stolní / desková / papírová, táborový den / hra na pozadí, Ano/ne detektivka. Po vyplnění vyhledávacího formuláře a vyhledání her se zobrazí seznam s odpovídajícími vyhledanými parametry. Hry jsou seřazené podle množství vyhovujících parametrů a dále podle oblíbenosti uživateli. Obrázek 2.17: Vyhledaný seznam her 33

Kapitola 3 Implementace Vývoj aplikace probíhal podle analýzy a návrhu. Popisovat implementaci každé třídy není potřebné, zaměřím se tedy pouze na části, které jsou nestandardní. 3.1 Uživatelské rozhraní V této části se zaměřím na uživatelské rozhraní a problémy se zpětnou kompatibilitou pro podporu Androidu 2.3 a výše. Ovládání využívá nové prvky ActionBar a NavigationDrawer pro navigaci. Oba tyto prvky však do OS Android přišli až s verzí 3.0, tedy od API 11.[9] Google však nabízí Support Library pro tyto prvky se zachováním zpětné kompatibility. Na nových verzích OS Android se tak používá standardní implementace, na starších verzích implementace dodávaná v SupportLibrary. V samotné implementaci není používání těchto knihoven problematické, pouze stačí využívat místo Activity 4 ActionBarActivity, která základní Activity rozšiřuje o zpětně kompatibilní ActionBar. Druhý problém se zpětnou kompatibilitou bylo nutné vyřešit při implementaci výběru více prvků najednou. Od API 11 Android nabízí MultiChoiceModeListener pro tuto funkci. Pro zpětnou kompatibilitu byla použita implementace z [1]. 3.2 Databáze a vyhledávání Návrh tříd pro komunikaci s databází vychází přímo z návrhu databázového schéma. Jedna databáze je na serveru (MySql), ve které jsou veškeré záznamy doplněné o časovou známku. Android zařízení nabízí největší podporu pro Sqlite databázi. [7] Veškerá práce s databází se provádí na pozadí pomocí 4 Activity je základní stavební prvek Android aplikací. Slouží pro vytvoření a zobrazení samotného okna, který se zobrazí uživateli.[6] 35

3. Implementace objektu SqliteDatabase, který umožňuje synchronní komunikaci. Při provozu aplikace dochází k synchronizaci dat mezi databází a koncovým mobilním zařízením. Vzhledem k tomu, že je přenášeno větší množství dat, bylo nutné použít technologii, která nezpomalila běh aplikace. Proto pro vytváření nových záznamů v koncovém mobilním zařízení byla použita metoda "begin transaction - commit - end transaction", která dávala podstatně rychlejší odezvu než jednotlivé příkazy insert. Vyhledávání je prováděno pomocí sql dotazu, který vybírá podle zadaných parametrů hry. Pro zobrazení většího množství her nemusí odpovídat výběr všem parametrům. Vyhledávací parametry se dělí na povinné a nepovinné. Povinné jsou nutnou podmínkou ve výběru. Nepovinné parametry jsou seskupeny podle typu (charaktery her, prostředí). Hry jsou dále vyhledávány podle množství odpovídajících parametrů, kde z každé skupiny musí platit alespoň jeden. 3.3 Export Každou akci si uživatel může vyexportovat a nasdílet výstup jiným. První návrh byl export do pdf dokumentů. Vzhledem ke kompletnímu fungování aplikace offline však bylo nezbytné, aby byl export prováděn přímo v zařízení Android. Pro export do pdf dokumentů existuje několik knihoven. Díky šifrování pdf dokumentů jsou však knihovny velké a náročné. Byl vytvořen prototyp aplikace umožňující export do pdf dokumentů pomocí knihovny itext[3]. Velikost aplikace se zvětšila o 5 MB, export byl díky rozsáhlosti knihovny pomalý a navíc vznikly problémy s českou diakritikou. Proto bylo potřeba nalézt jiné lepší řešení. Zvolil jsem tedy export do html stránky. Vzhledem pouze k exportu formátovaného textu byl tento způsob mnohem rychlejší a snazší na implementaci. Export je proveden velmi jednoduše pro snadné kopírovaní do jiných textových editorů, nebo i pro tisk. 3.4 Sdílení a hodnocení Aplikace komunikuje se serverem, který zprostředkovává komunikaci mezi Mysql databází a uživateli. Komunikace probíhá pomocí protokolu TCP. Při každém spuštění aplikace se v případě připojení zařízení na internet posílá na server údaj s časovou známkou poslední aktualizace (při prvním spuštění je 0). Server odpovídá balíčky (Update) pro každou tabulku v databázi, kde časová známka vložení je větší než časová známka, která přišla od uživatele. Tímto způsobem je zajištěno, že každá aktualizace databáze se rozšíří mezi všechny uživatele, a tak se bude moci databáze v průběhu libovolně rozšiřovat. 36

3.4. Sdílení a hodnocení Hodnocení a jiné synchronizační prvky jsou vyřešené stejným způsobem. V okamžiku ohodnocení se provede okamžitá synchronizace, pokus o odeslání v případě připojení na internet. Server odpovídá svým aktualizovaným primárním klíčem v online databázi, aby klientská databáze mohla rozpoznat, zda jsou již konkrétní data online. V případě selhání spojení nikdy nedorazí primární klíč záznamu, a proto tyto data nejsou ještě synchronizována. Tyto chyby zpracuje další vlákno běžící na pozadí aplikace, které jednou za čas zkontroluje databázi, zda je všechno úspěšně synchronizováno, a data, která synchronizována nejsou, se pokusí odeslat na server, dokud se synchronizace úspěšně neprovede. 37

Kapitola 4 Testování 4.1 Parametry testovacích zařízení Název zařízení úhlopříčka rozlišení displeje Verze OS Android Nexus 7 2012 7 1280 x 720 4.4.2 Lenovo Yoga 8 8 1280 x 800 4.2 Samsung GT-S5300 2,8 320 x 240 2.3 Nexus 7 2013 7 1920 x 1200 4.4 Samsung GT-S6310n 3,27 320 x 480 4.1 Samsung GT S7580 4 800 x 480 4.2 Samsung Galaxy Ace 3,5 480 x 320 2.3.6 Tabulka 4.1: Testovací zařízení 4.2 Testování autorem V průběhu celé implementace byly jednotlivé části aplikace testovány průběžně převážně na tabletech Nexus 7 2012 a Lenovo Yoga 8. Pro zpětnou kompatibilitu a funkčnost na menších a méně výkonných telefonech byly převážně používán emulátor dodávaný v Android SDK a dále Samsung GT-S5300. Pro výstup testů jsem použil standardní prostředky pro logování. V Androidu k těmto účelům slouží třída Log. Pro zobrazení chybových nebo jiných hlášek přímo uživateli jsem použil třídu Toast, která zobrazí na krátký časový okamžik hlášku přímo uživateli na displej. 4.2.1 Testování UI Po naimplementování každé activity zobrazující určitou část aplikace byly testovány všechny možné interakce od uživatele. První byly do 39

4. Testování ListView 5 přidávány testovací data, až později došlo k propojení s databází. 4.2.2 Testování databáze Databáze byla testována vkládáním, editováním a mazáním předem určených dat, které pak bylo možné zobrazit pomocí externí aplikace Sqlite Debugger. Tato aplikace umožňuje umožňuje ukázat existující sqlite databáze přímo v zařízení a provádět nad ní externí dotazy.[2] 4.3 Usability test Po důkladném otestování aplikace autorem práce byl proveden usability test, jehož účelem bylo prověřit funkčnost a hlavně použitelnost aplikace. Pro tento test byli zvoleni cíloví uživatelé aplikace, kteří aplikaci Scout App s největší pravděpodobností mohou využít. 4.3.1 Popis testu Účelem tohoto testu bylo prověřit, zda je aplikace pro uživatele snadno použitelná a jestli logické uspořádání ovládacích prvků v uživatelském rozhraní je intuitivní. Každý tester dostal scénář různých úkolů, které v aplikaci musel vykonat. Jednotlivé scénáře byly navrženy tak, aby otestovali veškerou funkcionalitu aplikace. 4.3.2 Testeři Pro tento test byli zvoleni uživatelé, kteří mají zkušenosti s přípravou akcí (alespoň schůzek). Zároveň každý tester používal aplikaci na svém vlastním zařízení s OS Android, na kterém měl aplikaci nainstalovanou. Z důvodu vlastního zařízení se předpokládá základní znalost využívání zařízení s OS Android. Parametry těchto zařízení lze nalézt v kapitole 4.1. 4.3.3 Pre-test Před samotným usability testem byl proveden pre-test, který od testerů zjistil, jaké zařízení při testu následně budou používat, a jaká verze OS Android na tomto zařízení je. Parametry a jednotlivé verze OS Android těchto zařízeních lze nalézt v kapitole 4.1. Tester 1: Lenovo Yoga 8 Tester 2: Nexus 7 2013 5 ListView je prostředek pro zobrazení seznamu prvků, které se v průběhu běhu aplikace mohou snadno přidávat, odebírat nebo měnit. 40