}w!"#$%&'()+,-./012345<ya

Rozměr: px
Začít zobrazení ze stránky:

Download "}w!"#$%&'()+,-./012345<ya"

Transkript

1 }w!"#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Rozšířená realita na Windows Phone 7 - aplikace hledající restaurace DIPLOMOVÁ PRÁCE Bc. Jiří Syrový Brno, podzim 2012

2 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Bc. Jiří Syrový Vedoucí práce: RNDr. Jaroslav Škrabálek ii

3 Poděkování Rád bych poděkoval vedoucímu práce za odbornou pomoc a cenné rady. Dále děkuji své rodině a všem, kteří mě podporovali během tvorby této práce a celého studia. iii

4 Shrnutí Diplomová práce se zabývá rozšířenou realitou a jejím využitím v mobilních zařízeních. Jejím cílem je implementace rozšířené reality v aplikaci pro mobilní platformu Windows Phone. Tato aplikace bude schopna vyhledávat restaurace v okolí uživatele a zobrazovat jejich denní menu. iv

5 Klíčová slova Rozšířená realita, Windows Phone, virtuální kontinuum, vyhledávání restaurací v

6 Obsah 1 Úvod Rozšířená realita Virtuální kontinuum Virtuální realita Rozšířená virtualita Rozšířená realita Základní realita Smíšená realita Simulovaná realita Historie Typy rozšířené reality Rozšířená realita na bázi lokace Naváděcí značky Rozšířená realita bez naváděcích značek Příklady využití rozšířené reality Aplikace využívající rozšířenou realitu na bázi lokace 13 Layar Wikitude Junaio Yapf Acrossair Další vybrané aplikace Reklamní kampaň Heinz OnRoad Augmented Driving Lite AR Invaders Windows Phone Historie Vývoj aplikací Silverlight XNA Senzory Kamera Akcelerometr Geolokace Vykreslování trojrozměrných objektů Definice zorného pole Promítání

7 4.3 Matice Transformační matice Matice pohledu Projekční matice Použití Lunchtime.cz Historie Konkurence Mobilní Aplikace Programátorské rozhraní Implementované aplikace Vývoj aplikace SDK Vývojové prostředí Testovací zařízení Funkcionalita aplikace Hlavní menu Výpis denních menu Výpis restaurací Zobrazení restaurací na mapě Detail podniku Vyhledávání Jednoduché vyhledávání Pokročilé vyhledávání Přidání nové restaurace Implementace rozšířené reality Načítání restaurací Viditelnost restaurací Detekce budov Inicializace mapy Definice oblasti viditelných bodů Rozlišení restaurací Nevýhody popsaného řešení Definice popisků restaurací Převod souřadnic na vektor Tvorba popisků Vykreslení popisků Definice matic Překreslování popisků Způsob zobrazení popisků

8 8.5 Náhledová mapa Výkonnostní testy Nasazení aplikace Závěr A Obrazová příloha B Obsah CD

9 1 Úvod Již od pradávna lidé řeší stále stejnou otázku - kde sehnat potravu a kde se kvalitně najíst? Od dob, kdy tlupy pořádaly hony na mamuty se naštěstí již mnohé změnilo, avšak díky novým technologiím se naskýtá prostor pro další pokrok i v tomto směru. Dnes již máme možnost takového komfortu, že si nemusíme jídlo lovit, dokonce ani připravovat, ale stačí navštívit některou z hojného počtu restaurací, pohodlně se usadit a nechat si jídlo donést až na stůl. Restaurací je však stále více a s jejich počtem rostou také nároky zákazníků. Mámeli tu možnost, proč nejít na oběd tam, kde dobře vaří a kde mají to, na co máme zrovna chut? Zní to logicky a jednoduše. Velkým problémem dnešní doby je však věčný nedostatek času. Jak tedy rychle a efektivně zjistit, která z restaurací bude nejlépe vyhovovat našim požadavkům? Zde přichází ke slovu moderní technologie, a sice fenomén poslední doby chytré mobilní telefony. Není nic snazšího, než použít odpovídající aplikaci v našem mobilním telefonu a rychle zjistit, jaké se v nejbližším okolí nachází restaurace a jaké mají dnes menu. Nyní už tedy máme vybránu restauraci, kde bychom chtěli poobědvat a známe její adresu. Co když ale přijdeme na danou ulici a zjistíme, že je neuvěřitelně velká, rušná a nepřehledná? Než bychom se zorientovali a našli na ní onu restauraci, vypršel by čas, který jsme si na oběd vyhradili. V takovém případě by nám například pomohlo, kdyby naše aplikace podporovala rozšířenou realitu (augmented reality). Tímto pojmem označujeme jev, kdy je běžný obraz okolního světa doplněn o další digitálně zpracovaná data. Aplikace by nám pak pomocí fotoaparátu nabízela obraz ulice, doplněný o ukazatele na restaurace, které se na ní nachází, což by nám značně ulehčilo situaci. Vývojem právě takovéto aplikace se zabývá tato diplomová práce. Cílem je vytvořit aplikaci pro mobilní platformu Windows Phone, která bude disponovat všemi výše zmíněnými funkcemi. Aby byla aplikace v rozumné míře použitelná, je nezbytné mít přístup k dostatečně obsáhlé databázi restaurací. Tu poskytl internetový portál Lunchtime.cz, který se zabývá propagací restaurací a jejich denních menu. 4

10 2 Rozšířená realita Spojení reálného obrazu s počítačem zpracovanými daty či dokonce spojení počítače s člověkem samotným je již po mnoho let námětem nesčetného počtu vědeckofantastických filmů. Vhodným příkladem za všechny může být například velice známý film Matrix. Základní myšlenkou je fakt, že lidé jsou napojeni na počítač, který vytváří umělý obraz světa. Tento obraz se jim jeví tak reálný, že ani netuší, ˇze jde o pouhou iluzi a ˇzijí tak svůj běžný život. Dnes již není tato představa nikterak nereálná a nepatří pouze na papíry scénáristů. Díky moderním technologiím lze již něco podobného realizovat. Rozšířená realita je pouze jedním ze způsobů, jak zobrazovat virtuální objekty. K přesnému pochopení významu tohoto pojmu je dobré znát také ostatní způsoby a vědět, čím se od sebe liší. Právě to je tématem následující části, kde také podám definici rozšířené reality. 2.1 Virtuální kontinuum V současné době existuje mnoho systémů, které dokáží pomocí zobrazovacích zařízení uživateli zprostředkovat obraz v jakékoliv míře virtualizace. Může jít o obraz reálného světa, kde striktně platí veškeré zákony fyziky či o obraz počítačem zcela uměle vytvořený, který se může či nemusí řídit běžnými pravidly a zákony. Může to být ale také kombinace těchto dvou možností. [13] Abychom mohli tyto systémy rozlišovat, bylo nutné zavést vhodnou terminologii. Paul Milgram a Fumio Kishino proto v roce 1994 definovali koncept, který pojmenovali virtuální kontinuum (virtuality continuum). Tento termín byl později změněn na výstižnější reality-virtuality continuum [6]. Obrázek 2.1: Virtuální kontinuum. Zdroj: [13] Tento koncept je znázorněn na obrázku 2.1. Jde o kontinuum, které je z jedné strany ohraničeno reálným světem (abych dodržel již jednou zavedenou terminologii, kterou ve svém textu použila Eva Žáčková [6], budu 5

11 2. ROZŠÍŘENÁ REALITA dále tento pojem označovat jako základní realita) a ze strany druhé světem virtuálním (virtuální realitou - viz níže). Právě v rámci tohoto konceptu byl mimo jiné definován i pojem rozšířená realita, o kterém pojednává tato diplomová práce. Jak lze z obrázku 2.1 vytušit, čím více vpravo se na ose kontinua pohybujeme, tím jde o větší míru virtualizace. Jednotlivé pojmy, které se v obrázku vyskytují, vysvětlím v následujících podkapitolách. Začnu od nejvyšší míry virtualizace, protože se na ni budu v dalších částech odvolávat. Popíši také další pojmy, které s virtuálně-reálným kontinuem souvisí Virtuální realita Tento pojem (z angl. virtual reality) je patrně nejznámější. Ve virtuálním kontinuu se nachází na pravém konci (Virtual Environment) a jde o případ, kdy je obraz zcela generován pomocí počítače a neobsahuje žádné reálné objekty. Existuje mnoho definic pro tento pojem. Uvedu pouze tu, kterou zveřejnil v roce 1992 George Coates: Virtuální realita je elektronická simulace prostředí, kde může uživatel pomocí speciálních brýlí a oblečení interagovat s realistickými trojrozměrnými objekty. [19] Jde tedy o technologický systém, který dokáže uživateli pomocí speciálního hardwarového vybavení vykreslit umělý svět, jehož může být součástí a který je schopen reagovat na jeho pohyby v reálném čase. Může tedy například pohybovat virtuálními předměty apod. Virtuální realita našla uplatnění například v počítačových hrách, které tak dostaly nový rozměr a hráč může být přímo součástí hry, v lékařství, kde lze vytvářet celé modely lidského těla a simulovat tak operace, v armádě například pro výcvik pilotů, ve sportu a v mnoha dalších odvětvích Rozšířená virtualita Podstatu rozšířené virtuality (Augmented virtuality) lze snadno vytušit z její pozice ve virtuálním kontinuu (viz obrázek 2.1). Podobně jako v případě virtuální reality jde o prostředí, které je generováno počítačem. Rozdíl je však v tom, že v tomto umělém prostředí mohou figurovat také reálné objekty. [24] Příkladem rozšířené reality může být systém car/pe! [17]. Tento systém umožňuje uživatelům na různých místech zprostředkovat konferenci tak, 6

12 2. ROZŠÍŘENÁ REALITA jako by se skutečně sešli v jedné místnosti. Každý účastník má k dispozici svou stanici, která pomocí speciálního hardwarového vybavení snímá audiovizuální data, která přenáší na server. Systém vytvoří počítačový model místnosti s jedním stolem, kolem kterého sedí účastníci konference. Na stole navíc může být vykreslen trojrozměrný objekt, kterého se konference týká Rozšířená realita Rozšířená realita (augmented reality) je někdy označována jako opak virtuální reality [11]. Pokud bychom ale chtěli najít opak rozšířené reality mezi jednotlivými pojmy ve virtuálním kontinuu, pak to bude spíše rozšířená virtualita, což také vyplývá z obrázku 2.1. Jestliže v rozšířené virtualitě je prostředí tvořeno počítačem a jsou k němu přidávány reálné objekty, v rozšířené realitě je tomu skutečně právě naopak. Uživatel vidí reálný obraz nasnímaný kamerou, ke kterému jsou přidávány počítačově generované prvky. Rozšířenou realitou lze tedy označovat takové systémy, které splňují následující tři podmínky: [1] 1. Jde o kombinaci reálného prostředí s virtuálními objekty 2. Pracují v reálném čase 3. Objekty jsou trojrozměrné Ačkoliv je definice rozšířené reality poměrně jasná, jak uvidíme v kapitole 2.3, dosud mezi odbornou veřejností existují rozpory, jaké systémy lze za rozšířenou realitu považovat a které nikoliv Základní realita Jak již bylo naznačeno v úvodu této kapitoly, základní realita zahrnuje vše, co máme možnost vidět kolem sebe, at se již díváme přímo, či použijeme objektiv nějaké kamery či fotoaparátu. Jde tedy o obraz reálného světa bez jakýchkoliv počítačově přidaných dat Smíšená realita Jak je z obrázku 2.1 patrné, smíšená realita (mixed reality) pokrývá celé virtuálně-reálné kontinuum od rozšířené reality po rozšířenou virtualitu. Patří sem tedy jakákoliv aplikace, která kombinuje reálný svět s virtuálním. 7

13 2. ROZŠÍŘENÁ REALITA Simulovaná realita Simulovaná realita (simulated reality) je zatím pouze ve fázi konceptu. Jedná se o takové systémy, které by generovaly zcela umělý svět, avšak tento svět by byl pro člověka naprosto nerozlišitelný od světa reálného. Jinými slovy by tyto systémy byly schopny prostřednictvím nejmodernějších technologií vytvořit naprosto věrnou kopii reálného světa. [6] 2.2 Historie Ačkoliv rozšířená realita zaznamenala významný rozmach teprve v posledních letech, její počátky lze nalézt poměrně hluboko v historii. Pravděpodobně prvním, kdo publikoval myšlenku o zařízení, které bychom dnes označili jako rozšířenou realitu, byl Lyman Frank Baum. Tento americký spisovatel v roce 1901 napsal román The Master Key, ve kterém vystupuje démon, jež dá malému chlapci brýle. Tyto brýle chlapci pomohou určovat charakter lidí, které potká. Pokud se na někoho chlapec skrz brýle podívá, uvidí na čele dotyčné osoby značku, která určí jeho charakter. [5] Již tenkrát si byl Baum možná vědom, že pokrok jde stále dále a jeho myšlenky se možná někdy stanou skutečností, jelikož v úvodu románu uvedl: Tyto věci jsou nepravděpodobné, ale jsou nemožné? [5]. Obrázek 2.2: Sensorama. Zdroj: [20] Roku 1961 si nechal americký vynálezce Morton Heilig patentovat přístroj, který nazval Sensorama. Mělo jít o kino budoucnosti. Přístroj byl určen pro jednoho uživatele, kterému umožnil sledovat film a vnímat ho všemi 8

14 2. ROZŠÍŘENÁ REALITA smysly. Měl například možnost projíždět na motorce ulicemi, přičemž proti němu foukal vítr a sedadlo vibrovalo. Přístroj nebyl nikdy komerčně využit, jelikož náklady na výrobu filmů byly příliš vysoké. [20] [12] V roce 1966 profesor Harvardovy univerzity Ivan Sutherland vynalezl první zobrazovací zařízení, které bylo připevněné na hlavě uživatele a promítalo mu obraz přímo do očí (v angličtině označováno jako head-mounted display - HMD). Ve skutečnosti bylo zařízení však tak těžké, že muselo být připevněno na strop, díky čemuž si vysloužilo přezdívku Damoklův meč. [20] Sutherland tímto svým vynálezem položil základ vývoji zobrazovacích zařízení pro virtuální či rozšířenou realitu. HMD se v modernějším pojetí používá v tomto oboru doposud. Sutherland sám však v dalším vývoji nepokračoval, jelikož počítačové grafické systémy, které měl v tu dobu k dispozici byly příliš primitivní. [12] Obrázek 2.3: Sutherlandův Damoklův meč. Zdroj: britannica.com/ebchecked/topic/630181/virtual-reality- VR/253103/Early-work Od roku 1969 se začal Myron W. Krueger zabývat myšlenkou, že by mohl člověk s virtuálními objekty interagovat. Nakonec roku 1975 vytvořil systém Videoplace, který to skutečně umožňoval. [7] Pravděpodobně prvním, kdo použil termín rozšířená realita byl profesor Thomas Caudell [20] [6]. Bylo to v roce 1990, kdy spolupracoval na konstrukci letounů firmy Boeing. Hledal efektivní způsob, jakým by nahradil složité plány každého letounu a usnadnil tak výrobní proces. Řešením 9

15 2. ROZŠÍŘENÁ REALITA byl systém, který montážním pracovníkům pomocí speciálních brýlí vykresloval plány přímo v prostoru - tedy rozšířená realita (více viz kapitola 2.1.3). [2] Roku 1992 Luis B. Rosenberg vyvinul v Air Force Research Laboratory systém na bázi rozšířené reality, který nazval Virtual Fixtures. Tento systém snímal za pomoci haptických rukavic pohyby rukou uživatele a přenášel je na robotické rameno, přičemž uživatel používal HMD. Systém mu tak pomáhal daný úkol vyřešit co nejefektivněji. Testy potvrdily, že tento systém může zvýšit produktivitu až o sedmdesát procent. [18] Ve stejném roce vyvinuli pánové Steven Feiner, Blair MacIntyre a Dorée Seligmann systém, který využíval rozšířenou realitu a byl určen pro uživatele laserových tiskáren. Pomocí HMD jim zobrazoval návod, jak tiskárnu opravovat. Systém se orientoval v prostoru dle malých trojúhelníků, umístěných na těle tiskárny. [4] V roce 1994 Paul Milgram a Fumio Kishino definovali virtuální kontinuum, ve kterém rozlišili jednotlivé systémy pro virtuální vizualizaci (viz předchozí kapitola 2.1). [13] V roce 1994 byla rozšířená realita poprvé použita také v umění. Julie Martinová zrealizovala první divadelní představení, kdy umělci tančili s virtuálními tanečníky. [20] V roce 1998 byla na Univerzitě Severní Karolíny představena prostorová rozšířená realita. Tento typ rozšířené reality nepoužívá ke svému zobrazení žádný displej, ale je pomocí soustavy projektorů promítána přímo na fyzické objekty. [16] V roce 1999 Hirokazo Kato vyvinul sadu nástrojů pro vývoj aplikací s rozšířenou realitou. Nazval ji ARToolKit a nyní již existuje její verze pro téměř všechny platformy. Lze díky ní poměrně snadno implementovat rozšířenou realitu na bázi naváděcích značek (viz podklapitola 2.3.2). [29] Herní průmysl se dočkal své první hry, která využívá rozšířenou realitu v roce 2000, kdy byla na sympoziu ISWC (International Symposium on Wearable Computers) v Atlantě představena hra ARQuake. Šlo o rozšíření velmi úspěšné akční hry. [21] 2.3 Typy rozšířené reality V této části popíši jednotlivé typy rozšířené reality, které se používají při vývoji aplikací pro mobilní telefony.[11] 10

16 2. ROZŠÍŘENÁ REALITA Rozšířená realita na bázi lokace Tento typ rozšířené reality se v anglické literatuře označuje jako Gravimetric augmented reality či Location-based augmented reality. Aplikace, která ho využívá se také někdy označuje jako vyhledávač. Uživatel namíří kameru svého mobilního zařízení např. na nějakou budovu a aplikace mu o ní vypíše nějaké doplňující informace. Implementace přesně takového typu aplikace je součástí této práce. Tyto aplikace využívají dat, které poskytne mobilní zařízení prostřednictvím akcelerometru, kompasu a geolokace. Aplikace tedy přesně ví, kde se uživatel nachází a jakým směrem je jeho mobilní zařízení natočeno. Dále má typicky k dispozici databázi tzv. objektů zájmů (POIs - Points Of Interest), která obsahuje mimo jiné zeměpisné souřadnice každého objektu. Na základě všech těchto informací je aplikace schopna fungovat tak, jak bylo popsáno výše. Aplikace ve skutečnosti k zobrazování informací kameru mobilního zařízení nepotřebuje, jelikož všechny informace zná předem a nerozpoznává objekty na základě obrazové informace. Z tohoto důvodu někteří zastánci striktní definice rozšířené reality za ni tento typ aplikace nepovažují. Příklady aplikací, které využívají tento typ rozšířené reality jsou uvedeny v kapitole 2.4. Tento typ rozšířené reality je druh takzvané markerless Naváděcí značky Tento typ rozšířené reality již přesně odpovídá její definici. Aplikace, ve kterých je implementován, využívají kamery mobilního zařízení k rozpoznání tzv. naváděcích značek (Fiduciary Markers). Jde o speciální černo-bílé značky různých tvarů, které aplikaci slouží pro orientaci v prostoru a pro určení typu objektu, který se má vykreslit. Pokud aplikace takovou značku rozpozná, může na jejím místě vykreslit nějaký trojrozměrný objekt. Tvar značky navíc může určovat, jakým směrem má být objekt natočen. Příkladem aplikace, která tento typ rozšířené reality využívá může být jiˇz zmíněná hra ARQuake nebo aplikace ARGirl, která je určna pro mobilní telefon iphone. Tato aplikace pokud rozpozná značku, vykreslí na jejím místě virtuální dívku, která začne tancovat. 11

17 2. ROZŠÍŘENÁ REALITA Obrázek 2.4: Ukázka aplikace ARGirl. Vpravo je znázorněna naváděcí značka, která se v aplikaci používá. Špička této šipky určuje, jakým směrem má být dívka vykreslena čelem. Zdroj: com/argirl/ Rozšířená realita bez naváděcích značek Tento typ rozšířené reality (markerless augmented reality) pracuje podobně jako typ předchozí. Místo černobílých značek však rozpoznává běžné předměty v reálném světě. Patří sem například aplikace, která je schopna rozpoznat obličeje apod. 2.4 Příklady vyuˇzití rozšířené reality Existuje mnoho velmi praktických a užitečných aplikací, které využívají rozšířenou realitu. Podobně jako virtuální realitu, lze také tu rozšířenou nalézt v lékařství, armádě a v mnoha jiných odvětvích. Jde však většinou o specializovaná zařízení a tudíž je zde nebudu popisovat. Tato práce se zaměřuje na využití rozšířené reality v mobilních zařízeních, a proto zde uvedu příklady právě z této oblasti. 12

18 2.4.1 Aplikace vyuˇzívající rozšířenou realitu na bázi lokace 2. ROZŠÍŘENÁ REALITA V této části popíši nejznámější aplikace, které jsou svou funkcionalitou podobné aplikaci, kterou jsem vyvíjel v rámci této práce. Layar Layar je nizozemská společnost, založená v roce 2009, která se zabývá vývojem aplikací, využívajících rozšířenou realitu. Společnost zdarma distribuuje stejnojmennou aplikaci pro mobilní telefony s operačním systémem Apple ios nebo Android. Uživatel má v aplikaci k dispozici několik vrstev (layers), roztříděných do kategorií. Tyto vrstvy mohou být zdarma či placené. Vrstvou se rozumí databáze objektů, které se budou vykreslovat. Pro tvorbu těchto vrstev Layar poskytuje programátorské rozhraní, které lze do určité míry zdarma využívat. Dokumentace k tomuto rozhraní je dostupná na adrese V České republice sice zatím moc vrstev není, ale dá se předpokládat, ˇze jich bude přibývat. Jednou z prvních českých firem, která službu využila byl Mediatel se svou aplikací Zlaté stránky. [27] Aplikace také nabízí funkci tzv. Layar Vision, kterou firma prezentuje jako rozšíření tištěného světa. Princip je jednoduchý. Do systému se nahraje obrázek (nejčastěji např. stránka časopisu), kdy jsou určeny jeho referenční body, na základě kterých je pak mobilní aplikace daný obrázek schopna rozpoznat. Následně se k ní přiřadí nějaký multimediální obsah či grafika. Pokud tedy pak uživatel namíří fotoaparát svého mobilního telefonu na patřičnou stránku časopisu, aplikace ji rozpozná a zobrazí přiřazený obsah. Wikitude Wikitude je podobná aplikace jako Layar s tím rozdílem, že vrstvy jsou pojmenovány jako světy (worlds). Aplikace je vyvíjena rakouskou firmou Wikitude GmbH a je zdarma dostupná pro všechny nejrozšířenější mobilní platformy (Android, ios, Windows Phone a BlackBerry). Wikitude umožňuje vývojářům integrovat svou rozšířenou realitu do jejich vlastních aplikací. K tomuto účelu nabízí sadu nástrojů (SDK - software development kit), která je však zdarma pouze pro vzdělávací účely. SDK je však určené pouze pro operační systém Android a ios. 13

19 2. ROZŠÍŘENÁ REALITA Junaio Junaio je další aplikací, která je téměř identická se dvěma předchozími. Tuto aplikaci vyvíjí německá firma Metaio a lze ji zdarma stáhnout do mobilních zařízení s operačním systémem ios a Android. Stejně jako Wikitude mají vývojáři k dispozici SDK, díky kterému mohou ve svých aplikacích využívat rozšířenou realitu. Yapf Yapf (yet another POI finder) je aplikace, která je určena pouze pro mobilní platformu Windows Phone. Je poměrně pěkně zpracovaná, avšak Wikitude konkurovat nemůže. Jako jediný zdroj dat totiž používá vyhledávání zajímavých míst od společnosti Google. Po grafické stránce ja na tom Wikitude také o něco lépe. Acrossair Další aplikací tohoto typu je aplikace Acrossair, která je určena pro mobilní telefony iphone. Aplikace se zaměřuje hlavně na vyhledávání míst, kde lze nalézt konkrétní zboží. Dokáže však také například nalézt uživatelův zaparkovaný automobil Další vybrané aplikace Reklamní kampaň Heinz Rozšířená realita může být vhodným prostředkem pro upoutání potenciálního zákazníka. Příkladem za všechny je reklamní kampaň na kečupy od společnosti Heinz, která byla jednou z prvních a upoutala tak pozornost několika médií. Společnost si nechala vytvořit aplikaci pro mobilní telefony s operačním systémem Apple ios nebo Android, která měla jednoduchou funkcionalitu. Pokud uživatel namířil fotoaparát na etiketu kečupu, stala se z ní brožurka, která obsahovala recepty jídel, jejichž hlavní ingrediencí byl právě kečup. [10] Funkcionalita této aplikace je sice velmi specifická, ale lze si představit, že tento koncept lze využít také v obecnější rovině OnRoad Augmented Driving Lite Rozšířená realita může také pomáhat předcházet dopravním nehodám. Aplikace v chytrých telefonech se již dávno používají pro navigaci, avšak apli- 14

20 2. ROZŠÍŘENÁ REALITA kace OnRoad Augmented Driving Lite jde ještě dále. Pomáhá řidiči určit vzdálenost automobilu, který jede před ním. Vidí obraz silnice před jeho vozidlem, který je doplněn o barevnou signalizaci, zda je vzdálenost bezpečná či by měl raději snížit rychlost AR Invaders Také ve světě her je rozšířená realita hojně využívána. Příkladem takové hry může být AR Invaders, kde na hráče útočí nepřátelské lodě mimozemské civilizace. 15

21 3 Windows Phone Součástí této práce je aplikace pro zařízení s mobilní platformou Windows Phone. V této kapitole proto čtenáře s touto platformou seznámím. Jde o relativně nový operační systém od firmy Microsoft, který je určen pro mobilní telefony. Přichází se zcela novým designovým pojetím, které společnost Microsoft pojmenovala Metro styl. Systém je určen pro široké spektrum uživatelů a nesoustředí se pouze na podnikatelskou sféru. Společnost Microsoft si klade za cíl poskytnout co největší uživatelskou přívětivost. 3.1 Historie Prvním operačním systémem od firmy Microsoft, který byl určen pro mobilní zařízení byl Pocket PC Jak již jeho název napovídá, bylo to v roce Nešlo však o systém pro mobilní telefony, ale pro zařízení typu PDA (Personal Digital Assistance), tedy pro kapesní počítače. Systém pro mobilní telefony přišel až v roce Byl jím Windows Mobile 2003, který byl v roce 2005 následován další verzí Windows Mobile 5. Pro tuto verzi již mohli vývojáři vyvíjet aplikace v rámci platformy.net. Na vývoj nebyla kladena téměř žádná omezení a mohly tak vznikat aplikace, které byly velmi výkonnostně náročné a navíc jejich služby mohly běžet i když nebyla aplikace spuštěna. Tento fakt také později přispěl k rozhodnutí o osudu řady Windows Phone. Nicméně řada Windows Mobile byla poměrně úspěšná a cílila na podnikatelskou sféru. Pokračovala verzemi Windows Mobile 6 (2007) a Windows Mobile 6.1 (2008). Zlom přišel v roce 2007, kdy se na trhu objevil první mobilní telefon iphone od společnosti Apple, který byl vážnou konkurencí a způsobil velký odliv zákazníků. Přišel totiž s revolučním dotykovým ovládáním. Jeho kapacitní displej byl schopný detekovat dotek na více místech současně a nabízel tak velký uživatelský komfort. Společnost Microsoft v té době vyvíjela novou verzi Windows Mobile 7, avšak musela reagovat na silného protihráče, a proto rychle vydala verzi Windows Mobile 6.5, která upravovala uživatelské rozhraní pro snazší ovládání prstem. Tato verze však nesplnila očekávání. V roce 2008 vstoupila na trh s mobilními operačními systémy společnost Google se svým operačním systémem Android, což byla další velká konkurence. Společnost Microsoft se tedy odhodlala k radikálnímu kroku a pustila se do vývoje zcela nového systému. [28] 16

22 3. WINDOWS PHONE V říjnu roku 2010 byl nový systém s názvem Windows Phone 7 vypuštěn na asijský trh a postupně pak také do dalších zemí. Tento systém nebyl s Windows Mobile zpětně kompatibilní. V současné době je aktuální verze Windows Phone 8, která byla vydána v říjnu roku Vývoj aplikací Po zkušenostech s předchozí řadou mobilních operačních systémů, kde díky nekontrolovanému vývoji aplikací a velkému množství různě výkonných zařízení docházelo k výkonnostním problémům, se společnost Microsoft rozhodla specifikovat minimální hardwarové požadavky těch zařízení, na kterých může být operační systém Windows Phone instalován. Pro vývojáře to byl velmi vítaný krok, jelikož přesně ví, jakým hardwarovým vybavením bude každé zařízení disponovat a mohou tomu tak své aplikace přizpůsobit. Dalším omezením je, že vývojáři nemohou vytvářet takové aplikace, které by běžely na pozadí. Uživatel musí vždy přesně vědět, co se s jeho zařízením děje. Mohou však využít tzv. Push Notifications, což jsou krátké zprávy, které aplikace mohou příjímat i když nejsou spuštěné. Systém pak uživatele upozorní, že nastala nějaká událost, pro jejíž zpracování je třeba spustit konkrétní aplikaci. [28] Pro vývoj aplikací na operační systém Windows Phone jsou k dispozici dvě platformy, které popíši níže. Obě jsou součástí balíku.net framework Silverlight Silverlight je technologie, která byla původně navržena pro vývoj multimediálních internetových aplikací. Její potenciál se však uplatnil také pro vývoj aplikací pro operační systém Windows Phone. Jako programovací jazyk se zde používá C# nebo Visual Basic. K definici vzhledu uživatelského rozhraní (UI - user interface) slouží deklarativní značkovací jazyk XAML (Extensible Application Markup Language). Pomocí elementů se zde popisují jednotlivé UI komponenty, ke kterým pak lze ve zdrojovém kódu přistupovat a definovat či měnit tak jednotlivé atributy XNA Platfroma XNA je určena primárně pro vývoj her. Byla publikována v roce 2007 a měla sloužit k vývoji aplikací pro herní konzolu Xbox. Používá se 17

23 3. WINDOWS PHONE však také k vývoji počítačových her a nyní také pro vývoj aplikací pro operační systém Windows Phone. Knihovny platformy XNA lze však použít také v platformě Silverlight. Lze dokonce docílit kombinace těchto dvou platforem na takové úrovni, že například hlavní menu aplikace bude využívat platformu Silverlight, ale po výběru položky se spustí část aplikace, která je napsána v rámci platformy XNA. [8] 3.3 Senzory Protože se práce zabývá implementací rozšířené reality, uvedu v této kapitole senzory, které jsou pro tento účel nezbytné a kterými mobilní zařízení disponuje Kamera Jak jiˇz bylo řečeno, rozšířená realita doplňuje obraz reálného světa o grafické prvky. K získání tohoto obrazu se používá kamera, kterou musí každé zařízení, na němž je instalován operační systém Windows Phone, disponovat. Tato kamera musí mít minimální rozlišení pět megapixelů. [14] Akcelerometr Potřebujeme také vědět, jakým směrem je zařízení natočené. K tomuto účelu má mobilní zařízení k dispozici tzv. akcelerometr. Jde o zařízení, které slouží pro měření zrychlení. Je tedy schopné detekovat jakýkoliv pohyb zařízení. Aplikace má pak k dispozici vektor, ve kterém jsou uloženy hodnoty o aktuálním natočení zařízení.[14] Geolokace Posledním důleˇzitým údajem pro implementaci rozšířené reality je aktuální poloha uživatele. Také tento údaj je mobilní zařízení schopno poskytnout. Je totiž vybaveno modulem GPS (Global Positioning System), který je schopen za pomoci satelitního systému zjistit zemské souřadnice, na kterých se mobilní zařízení nachází. Tuto polohu je však zařízení schopno zjistit také pomocí internetového připojení či prostřednictvím mobilního operátora. Dle GPS je však lokalizace nejpřesnější.[14] 18

24 4 Vykreslování trojrozměrných objektů Jak již bylo řečeno, pro rozšířenou realitu je charakteristické, že systém, který ji využívá, musí být schopný vykreslit trojrozměrný objekt. V této kapitole proto krátce nastíním základy teorie vykreslování těchto objektů v souvislosti s rozšířenou realitou a využitím v mobilním zařízení. 4.1 Definice zorného pole Základním předpokladem je, že budeme vykreslovat pouze ty objekty, které jsou v zorném úhlu pohledu uživatele, resp. kamery jeho mobilního zařízení. Musíme tedy definovat prostor, ve kterém se tyto objekty mohou vyskytovat. Tento prostor bude tvaru komolého jehlanu (viz obrázek 4.1), který vznikne z čtyřbokého jehlanu, na jehož vrcholu je umístěna kamera (Camera). Menší podstava komolého jehlanu (Front Plane) určuje nejkratší vzdálenost od kamery, ve které se může vyskytovat objekt, který chceme vykreslit. Větší podstava (Back Plane) naopak definuje nejdelší možnou vzdálenost objektu. Tento definovaný prostor se v anglicky psané literatuře označuje jako View Frustum. [9] Obrázek 4.1: Zorné pole kamery tvaru komolého jehlanu (View Frustum). Zdroj: xna.framework.boundingfrustum.aspx 19

25 4. VYKRESLOVÁNÍ TROJROZMĚRNÝCH OBJEKTŮ 4.2 Promítání Víme-li v jakém prostoru se může objekt nacházet, potřebujeme ještě vědět, kde na obrazovce ho vykreslit. Jinak řečeno, musíme ho převést z trojrozměrného prostoru do dvourozměrného. Jde o proces, kdy pro každý bod objektu v prostoru, definujeme pomocí promítacího paprsku bod v rovině, kterou nazýváme průmětna (viz obrázek 4.2). Průmětnou bude v praxi obrazovka zobrazovacího zařízení. Tomuto procesu se v grafice říká projekce. Existují dva základní typy projekce [15]: 1. Středové (perspektivní) promítání - promítací paprsky vycházejí z jediného bodu. Odpovídá lidskému vnímání reálného světa, kdy při vzrůstající vzdálenosti dochází k proporcionálnímu zmenšování objektů. 2. Rovnoběžné promítání - všechny promítací paprsky mají stejný směr. Obrázek 4.2: Objekt a jeho průmět vzniklý promítáním rovnoběžným (vlevo) a středovým (vpravo). Zdroj: [15] Z výše uvedeného je tedy zřejmé, že pro účely využití v rozšířené realitě je vhodnější středové promítání, jelikož chceme objekty zasadit do reálného světa. Prostor, ze kterého lze středovým promítáním vykreslovat objekty také odpovídá komolému jehlanu, který jsem definoval v kapitole 4.1. Projekce je definována projekční maticí, pomocí které se provádí transformace jednotlivých bodů. Bod P = [x, y, z, 1], který se nachází v prostoru, bude pomocí následujícího vzorce transformován na bod P p = [x p, y p, z p, w p ], 20

26 4. VYKRESLOVÁNÍ TROJROZMĚRNÝCH OBJEKTŮ který lze vykreslit na průmětně. Ve vzorci je T p projekční matice velikosti 4x4. [15] x p y p z p w p = T p x y z 1 (4.1) 4.3 Matice Objekty jsou v grafických systémech reprezentovány pomocí vektorů či matic. Jak již bylo naznačeno výše, pokud chceme objekty nějakým způsobem transformovat (otáčet, posouvat či měnit velikost), děje se tak opět pomocí násobení matic. Bez matic se neobejdeme ani v případě, že chceme objekt pouze korektně vykreslit. [33] Transformační matice Transformační matice (Transformation matrix, častěji však nazývána World matrix) slouží k transformaci objektu z jeho lokálního souřadného systému do souřadnic okolního světa. Každý objekt má svou transformační matici, pomocí které se realizují veškeré jeho transformace. Jinými slovy každý objekt má definovány vlastní souřadnice, které se nemění. Veškeré transformace, které jsou na objektu prováděny se realizují modifikací jeho transformační matice. Tento přístup je mnohem efektivnější, než kdyby se musely vždy přepočítávat všechny body, ze kterých se objekt skládá Matice pohledu Podobně jako transformační matice také matice pohledu (View matrix) slouží k převodu mezi dvěma souřadnými systémy. Převádí objekt, který je definován pomocí souřadnic okolního světa do souřadného systému, který používá pozorovatel (kamera) Projekční matice Jak již bylo řečeno v kapitole 4.2, projekční matice (Projection matrix) se používá ke správnému zobrazení na displeji zobrazovacího zařízení a pro simulaci perspektivního pohledu. 21

27 4. VYKRESLOVÁNÍ TROJROZMĚRNÝCH OBJEKTŮ Pouˇzití Výše popsané matice není třeba ručně definovat, jelikož ve všech programovacích jazycích, které se pro tvorbu grafiky používají, jsou definovány knihovny, určené právě pro konstrukci těchto matic. Pro korektní zobrazení objektu na zobrazovacím zařízení je tedy nutné znát všechny tři výše definované matice, které se mezi sebou vynásobí následujícím způsobem, při čemž je třeba dodržet pořadí násobení. M transformace M pohledu M projekce (4.2) 22

28 5 Lunchtime.cz Lunchtime.cz je internetový portál, který se zabývá prezentací restauračních zařízení, barů, kaváren a dalších podniků podobného typu. Primárním účelem portálu však je, aby svým návštěvníkům nabídl ucelený přehled denních menu, které daný den restaurace nabízí. Uživatel má možnost nechat si vypsat restaurace i s jejich denní nabídkou v jakémkoliv větším městě. Může také zadat přesnou adresu a aplikace vypíše restaurace v jejím bezprostředním okolí. Tyto výpisy lze navíc filtrovat dle různých kritérií. Každý podnik má v aplikaci k dispozici svůj profil, kam může jeho administrátor vkládat podrobné informace o podniku, aktuální nabídku jídel či aktuality. Profil restaurace je pak viditelný každému návštěvníkovi, kde má také možnost využít rezervačního systému (pokud tuto funkcionalitu administrátor podniku povolí). Lunchtime.cz má v současné době v databázi přes 3300 podniků a jeho průměrná návštěvnost v roce 2011 byla unikátních návštěv denně. [30] 5.1 Historie Projekt vznikl v lednu roku 2008 v Třinci, odkud také pochází jeho zakladatelé. Šlo o jeden z projektů firmy Creactive.cz. Zpočátku projekt působil pouze lokálně, avšak ještě téhož roku se rozšířil také do Brna, kde je koncentrováno velké množství restauračních zařízení. Firma Creactive.cz zde proto založila pobočku, která sloužila výhradně pro účely administrace tohoto projektu. V roce 2009 se databáze projektu začala rozrůstat také o restaurace v dalších našich velkých městech. Šlo o Prahu a Ostravu. Postupně se pak projekt rozrůstal o další města a v současné době jich na Lunchtime.cz lze nalézt přibližně osmdesát. V září roku 2010 spatřil světlo světa sesterský projekt Pizzatime.cz. Byl to systém pro objednávání jídel prostřednictvím internetu. Uživatel si mohl v systému vybrat z nabídky jídel těch podniků, které nabízí rozvoz na adresu, kterou zadal. Systém pak jeho objednávku zpracoval a zaslal do vybrané restaurace. Projekt má nyní nového majitele a funguje pod novým jménem DameJidlo.cz. Počátkem roku 2012 byla firma Lunchtime.cz prodána slovenské firmě Creative Web [26]. Tato firma provozuje podobný projekt na Slovensku - Prodejem však projekt Lunchtime.cz nezanikl, ale nao- 23

29 5. LUNCHTIME.CZ pak se stal plnohodnotnou firmou se stejným názvem a sídlem v Brně. 5.2 Konkurence Lunchtime.cz byl prvním projektem podobného typu v České republice. Díky jeho úspěchu začalo vznikat mnoho konkurenčních projektů, avšak Lunchtime.cz si díky svému velkému náskoku stále drží prvenství. V roce 2009, kdy byl nárůst počtu portálů podobného typu na našem trhu největší, provedl zpravodajský server Lupa.cz průzkum této oblasti. Srovnal tři největší obědové portály : [25] Jdeme na oběd ( Lunchtime ( Poledníček ( Pouze projekt Lunchtime.cz zaznamenal od doby, kdy byl průzkum proveden nárust počtu podniků. U zbylých dvou, je tomu právě naopak. V současné době je největším konkurentem portál Dobresenajim.cz, který provozuje firma Mafra. 5.3 Mobilní Aplikace Programátorské rozhraní Nástupem chytrých mobilních telefonů se projektu Lunchtime.cz otevřely nové dveře. Jestliže internetová aplikace dokázala svým uživatelům rapidně usnadnit výběr podniku, kam se mohou jít najíst, pak pomocí aplikace v mobilním telefonu, který zná naši polohu a který má každý stále při sobě, to může být ještě mnohem snazší a rychlejší. Lunchtime.cz proto vyvinul programátorské rozhraní (API - Application Programming Interface) pro budoucí mobilní aplikace, které na základě HTTP požadavku vrátí odpovídající data ve formátu XML (Extensible Markup Language). Každá funkcionalita aplikace má vlastní HTTP požadavek, který může obsahovat určité parametry. API není veřejné, ale bylo mi poskytnuto pro účely implementace aplikace, která je součástí této diplomové práce. 24

30 5. LUNCHTIME.CZ Implementované aplikace První mobilní aplikace pro Lunchtime.cz, byla vyvinuta firmou ulikeit a byla určena pro mobilní telefony Apple iphone, která má nyní přes uživatelů. [30] Stejná firma zároveň posktyla aplikaci pro telefony s operačním systémem Samsung Bada. Další aplikací byla aplikace pro operační systém Android, kterou napsal Lukáš Petrák. Tu aktivně využívá uživatelů. [30] Po prodeji Lunchtime.cz si noví majitelé u firmy ulikeit objednali aplikaci také pro Windows Phone, která byla vydána v říjnu roku Tento fakt bude dále diskutován v kapitole 9. 25

31 Praktická část

32 6 Vývoj aplikace 6.1 SDK Vývoj aplikace jsem započal v lednu roku 2012, kdy byla aktuální verze operačního systému Windows Phone 7.5. Z toho důvodu jsem také používal starší Windows Phone SDK 7.1 (Software Development Kit), což je sada nástrojů, která je nezbytná pro vývoj aplikací pro Windows Phone. Sada obsahuje vše, co je potřeba a žádné další nástroje ani aplikace není třeba instalovat. V současné době je aktuální verze SDK 8.0 pro vývoj aplikací na Windows Phone 8. Všechny dostupné verze SDK jsou zpětně kompatibilní a lze je stáhnout na adrese en-us/downloadsdk. 6.2 Vývojové prostředí K vývoji aplikací pro Windows Phone je stejně jako pro všechny aplikace vyvíjených v rámci platformy.net určeno vývojové prostředí Microsoft Visual Studio. Vývojové prostředí není potřeba instalovat samostatně, protože je součástí SDK. SDK 7.1 obsahuje verzi Microsoft Visual Studio 2010 Express for Windows Phone, kterou jsem používal pro vývoj aplikace, jež je součástí této práce. SDK 8.0 již obsahuje verzi Microsoft Visual Studio Express 2012 edition for Windows Phone. 6.3 Testovací zařízení Součástí SDK je také Windows Phone Emulator (dále emulátor), což je aplikace, která je schopna substituovat fyzické zařízení a lze pomocí ní testovat vyvíjené aplikace. Emulátor co nejvěrněji simuluje chování fyzického zařízení. Lze nastavit lokalitu, ve které se zařízení pohybuje nebo simulovat různé jeho natočení a testovat tak aplikace, jež využívají akcelerometr. Pro účely testování aplikace, která má využívat rozšířenou realitu, je však emulátor nevhodný. Proto jsem aplikaci testoval na dvou fyzických zařízeních. Prvním a slabším zařízením byl mobilní telefon HTC 7 Trophy s frekvencí procesoru 1 Ghz a operační pamětí 576 MB RAM. Druhým zařízením, které jsem měl k dispozici, byl mobilní telefon No- 27

33 6. VÝVOJ APLIKACE Obrázek 6.1: Emulátor včetně dialogového okna pro nastavení lokality. kia Lumia 800. Tento model disponuje procesorem s frekvenci 1,4 Ghz a operační pamětí o velikosti 512 MB. 28

34 7 Funkcionalita aplikace Jak již bylo naznačeno v úvodu, cílem této práce je vytvořit aplikaci pro mobilní platformu Windows Phone, která bude určena k rychlému vyhledávání restaurací v nejbližším okolí. V této kapitole popíši základní funkcionalitu aplikace, popíši jednotlivé obrazovky a uvedu třídy, ve kterých jsou implementovány. Implementaci rozšířené reality v této kapitole však popisovat nebudu, jelikož se jedná o hlavní téma této práce a bude ji věnována celá kapitola následující. Ukázky jednotlivých obrazovek jsou k nalezení v příloze. 7.1 Hlavní menu Hlavní menu je úvodní obrazovka, která se uživateli zobrazí po spuštění aplikace a slouží jako rozcestník. Aplikace není sice striktně zasazena do klasického metro stylu, avšak obsahuje některé jeho základní prvky. Jedním z nich jsou charakteristické čtvercové dlaždice, které jsou zde použity jako tlačítka pro přechod k jednotlivým funkcím aplikace. Třída, ve které je hlavní menu implementováno, se nazývá MainPage. Při inicializaci této třídy se také asynchronně aktualizují data, která jsou potřebná pro pokročilé vyhledávání podniků (viz kapitola 7.6.2). 7.2 Výpis denních menu Tato funkcionalita je jednou z nejdůležitějších částí aplikace. Jedná se o výpis restaurací a jejich aktuální nabídky denního menu. Dále se uživatel hned dozví, jak je daná restaurace daleko a v jaké době podává denní menu. Pokud klikne na název restaurace, dostane se na obrazovku, která vypíše více detailů o dané restauraci (viz kapitola 7.5). Aplikace vypisuje primárně restaurace v okolí místa, kde se právě uživatel nachází. Stejná obrazovka se však používá také pro výpis oblíbených restaurací a pro výpis výsledků vyhledávání. Pro zajištění co nejrychlejší odezvy aplikace se vždy vypíše pouze deset restaurací, avšak pokud se uživatel dostane na konec výpisu, automaticky se začne načítat dalších deset restaurací. V dolní části obrazovky lze nalézt kontextové menu, které obsahuje tlačítka s následujícími funkcemi: aktualizace výpisu 29

35 přechod na výpis restaurací (viz kapitola 7.3) 7. FUNKCIONALITA APLIKACE přechod na výpis oblíbených restaurací a jejich denních menu vyhledávání Kontextové menu lze stiskem symbolu pro více, což je v mobilních zařízeních s operačním systémem Windows Phone znázorněno třemi tečkami (...) na pravém konci menu, rozšířit o další položky. V tomto případě zde lze nalézt tlačítko pro přechod na obrazovku, kde má uživatel možnost přidat novou restauraci (viz kapitola 7.7). Dále je zde tlačítko, pomocí kterého lze zobrazit informace o aplikaci. Praktická mobilní aplikace by měla být co nejjednodušším nástrojem, pomocí kterého uživatel rychle docílí požadovaného efektu. K tomuto účelu mohou pomoci tzv. gesta, což je určitá specifická akce, kterou uživatel se svým přístrojem provede a ten na ni nějakým způsobem reaguje. Touto akcí může být například otočení přístroje z vertikální do horizontální polohy. Právě na tuto akci aplikace reaguje v případě, že se uživatel nachází na výpisu denních menu. Detekuje-li tuto akci, přejde na obrazovku, která zobrazí právě vypsané restaurace na mapě (viz kapitola 7.4). Otočí-li uživatel přístroj zpět do vertikální polohy, přejde aplikace zpět na výpis. O zobrazování výpisu denních menu se stará třída DailyMenu, avšak data jsou zpracovávána ve třídě DailyMenuViewModel. 7.3 Výpis restaurací Výpis restaurací je v podstatě analogie výpisu denních menu, který je popsán v kapitole 7.2. Zásadním rozdílem však je, že výpis neobsahuje denní menu, takže se nemusí zpracovávat tolik dat a tudíž je výpis rychlejší. Díky tomu lze vypisovat více restaurací najednou bez újmy na rychlosti odezvy aplikace. Aplikace tedy restaurace vypisuje po padesáti. Ostatní funkcionalita je stejná, jako u výpisu denních menu, včetně kontextového menu a přechodu na mapu. Místo tlačítka pro přechod na výpis restaurací je však samozřejmě tlačítko pro přechod na výpis denních menu. Stejně tak stiskem tlačítka pro výpis oblíbených restaurací se tyto vypíšou bez denního menu. Výpis restaurací je implementován ve třídě Restaurants a data jsou zpracovávána ve třídě RestaurantsViewModel. 30

36 7. FUNKCIONALITA APLIKACE 7.4 Zobrazení restaurací na mapě Aby mohl uživatel snadněji restaurace nalézt, má možnost zobrazit si jejich polohu na mapě. Na tuto obrazovku se může dostat dvěma způsoby: 1. z hlavního menu, kde lze nalézt tlačítko s názvem Mapa 2. z výpisu restaurací či denních menu otočením zařízení do horizontální polohy Jak již bylo řečeno, pro platformu Windows Phone jsou nativní Bing mapy, a proto je pouˇzívám i zde. Na těchto mapách lze zobrazovat body na zadaných souřadnicích pomocí třídy Pushpin. Problém je však v tom, že pokud chceme zobrazit více bodů (cca 30 a více), překreslování mapy při jejím posunutí nebo změně přiblížení se značně zpomalí a práce s mapou se z uživatelského hlediska stane velmi nepříjemnou. Pokud má tedy mapa zobrazovat více restaurací, musel jsem implementovat jejich shlukování. K tomuto účelu jsem poupravil řešení podobného problému od Colina Eberhardta [3]. Na mapě se tedy mohou vyskytnout dva typy ukazatelů. Pro oba jsem upravil styl tak, aby vypadaly jako ukazatele restaurací na mapách ve webové aplikaci Lunchtime.cz. První typ ukazatele znázorňuje, že se v dané oblasti nachází více restaurací, které na mapě tento ukazatel reprezentuje. Uprostřed ukazatele se nachází číselný údaj, který říká, o kolik restaurací se jedná. Při stisku ukazatele se pak v pravé části obrazovky zobrazí jejich výpis a ukazatel se zvýrazní. Stiskem tlačítka některé z vypsaných restaurací se zobrazí její detail (viz kapitola 7.5). Druhý typ ukazatele znázorňuje, že na daném místě je pouze jedna restaurace. Kliknutím na tento ukazatel se zobrazí popisek dané restaurace s názvem, logem a vzdáleností od aktuální pozice uživatele. Stiskem tohoto popisku se uživatel opět dostane na obrazovku s detailem dané restaurace. Třída, která se stará o zobrazování mapy, se nazývá RestaurantsMap. Pro shlukování restaurací slouží třída PushpinClusterer, kde se pro každý ukazatel, který představuje více restaurací vytvoří kontejner, reprezentovaný třídou PushpinContainer. 7.5 Detail podniku Potřebuje-li uživatel o daném podniku zjistit více informací, poslouží mu k tomu právě tato část aplikace. Aby bylo docíleno co největší přehlednosti, 31

37 7. FUNKCIONALITA APLIKACE jde o soubor hned několika obrazovek. První obrazovkou (nazývejme ji hlavní), na kterou se uživatel dostane, je souhrnný přehled, který obsahuje ty nejpodstatnější informace o podniku. Jde o jeho název, typ (restaurace, bar atd.) a náhled mapy s označenou polohou podniku. Dále zde lze nalézt dvě tlačítka. První se nachází hned pod mapou a je na něm uvedena adresa podniku. Pokud uˇzivatel na toto tlačítko klikne, aplikace se dotáže uživatele, zda chce na tuto adresu navigovat. V případě kladné odpovědi se spustí nativní aplikace pro navigaci a zanesou se do ní údaje o uživatelově aktuální pozici a adrese podniku. Na druhém tlačítku je vypsáno telefonní číslo podniku. Po stisknutí tohoto tlačítka se aplikace opět uživatele dotáže, zda chce volat na toto číslo a případně hovor uskuteční. Dále se na hlavní obrazovce nachází náhled fotografií daného podniku (pokud nějaké má). Stisknutím některé z fotek se uživatel dostane na obrazovku s plnohodnotnou fotogalerii. Tato fotogalerie je implementována ve třídě PhotoGallery. Ve spodní části hlavní obrazovky je kontextové menu, které obsahuje tlačítka pro přechod k dalším obrazovkám. Stiskem prvního tlačítka se uživatel dostane na obrazovku, kde se mu vypíše denní menu daného podniku. Tato obrazovka je implementována ve třídě RestaurantDailyMenu. Druhé tlačítko je pro přechod na obrazovku s kontaktními údaji. Lze zde nalézt adresu podniku a všechny kontakty na něj. Kontakt může být telefonní číslo, odkaz na internetové stránky či . Kliknutím na jakýkoliv kontakt se provede odpovídající akce (např. kliknutím na se spustí ový klient). Implementaci této obrazovky lze nalézt ve třídě Contacts. Třetí tlačítko slouží pro přechod na obrazovku s dalšími informacemi o daném podniku, jako je například jeho popis, otevírací doba a další doplňující informace. Třída, která se stará o výpis této obrazovky se nazývá AboutRestaurant. Posledním tlačítkem v kontextovém menu hlavní stránky je tlačítko pro přidání či odebrání daného podniku k nebo ze seznamu oblíbených podniků. Pokud podnik patří mezi oblíbené, zobrazí se v pravém horním rohu symbol srdce. Implementace hlavní obrazovky detailu podniku je realizována ve třídě RestaurantDetail. 32

38 7. FUNKCIONALITA APLIKACE 7.6 Vyhledávání Vyhledávání podniků je také velmi důležitou funkcionalitou. Uživatel má na výběr ze dvou možností vyhledávání Jednoduché vyhledávání První možností, jak může uživatel vyhledávat podniky, je na základě jejich jména. Obrazovka obsahuje jedno textové pole, kam může uživatel jednoduše začít psát název restaurace. Aplikace vždy reaguje na každý zadaný znak tak, že odešle obsah textového pole na server, který vrátí ty podniky, jejichž název začíná na zadanou posloupnost znaků. Tyto podniky pak vypíše pod textovým polem. Uživatel si pak může vybrat kteroukoliv restauraci z tohoto výpisu a kliknutím zobrazit její detail. Má tedy k dispozici tzv. našeptávač. Jednoduché vyhledávání je implementováno ve třídě SimpleSearch Pokročilé vyhledávání Druhou možností vyhledávání je tzv. pokročilé, kde může uživatel zadat více parametrů vyhledávání. Prvním z těchto parametrů, které má uživatel možnost zadat je lokalita, ve které se má vyhledávat. Může zadat konkrétní město nebo zadat lokalitu přímo na mapě. Dále lze vyhledávat dle typu podniku. Uživatel tedy může zadat, zda má zájem o restauraci, čajovnu nebo jiný typ zařízení. Lze také zadat, jaké vlastnosti by měl podnik mít. Uživatel by například mohl požadovat, aby se mu vypsaly pouze podniky se zahrádkou či ty, kde se nekouří. Uživatel si navíc může vybrat, zda se má výsledek vyhledávání zobrazit jako výpis podniků i s jejich denní nabídkou (kapitola 7.2) nebo pouze podniků samotných (kapitola 7.3). Hlavní obrazovka pokročilého vyhledávání je implementována ve třídě AdvancedSearch. Výběr jednotlivých parametrů vyhledávání má však vždy také svoji obrazovku. Těmto obrazovkám odpovídají následující třídy: SelectLocality, SelectType a SelectProperties. 33

39 7. FUNKCIONALITA APLIKACE 7.7 Přidání nové restaurace Tato část aplikace je důležitá hlavně z pohledu společnosti Lunchtime.cz. Díky této funkcionalitě totiž mohou v jejich databázi přibývat další podniky. Jde o formulář, do kterého lze zadat údaje o podniku, který v databázi Lunchtime.cz ještě není. To může udělat jak uživatel, který by si rád ve své aplikaci prohlížel profil dané restauraci, tak majitel podniku, který by rád využíval služeb společnosti Lunchtime.cz. Po odeslání formuláře se vygeneruje , který se zašle obchodnímu oddělení společnosti Lunchtime.cz, které žádost následně zpracuje. Tato funkcionalita je implementována ve třídě AddRestaurant. 34

40 8 Implementace rozšířené reality V této kapitole detailně popíši, jakým způsobem je v aplikaci implementována rozšířená realita. Tato funkcionalita aplikace má být schopna uživateli nabídnout obraz, který zachytí kamera jeho mobilního zařízení, doplněný o popisky restaurací, které se v okolí aktuální pozice uživatele nachází. Popisek každé restaurace bude obsahovat její název, logo a její vzdálenost v metrech od místa, kde se uživatel právě nachází. Po kliknutí na tento popisek se v dolní části obrazovky zobrazí výpis denního menu, které restaurace daný den nabízí. Na začátku tohoto výpisu bude opět název restaurace, aby bylo patrné, že se jedná právě o její denní menu. Kliknutím na tento název se uživatel dostane na obrazovku s detailem dané restaurace. Celá tato funkcionalita je implementována ve třídě AugmentedReality. 8.1 Načítání restaurací Jak již bylo řečeno, pro načítání restaurací a informací o nich využívám API od společnosti Lunchtime.cz. Data jsou poskytována ve formátu XML. V aplikacích pro mobilní telefony se typicky pro stahování dat z internetu používají asynchronní metody. Požadavky na internetové spojení jsou totiž zpravidla nejvíce časově náročné, a pokud by se realizovaly ve stejném vláknu, jako v tom, které se stará o vykreslovaní grafického prostředí, aplikace by často zamrzala. V platformě Silverlight se požadavky na internetové spojení realizují prostřednictvím třídy WebClient, která obsahuje metody pro asynchronní zpracování. Dále tato třída obsahuje tzv. události, které nastanou, je-li spojení dokončeno. Těmto událostem lze přiřadit metodu, která se provede, pokud daná událost nastane. [8] Jelikoˇz XML je textový soubor, pouˇzívám v aplikaci nejčastěji metodu DownloadStringAsync, která slouží právě pro asynchronní načtení textu. Je-li text načten, vyvolá se událost DownloadStringCompleted. Aplikace vˇzdy pošle poˇzadavek na výpis restaurací v okolí, který obsahuje souřadnice aktuální pozice uživatele. Tyto souřadnice získá pomocí modulu GPS prostřednictvím třídy GeoCoordinateWatcher. Jelikož se však jedná o aplikaci pro mobilní telefon, předpokládá se, že se bude uživatel při používání aplikace pohybovat. Tento fakt je třeba zohlednit také při načítání restaurací. Proto aplikace sleduje o kolik metrů se uživatel pohnul 35

41 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY od místa, kde se nacházel v okamžiku posledního načítání restaurací. Pokud je tato vzdálenost více jak 10 metrů, pošle nový požadavek a seznam restaurací v okolí se aktualizuje. 8.2 Viditelnost restaurací Ve směru, kterým se zrovna díváme, může být v daném okruhu více restaurací. Z daného místa na ně však nemusí být přímá viditelnost, protože mohou být zastíněny nějakou jinou budovou. Tyto restaurace sice aplikace může vykreslit, ale mohly by nás zbytečně mást. Nevěděli bychom totiž, zda je ona restaurace v budově, na kterou se zrovna díváme či až za ní. Tato skutečnost by se sice dala odhadnout z naši vzdálenosti od restaurace, kterou aplikace vypisuje, ale každé lidské oko tak dobrý odhad nemá. Navíc chceme mít ihned jasnou představu, kde restauraci hledat. Dalším důvodem, proč se zabývat touto otázkou je, že může nastat případ, kdy bude mnoho restaurací za sebou a obrazovka mobilního telefonu se stane velmi nepřehlednou, protoˇze bude vykreslovat velký počet popisků, které se budou navzájem překrývat. Chtěli bychom tedy, aby aplikace dokázala tento problém řešit. Chceme, aby se restaurace, které jsou v přímé viditelnosti zobrazovaly s klasickým popiskem a ty, které se sice nachází v dané vzdálenosti, ale jsou za nějakou budovou, se zobrazovaly s průhledným popiskem. Tím se vyřeší všechny výše diskutované problémy, aniž bychom přišli o informaci, že se za budovou skrývají další restaurace Detekce budov K tomu, abych mohl implementovat výše definovanou funkcionalitu, je nezbytně nutné určit pozici budov v nejbližším okolí - tedy ty, na které má uživatel přímou viditelnost. Jelikož mobilní zařízení nedisponují takovými senzory, které by byly schopny detekovat předměty v jejich okolí a určovat jejich vzdálenost, musel jsem využít mapových podkladů. Bing mapy jsou bohužel pro tento účel nevhodné, jelikož v klasickém zobrazení se budovy vykreslují pouze v některých lokalitách, a pokud bych je chtěl detekovat na základě mapy z leteckého pohledu, přesahovalo by to rámec této práce. Z tohoto důvodu jsem musel použít mapy od společnosti Google, kde jsou všechny budovy zakresleny. Pro mobilní platformu Windows Phone však bohužel prozatím neexistuje žádné API, díky kterému by se dalo s těmito mapami rozumně pracovat. Musel jsem tedy využít API pro statické mapy, díky němuž lze vygenerovat libovolnou mapu ve formátu 36

42 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY bitmapového obrázku. V těchto mapách jsou všechny budovy vykresleny specifickou barvou, kterou není vykreslena žádná jiná komponenta mapy. Lze je tedy poměrně snadno detekovat analýzou barvy jednotlivých pixelů. Podrobněji je tato problematika popsána v kapitole Obrázek 8.1: Ukázka mapových podkladů. Vlevo je výřez z mapových podkladů Bing, kde nejsou zakresleny žádné budovy. Vpravo lze vidět ten stejný výřez z mapových podkladů společnosti Google, kde již budovy zakresleny jsou. Z obrázku je patrné, že budovy jsou vykresleny specifickou barvou Inicializace mapy Problém řešení pomocí statické mapy je v tom, že v takové mapě nelze určovat body dle zeměpisných souřadnic, jelikož se jedná o obrázek. Lze se však řídit dle jednotlivých pixelů, které jsou uspořádány v klasickém kartézském souřadném systému. Je tedy nutné definovat vztah mezi těmito dvěma systémy. Pro výpočet viditelné oblasti je potřebný čtvercový výřez mapy v jehož středu je aktuální poloha uživatele a horizontální vzdálenost od středu ke kraji výřezu mapy je rovna vzdálenosti, po kterou aplikace vypisuje restaurace (100m). Při zaslání požadavku na statickou mapu lze zadat požadovanou velikost mapy v pixelech, pozici a přiblížení. Tyto parametry však nestačí k definici výše popsaného výřezu, jelikož nevíme, kolik pixelů je potřeba na danou vzdálenost vykreslit. K tomu je nutné znát poměr mezi pixely mapy a vzdáleností na mapě. Aby byl algoritmus využitelný na jakémkoli místě na světě, je nutné k definici tohoto poměru brát v úvahu fakt, že v různé zeměpisné šířce, 37

43 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY je vzdálenost mezi stupni zeměpisné délky různá. Počet metrů na jeden stupeň zeměpisné délky lze spočítat pomocí následujícího vzorce, kde rlat vyjadřuje zeměpisnou šířku v radiánech: [31] l lng = cos(rlat) 93.5 cos(3 rlat) (8.1) Dále je nutné vědět, kolik stupňů zeměpisné délky připadá na jeden pixel mapy. Toto číslo zůstává při stejném přiblížení mapy konstantní v jakékoliv zeměpisné šířce. Tento fakt jsem ověřil pomocí přiložené aplikace, která zobrazí potřebný výřez mapy pro zadanou pozici, počet pixelů této mapy, počet stupňů zeměpisné délky na pixel a další údaje potřebné pro jeho výpočet. Počet stupňů zeměpisné délky na jeden pixel mapy s přiblížením 17, které pro výpočet používám, tedy odpovídá následující hodnotě: p lng = (8.2) Na základě těchto hodnot lze vyjádřit počet pixelů na danou vzdálenost d, po kterou aplikace vypisuje restaurace: p d = d l lng p lng (8.3) Nyní je již snadné odvodit potřebnou velikost mapy. Jelikož potřebujeme zobrazit mapu, která bude zobrazovat území ve všech směrech v dané vzdálenosti d, stačí hodnotu p d vynásobit dvěma. Velikost mapy je však v pixelech a musí tedy jít o celočíselnou hodnotu. Zaokrouhlíme tedy tuto hodnotu dolů, pomocí funkce F LOOR. Následně přičteme jedničku, díky čemuž bude výsledek liché hodnoty, což je nutný předpoklad k tomu, aby byla vzdálenost od pixelu ve středu mapy k jejímu okraji stejná na obě strany ve vertikálním i horizontálním směru. M = F LOOR(2 p d ) + 1 (8.4) Pro následný přepočet pozice pixelu mapy zpět na zeměpisné souřadnice je potřebné znát ještě počet stupňů zeměpisné šířky na jeden pixel. Tuto hodnotu jsem zjistil tak, že jsem pomocí metody GetDistanceTo zjistil vzdálenost l tmp mezi aktuální pozicí a místem, které se nachází na stejné zeměpisné délce, ale zeměpisnou šířku má o 0.01 stupňů větší. Víme-li tedy, že l tmp odpovídá 0.01 stupňům zeměpisné délky, lze také zjistit, kolik stupňů zeměpisné délky odpovídá vzdálenosti d. Jelikož již víme kolik pixelů na mapě odpovídá d, můžeme vyjádřit i počet stupňů zeměpisné šířky na jeden pixel p lat : 38

44 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY p lat = d 0.01 l tmp p d (8.5) Definice oblasti viditelných bodů Nyní tedy víme, jak detekovat okolní budovy a máme vygenerovánu odpovídající mapu. Dále je nutné definovat oblast, ve které se mohou vyskytovat restaurace, které vidíme. Do této oblasti bude spadat jak prostor před okolními budovami, které jsou v naši přímé viditelnosti, tak tyto budovy samotné. Budovy musí být zahrnuty, jelikož souřadnice jejich adres ve většině případů ukazují na nějaký bod uvnitř budovy. Oblast je definována pomocí polygonu, jehož vrcholy tvoří hraniční body této oblasti. K určení těchto bodů je nutné procházet a analyzovat pixely mapy postupně od jejího středu (pozice uživatele) k jejímu okraji. Tento postup se aplikuje ve všech směrech. Jak již bylo naznačeno výše, budovy detekujeme podle specifické barvy, kterou jsou v mapě zaznačeny. Provádíme tedy analýzu barvy jednotlivých pixelů. Barvu pixelu lze zjistit pomocí metody GetPixel(x, y), která je implementována ve třídě WriteableBitmap. Tato metoda vrátí barvu pixelu obrázku na daných souřadnicích (x, y). Tu pak stačí porovnat s barvou budov. Souřadnice procházeného pixelu zjistíme pomocí trigonometrických funkcí ze vzdálenosti j od středu mapy (center) a úhlu α právě procházeného směru vzhledem k ose x: center = M x = center + cos(α) j (8.6) y = center + sin(α) j (8.7) Barva, kterou jsou vyznačeny budovy, se však bohužel v mapách vyskytuje také v některých barevných přechodech, které bychom mohli chybně označit za budovy. Z tohoto důvodu je nutné v případě shody barev při analýze pixelu zkontrolovat také pixel následující. Pokud je i ten vykreslen stejnou barvou, je velmi velká pravděpodobnost, že se skutečně jedná o budovu, jelikož v barevných přechodech mapy se pixel stejné barvy vyskytuje pouze ve velmi ojedinělých případech. Tímto opatřením eliminujeme riziko chyby na minimum. Nalezneme-li tedy při analýze na budovu, pokračujeme dále v analýze 39

45 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY Obrázek 8.2: Naznačení způsobu výpočtu právě procházeného pixelu pomocí trigonometrických funkcí. v daném směru, dokud nenarazíme na konec budovy nebo na konec mapy. Tento bod pak přidáme do polygonu. Na obrázku 8.3 lze vidět příklad vykresleného polygonu pomocí uvedeného algoritmu. Zelený bod znázorňuje pozici uživatele. Na obrázku jsou znázorněny pouze významné body polygonu. Ve skutečnosti jejich počet bude odpovídat počtu směrů, kterými bude algoritmus prohledávat obrázek. Obrázek 8.3: Polygon, vykreslený pomocí použitého algoritmu. Jelikož chceme následně rozpoznávat, které restaurace leží uvnitř polygonu a známe zeměpisné souřadnice jednotlivých restaurací, je nutné, aby i 40

46 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY polygon byl definován pomocí zeměpisných souřadnic. Chceme-li proto do polygonu přidat bod, který jsme zjistili výše popsanou analýzou, musíme souřadnice tohoto bodu převést z kartézského souřadného systému obrázku zpět do zeměpisných souřadnic. To provedeme jednoduše tak, že k zeměpisné délce aktuální polohy uživatele přičteme hodnotu souřadnice x vzhledem ke středu obrázku vynásobenou konstantou l lng. Obdobným způsobem vypočteme zeměpisnou šířku bodu. V níže uvedeném vzorci u lat resp. u lng vyjadřuje zeměpisnou šířku resp. výšku pozice uživatele. lat = u lat + cos(α) l lat (8.8) lng = u lng + sin(α) l lng (8.9) V použitém algoritmu jsou dva cykly. První určuje úhel vzhledem k ose x, ve kterém se bude procházet. Každou iterací tohoto cyklu se úhel zvýší o pět stupňů. Druhý cyklus, který je vnořen do prvního určuje vzdálenost od středu mapy, která se v každé iteraci zvětšuje o dva metry přepočítané na pixely. Vzhledem k tomu, že se musí v každém úhlu projít určitý počet pixelů, má algoritmus kvadratickou složitost. Ve skutečnosti však bude mít první cyklus 72 průchodů (360 / 5) a vnořený cyklus pouze maximálně d/2 průchodů. Celý algoritmus je implementován v metodě CreatePolygon Rozlišení restaurací Nejvíce problematickou část máme již za sebou a nyní stačí pouze zkontrolovat, které restaurace leží uvnitř výše definovaného polygonu a které vně. K tomuto účelu jsem použil algoritmus pro vyhledávání v polygonu (Polygon search), který uvádí společnost Microsoft na svých internetových stránkách pro vývojáře MSDN (Microsoft Developer Network) [32]. Algoritmus kontroluje, kolik hran polygonu protíná přímku, která prochází v horizontálním směru analyzovaným bodem. Tento bod přímku dělí na levou a pravou polopřímku. Pokud na obou polopřímkách leží lichý počet průsečíku s polygonem, pak se analyzovaný bod nachází uvnitř polygonu. Princip algoritmu je znázorněn na obrázku 8.4. Le-ží bod vně polygonu, znamená to, že restaurace byla rozpoznána jako neviditelná. V takovém případě se popisek, který ji reprezentuje, nastaví jako průhledný. Detekce neviditelných restaurací se provádí vždy po jejich načtení. 41

47 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY Obrázek 8.4: Princip algoritmu Polygon search. V levé části obrázku je znázorněn bod, který leží uvnitř polygonu - počet průsečíků vpravo i vlevo od bodu je lichý. Na pravé straně obrázku je ukázka bodu, který leží vně polygonu (po obou stranách sudý počet průsečíků). Zdroj: [32] Nevýhody popsaného řešení Nevýhodou popsaného řešení by se mohla zdát jeho těžkopádnost a teoretická neefektivita, jelikož se stahuje statický obrázek a analyzují se jeho pixely. Na obou testovacích zařízeních však popsaný algoritmus pracuje velice rychle a nezpůsobuje žádné zpomalení aplikace. Druhý problém, který v řešení vidím je ten, že algoritmus zahrnuje do polygonu celé budovy. Můˇze se tedy stát, že bude sice podnik v budově, kterou uživatel vidí, avšak bude mít vchod z její druhé strany. V takovém případě ho aplikace označí jako viditelný, avšak ve skutečnosti ho uživatel neuvidí. Teoreticky by šlo problém odstranit tak, že bychom do polygonu nezahrnuli budovu celou, ale např. pouze její polovinu. Toto řešení však není vhodné hned ze dvou důvodů: 1. Nevíme, kam přesně v budově souřadnice podniku ukazují a nelze tak přesně určit, jak velkou část budovy do polygonu můžeme zahrnout. 2. Omezíme-li vzdálenost, po kterou budovu do polygonu zahrnujeme a uživatel bude stát blízko této budovy, může nastat situace, že algoritmus do polygonu nezahrne bod i v případě, že nebude ukazovat příliš do nitra budovy, ale bude ležet na jejím okraji (viz obrázek 8.5). 42

48 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY Obrázek 8.5: Znázornění špatně rozpoznané viditelnosti podniku v případě modifikovaného algoritmu pro výpočet polygonu. Algoritmus do polygonu zahrne pouze polovinu budovy, na kterou narazil (červeně vykresleno). Zelený bod znázorňuje pozici uživatele, černý pak podnik, který byl označen jako neviditelný (nespadá do polygonu), avšak ve skutečnosti jej uživatel vidí. 8.3 Definice popisků restaurací Máme-li k dispozici veškeré potřebné informace o restauracích, můžeme definovat, jednotlivé popisky Převod souřadnic na vektor Poloha každé restaurace je definována pomocí zeměpisného souřadného systému, který je pro práci v grafice nevhodný. Jedním z důvodů je např. fakt, že v tomto souřadném systému není poměr mezi osou x (zeměpisná délka - anglicky longitude) a osou y (zeměpisná šířka - anglicky latitude) stejný. Je tedy potřeba tento systém transformovat do klasického kartézského souřadného systému. Při transformaci budeme uvažovat za počátek nového souřadného systému aktuální polohu uživatele. Tomuto bodu tedy přiřadíme souřadnice [0, 0]. K výpočtu nových souřadnic polohy restaurace poslouží opět metoda GetDistanceTo, která vrátí vzdálenost v metrech z jednoho bodu do druhého (oba body jsou definovány pomocí zeměpisných souřadnic). Pro výpočet složky x v novém souřadném systému tedy stačí zjistit 43

49 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY vzdálenost od aktuální polohy uživatele do bodu, jehož zeměpisná délka bude odpovídat zeměpisné délce právě transformovaného bodu a zeměpisná šířka bude stejná jako u uživatelovy polohy. Obdobným způsobem se vypočítá složka y. Celý výpočet je naznačen níže, kde lng je zeměpisná délka a lat zeměpisná šířka. uzivatel = [u lng, u lat ] restaurace = [r lng, r lat ] x = uzivatel.getdistancet o(r lng, u lat ) (8.10) y = uzivatel.getdistancet o(u lng, r lat ) (8.11) Celý výše definovaný proces převádění souřadnic je implementován v metodě RestaurantPositionToVector. Tato metoda vrací vektor se třemi složkami, jelikož dále budeme pracovat s body v prostoru. Třetí složka je nulová Tvorba popisků Popisek každé restaurace je v implementované aplikaci reprezentován třídou RestaurantLabel. Jde o třídu, která uchovává veškeré potřebné informace pro vykreslení daného popisku: Instanci třídy ContentControl - používá se pro zobrazení popisku. Nastaví se jí grafický styl, který je definován v XAML souboru. Vektor polohy restaurace - viz kapitola Vzdálenost restaurace od uˇzivatelovy aktuální polohy. Instanci třídy Restaurant, která reprezentuje restauraci a uchovává o ní veškerá data. Obrázek ukazatele na místo, kde se restaurace nachází - viz kapitola Informaci o tom, zda je restaurace viditelná či nikoliv - viz kapitola 8.2. Inicializace třídy je implementována v metodě AddLabel. Seznam instancí této třídy si aplikace drží po celou dobu běhu a aktualizuje se pouze při novém načítání restaurací. 44

50 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY 8.4 Vykreslení popisků Nyní máme připravená veškerá data pro výpis popisků. Je však potřeba zajistit, aby každý popisek skutečně stále ukazoval na danou restauraci i za předpokladu, že se kamera mobilního zařízení bude pohybovat Definice matic Jak bylo řečeno v kapitole 4.3, pro vykreslování grafických objektů je nutné znát tři matice. Matice pohledu a projekční matice budou pro všechny popisky stejné, jelikož na všechny chceme pohlížet jednou kamerou. Proto tyto matice budou uloženy v paměti po celou dobu běhu aplikace. Transformační matice se definuje pro každý popisek zvlášt při každém jeho překreslení, a proto ji uvedu později. Pro definici těchto matic lze využít metody, které jsou implementovány v rámci frameworku XNA. Nejdříve je však nutné definovat velikost okna, ve kterém chceme objekty vykreslovat. K tomu slouží třída Viewport, při jejíž inicializaci se zadají rozměry tohoto okna. Matice pohledu lze definovat pomocí metody CreateLookAt. Této metodě se zadají jako parametry vektory, které určují její polohu a směr pohledu. XNA obsahuje metody pro definici matice perspektivního i rovnoběžného promítání. Jak však již bylo řečeno, pro účely aplikace je vhodnější perspektivní promítání, jelikož se tak docílí realistického vzhledu. Pro definici takové matice slouží metoda CreatePerspectiveFieldOfView. Této metodě je nutné zadat několik parametrů. Prvním z nich je úhel v radiánech, který je kamera schopna zabrat. Druhým parametrem je poměr stran okna, ve kterém se mají objekty vykreslovat. Tento poměr lze zjistit z instance třídy Viewport. Následují dva parametry, které udávají vzdálenost základen kosoúhlého jehlanu (definovaného v kapitole 4.1) od kamery. Všechny výše uvedené úkony jsou provedeny v metodě InitViewport Překreslování popisků K překreslení popisků dojde vždy v okamžiku, když uživatel pohne svým mobilním zařízením. Je tedy nezbytně nutné tuto skutečnost detekovat a patřičným způsobem na ni reagovat. K tomuto účelu nám pomůže třída Sensor, kterou lze nalézt v balíčku Microsoft.Devices.Sensors. Jde o třídu, ve které je implementováno několik algoritmů pro detekci aktuálního natočení mobilního zařízení. K to- 45

51 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY muto účelu využívá údajů z akcelerometru a kompasu. Dojde-li k jakékoliv změně polohy mobilního zařízení, tato třída vyvolá událost CurrentValueChanged, které lze přiřadit jakoukoliv metodu. V aplikaci to je metoda RerenderLabels, která se postará o překreslení popisků. V této metodě se z instance třídy Sensor získá aktuální poloha mobilního zařízení. Jelikož je v aplikaci rozšířená realita implementována pro horizontální natočení zařízení, je nutné tuto polohu ještě pomocí rotační matice otočit, aby výsledné zobrazení popisků bylo korektní. Dále se v této třídě pro každý popisek definuje transformační matice (World matrix). K tomuto účelu slouží metoda CreateWorld, které se zadá jako parametr vektor, který reprezentuje polohu restaurace (objektu). Dále pak vektory, které určují orientaci tohoto objektu. Nyní pomocí projekce zjistíme, kde na obrazovce se popisek vykreslí. K tomu slouží metoda Project, která je k dispozici ve třídě Viewport a vyˇzaduje jako parametry všechny tři definované matice. Výsledkem je vektor, který obsahuje souřadnice bodu v rovině displeje mobilního zařízení. Stačí pouze ověřit, zda je bod v rozmezí určeném rozměry okna pro vykreslování objektů a případně vykreslit popisek. Vykreslením popisku se rozumí nastavit ho jako viditelný a pomocí transformace ho posunout na odpovídající bod. Způsob zobrazení popisků Popisků může být na obrazovce hned několik, což může být dosti nepřehledné. Chceme je tedy nějak uspořádat. Prvním požadavkem je, aby v případě překrývání popisků byl na vrchu ten, který patří bližší restauraci. Proto jsou popisky v seznamu seřazené podle jejich vzdálenosti od uživatelovy polohy od nejbližšího po nejvzdálenější. Při postupném procházení seznamu a generování popisků se každému nastaví vlastnost ZIndexProperty, která udává preferenci při zobrazování. Čím vyšší číslo, tím výše se prvek zobrazí. Druhý požadavek se opět pojí s překrýváním popisků. Pokud se totiž budou popisky překrývat, bude možnost kliknout pouze na ten vrchní, což je neˇzádoucí. Řešením je tedy mírné posunutí překrytého popisku směrem nahoru, přičemž je nutné, aby popisek stále ukazoval na místo, kde restaurace leží. Proto popisek obsahuje obrázek pro tento ukazatel, který je v případě potřeby možno pomocí transformace zvětšovat. 46

52 8. IMPLEMENTACE ROZŠÍŘENÉ REALITY Aby bylo rozložení popisků v okně rovnoměrné, řeší se toto posouvání na každé polovině okna zvlášt. 8.5 Náhledová mapa Pro lepší orientaci uživatele je v aplikaci implementována náhledová mapa. Jde o mapu v kruhovém výřezu, v jejímž středu je aktuální poloha uživatele. Dále jsou v ní zaznačeny podniky, jejichž popisky má možnost vidět. Viditelné podniky jsou zde reprezentovány bodem sytě červené barvy. Ty, které nejsou v přímé viditelnosti, se vykreslují poloprůhledným bodem stejné barvy. Mapa využívá kompas k určení směru, kterým se uživatel zrovna dívá a na základě této informace se sama otáčí. 8.6 Výkonnostní testy Pro úspěšné nasazení aplikace je nutné vědět, jak moc aplikace zatěžuje systémové prostředky. U mobilních zařízení se totiž klade velký důraz na dlouhou výdrž baterie. Pokud by byla aplikace příliš náročná a způsobovala by rychlé vybíjení baterie, nebyla by příliš praktická. SDK 7.5, které jsem pro vývoj aplikace používal, však bohužel neobsahuje žádné nástroje, které by byly určené k tomuto účelu. Provedl jsem alespoň zátěžový test aplikace na testovacím zařízení. Test spočíval v tom, že jsem spustil aplikaci při plně nabité baterii testovacího zařízení a nechal ji běžet. Účelem bylo zjistit, za jak dlouho se baterie vybije. Baterie testovacího zařízení má kapacitu 1300 mah a vybila se za dvě hodiny, což vzhledem k tomu, že aplikace využívá kameru, geolokaci a akcelerometr, je celkem očekávaná hodnota. Pro srovnání při prohlížení videa baterie vydrží 3,5 hodiny a při telefonním hovoru 400 minut. 47

53 8. I MPLEMENTACE ROZ S I R EN E REALITY Obra zek 8.6: Uka zka implementovane rozs ı r ene reality. 48

54 9 Nasazení aplikace Po domluvě s původním majitelem a provozovatelem portálu Lunchtime.cz měla být aplikace nasazena pod stejným názvem, tedy Lunchtime.cz. Jak již bylo řečeno v kapitole 5, během vývoje aplikace byl projekt Lunchtime.cz prodán novému majiteli, který si aplikaci pro mobilní platformu Windows Phone objednal od externí profesionální firmy. Musel jsem tedy vydání aplikace pozdržet, jelikož nový majitel si z marketingových důvodů nepřeje mít dvě aplikace pro jednu platformu. Protože aplikace využívá data společnosti Lunchtime.cz, musel jsem toto rozhodnutí respektovat. Tím však osud této aplikace není zpečetěn, nebot o ni nový majitel projevil zájem, avšak s tou podmínkou, že do ní bude implementována další funkcionalita a bude vydána pod jiným jménem. V současné době čekám, až bude API rozšířeno o podporu požadované funkcionality. 49

55 10 Závěr Rozšířená realita zažila během posledních let velký rozmach. Existuje nemalé množství aplikací, které používají tuto technologii a které jsou dostupné každému, kdo vlastní chytrý telefon. Myslím si však, že potenciál rozšířené reality není ještě zcela využit. Předpokládám, že v blízké budoucnosti bude dostupna komukoliv a v kterýkoliv okamžik. Nemusí to být prostřednictvím mobilních telefonů, jelikož ten přeci jen musíme vytáhnout z kapsy a držet ho v ruce, zatímco se do něj díváme. Mám na mysli rozšířenou realitu, jež bude lidem zprostředkovávána pomocí brýlí, které nebudou rozeznatelné od těch dioptrických. Díky nim bude mít uˇzivatel k dispozici vˇzdy informace, které zrovna potřebuje. Zdá se, že tato budoucnost skutečně není nikterak vzdálená, protože podobné prototypy již existují. Své brýle vyvíjí firma Google [22], která však má již konkurenci ve firmě Vuzix [23]. Naskýtá se otázka, zda masivní využití takovýchto technologií nezpůsobí to, že se na ně začneme příliš spoléhat a nebudeme nuceni tolik přemýšlet, což by mohlo v krajních případech vést až k naši mírné degeneraci. Na druhou stranu však tyto technologie budou určitě velkým pokrokem a přínosem. Práce nabízí čtenáři základní přehled o rozšířené realitě, přičemž se zaměřuje hlavně na její využití v aplikacích pro mobilní telefony. Hlavním přínosem práce však je implementace rozšířené reality v aplikaci pro mobilní platformu Windows Phone, která využívá rozsáhlou databázi restaurací k jejich nalezení. Pevně věřím, že je aplikace praktická a bude po svém nasazení hojně využívaná. Během vývoje aplikace a psaní této práce mě rozšířená realita velmi nadchla a rád bych v budoucnu pokračoval ve vývoji podobných aplikací. 50

56 Literatura [1] AZUMA, Ronald T.. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments. 1997, 4, 6, s [2] CAUDELL, Thomas. MIZELL, David. Augmented reality: an application of heads-up display technology to manual manufacturing processes. In System Sciences, Proceedings of the Twenty-Fifth Hawaii International Conference on, s , [3] EBERHARDT, Colin. Pushpin Clustering with the Windows Phone 7 Bing Map control [online] Dostupné z WWW: pushpin-clustering-with-the-windows-phone-7-bingmap-control/. [4] FEINER, Steven. MACINTYRE, Blair. SELIGMANN, Dorée. Knowledge-based augmented reality. Commun. ACM. July 1993, 36, 7, s ISSN doi: / Dostupné z WWW: [5] JOHNSON, Joel. The Master Key: L. Frank Baum envisions augmented reality glasses in 1901 [online] Dostupné z WWW: [6] ŽÁČKOVÁ, Eva. The World of an Expanded Reality Generated by Computers. FILOZOFIA [7] KRUEGER, Myron W. GIONFRIDDO, Thomas. HINRICHSEN, Katrin. VIDEOPLACE - an artificial realit. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 85, s , New York, NY, USA, Dostupné z WWW: http: //doi.acm.org/ / [8] LECRENSKI, Nick. WATSON, Karli. FONSECA-ENSOR., Robert. Beginning Windows Phone 7 application development: building Windows Phone applications using Silverlight and XNA. Indianapolis : Wiley, 1. vydání, ISBN [9] LENGYEL, Eric. Mathematics for 3D Game Programming and Computer Graphics. Boston : Cengage Learning, 3. vydání, ISBN

57 10. ZÁVĚR [10] MACLEOD, Ishbel. Heinz launches augmented-reality trial for ketchup with Blippar [online] Dostupné z WWW: [11] MADDEN, Lester. Professional augmented reality browsers for smartphones: programming for Junaio, Layar, and Wikitude. Chichester : Wiley, 1. vydání, ISBN [12] MCLELLAN, Hilary. Virtual Realities. In Handbook of Research on Educational Communications and Technology, s , [13] MILGRAM, P. et al. Augmented Reality: A Class of Displays on the Reality-Virtuality Continuum. s , [14] PETZOLD, Charles. Programming Windows Phone 7. Redmond : Microsoft Press, 1. vydání, ISBN [15] ŽÁRA, J. et al. Moderní počítačová grafika. Praha : Computer Press, 2. vydání, ISBN [16] RASKAR, R. et al. The office of the future: a unified approach to image-based modeling and spatially immersive displays. In Proceedings of the 25th annual conference on Computer graphics and interactive techniques, SIGGRAPH 98, s , New York, NY, USA, ACM. doi: / Dostupné z WWW: http: //doi.acm.org/ / ISBN [17] REGENBRECHT, H. et al. Using Augmented Virtuality for Remote Collaboration. Presence. 2004, 13, 3, s [18] ROSENBERG, Louis B.. The Use of Virtual Fixtures as Perceptual Overlays to Enhance Operator Performance in Remote Environments. Technical report, Stanford University, Center for Design Research, [19] STEUER, Jonathan. Defining Virtual Reality: Dimensions Determining Telepresence. Journal of Communication [20] SUNG, Dan. The history of augmented reality [online] Dostupné z WWW: the-history-of-augmented-reality. 52

58 10. ZÁVĚR [21] THOMAS, B. et al. ARQuake: an outdoor/indoor augmented reality first person application. In Wearable Computers, The Fourth International Symposium on, s , doi: /ISWC [22] VOKÁČ, Luděk. Google prozradil, jak fungují jeho brýle. V prodeji budou v roce 2014 [online] Dostupné z WWW: prodej-d76-/mob_tech.aspx?c=A120628_202110_ mob_tech_vok. [23] VOKÁČ, Luděk. Brýle Google Glass mají konkurenci. Vuzix M100 pohání upravený Android [online] Dostupné z WWW: mob_tech_vok. [24] WANG, Xiangyu. GONG, Yan. Augmented Virtuality Space: Enriching Virtual Design Environments with Reality. In Virtual Systems and Multimedia, Brisbane, Australia, [25] ZANDL, Patrick. Trend: obědové servery s poledním menu [online] Dostupné z WWW: trend-obedove-servery-s-polednim-menu/. [26] ZANDL, Patrick. Český Lunchtime kupují majitelé slovenské ZlavaDna.sk [online] Dostupné z WWW: http: //startup.lupa.cz/clanky/cesky-lunchtime-kupujimajitele-slovenske-zlavadna-sk-za-8-5-mil-kc/. [27] ZANDL, Patrick. Zlaté stránky nabízejí rozšířenou realitu [online] Dostupné z WWW: zlate-stranky-nabizeji-rozsirenou-realitu/. [28] ZHOU, Z. et al. Windows Phone 7 programming for Android and ios developers. Indianapolis : Wiley, 1. vydání, ISBN [29] ARToolkit: History [online]. Dostupné z WWW: washington.edu/artoolkit/documentation/history.htm. [30] Proč Lunchtime.cz? [online].. Dostupné z WWW: lunchtime.cz/. 53

59 10. ZÁVĚR [31] Calculating accurate length in meters for lat, long coordinate systems [online] Dostupné z WWW: com/articles/how_to/calculating-accurate-length-inmeters-for-lat-long-coordinate-systems. [32] Bounding Box, Radius, and Polygon Search [online]. Dostupné z WWW: cc aspx. [33] World, View and Projection Matrix Unveiled [online] Dostupné z WWW: 54

60 A Obrazová příloha Obrázek A.1: Ukázka základní funkcionality aplikace: (a) hlavní menu, (b) výpis denního menu, (b) výpis restaurací. Obrázek A.2: Obrazovky detailu podniku: (a) hlavní obrazovka, (b) kontaktní informace, (b) o podniku. 55

61 A. OBRAZOVÁ PŘÍLOHA Obrázek A.3: Obrazovky pro vyhledávání: (a) jednoduché vyhledávání, (b) pokročilé vyhledávání, (b) Výběr vlastností u pokročilého vyhledávání. Obrázek A.4: Ukázka práce s mapou: (a) zobrazení podniků, (b) stisknutý ukazatel na jeden podnik, (b) stisknutý ukazatel, který reprezentuje více podniků. 56

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2

MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2 MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2 RESPONZIVNÍ DESIGN - tento design zaručuje, že zobrazení stránky

Více

11 Zobrazování objektů 3D grafiky

11 Zobrazování objektů 3D grafiky 11 Zobrazování objektů 3D grafiky Studijní cíl Tento blok je věnován základním algoritmům zobrazení 3D grafiky. Postupně budou probrány základní metody projekce kolmé promítání, rovnoběžné promítání a

Více

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací Mobilní zpravodajská aplikace idnes A7B39PDA - Principy tvorby mobilních aplikací Autor: Marek Krátký kratkma2@fel.cvut.cz Popis D1 Zpravodajská aplikace idnes je určena pro chytré telefony nebo pro tablety.

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

SOFTWARE NAVIGAČNÍ SYSTÉMY. Využití a vlastnosti

SOFTWARE NAVIGAČNÍ SYSTÉMY. Využití a vlastnosti SOFTWARE NAVIGAČNÍ SYSTÉMY Využití a vlastnosti - Seznam objektů dělený do kategorií - Půdorys objektu - Systém trasování - Zvukové komentáře - Jazykové mutace - Propojení s virtuálními prohlídkami - Virtuální

Více

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

Restaurator. Semestrání projekt předmětu PDA Restaurator Semestrání projekt předmětu PDA Restaurator...3 Profil uživatele...3 Akivity...3 Systémová podpora...4 Kontext...4 Prototyp...4 Start systému...4 Start aplikace...6 Manuální zadání pozice pro

Více

SOU Valašské Klobouky. VY_32_INOVACE_3_01 IKT Pc grafika základní pojmy Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT

SOU Valašské Klobouky. VY_32_INOVACE_3_01 IKT Pc grafika základní pojmy Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT SOU Valašské Klobouky VY_32_INOVACE_3_01 IKT Pc grafika základní pojmy Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název školy SOU Valašské Klobouky,

Více

Studie webů automobilek

Studie webů automobilek Studie webů automobilek červen 2006 [manažerské shrnutí] Obsah Obsah... 1 Manažerské shrnutí... 2 Kvalita obsahu a použitelnost webu... 3 Základní nedostatky negativně ovlivňují použitelnost většiny webů...

Více

Území Místní akční skupiny Nízký Jeseník

Území Místní akční skupiny Nízký Jeseník Území Místní akční skupiny Nízký Jeseník Základní údaje o území MAS Území MAS Nízký Jeseník je součástí Moravskoslezského kraje a Olomouckého kraje. Na rozloze 318,97 km2 žije 11.955 obyvatel. Hustota

Více

CTUGuide (XXX-KOS) D1

CTUGuide (XXX-KOS) D1 CTUGuide (XXX-KOS) D1 Verze: 1.0 Předmět: PDA Mentor: Zdeněk Míkovec Autor: Petr Tarant, Martin Štajner, Petr Husák Datum: 14. 02. 2013 Obsah CTUGUIDE verze 1.0 1. Úvod... 3 1.1. Úvod do problematiky...

Více

VOZIDLA. Uživatelská příručka SeeMe - Ecofleet. Provozovatel GPS služeb: pobočka ZNOJMO pobočka JIHLAVA pobočka DOMAŽLICE pobočka PRAHA Identifikace

VOZIDLA. Uživatelská příručka SeeMe - Ecofleet. Provozovatel GPS služeb: pobočka ZNOJMO pobočka JIHLAVA pobočka DOMAŽLICE pobočka PRAHA Identifikace alarmy do vozidel, sledování úbytku paliva a další služby VOZIDLA Uživatelská příručka SeeMe - Ecofleet Identifikace IČO:28550650 Rejstříkový soud: Praha, Oddíl C vložka 149630 Systémové požadavky... 3

Více

Testování uživatelského rozhraní mobilního telefonu HTC Hero (Semestrální projekt pro předmět A7B36TUR)

Testování uživatelského rozhraní mobilního telefonu HTC Hero (Semestrální projekt pro předmět A7B36TUR) České vysoké učení technické v Praze, Fakulta Elektrotechnická Testování uživatelského rozhraní mobilního telefonu HTC Hero (Semestrální projekt pro předmět A7B36TUR) Autor:Luboš Doležal dolezlu5@fel.cvut.cz

Více

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality

Více

Testování operačního systému Windows Phone 8

Testování operačního systému Windows Phone 8 Testování operačního systému Windows Phone 8 Semestrální práce A2 v rámci předmětu A4B39TUR Muška Adam ČVUT FEL STM 0 Obsah 1. Popis přístroje... 2 2. Popis cílové skupiny... 2 3. Přehled případů užití...

Více

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5 CRM SYSTÉM KORMORÁN UŽIVATELSKÁ PŘÍRUČKA Obsah 1 Základní práce se systémem 3 1.1 Práce se záznamy................................. 3 1.2 Stránka Dnes.................................... 4 1.3 Kalendář......................................

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Testování mobilní navigace NACESTY

Testování mobilní navigace NACESTY České vysoké učení technické v Praze Fakulta elektrotechnická A7B39TUR 2015/2016, A2 Testování mobilní navigace NACESTY Kognitivní průchod a heuristická evaluace Jakub Berka berkajak@fel.cvut.cz Obsah

Více

Průměrná měsíční návštěvnost dosahuje přes 2 milióny unikátních uživatelů*.

Průměrná měsíční návštěvnost dosahuje přes 2 milióny unikátních uživatelů*. Produktový list O službě Firmy.cz je katalogová služba, která kombinuje hledání na klíčová slova, oborové kategorie a lokalitu uživatele při hledání v největší databázi firem na českém internetu. Firmy.cz

Více

D2 - GUI design. Radek Mečiar 28.3.2014

D2 - GUI design. Radek Mečiar 28.3.2014 D2 - GUI design Radek Mečiar 28.3.2014 1 Úvod Zvolená platforma: Android Verze: 4.x Nástroj pro kreslení: Pencil Platformu a verzi jsem zvolil, protože je v současnosti nejpoužívanější. Informace o standardu

Více

MAPA PARKOVÁNÍ A BEZBARIÉROVÉHO PŘÍSTUPU IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX

MAPA PARKOVÁNÍ A BEZBARIÉROVÉHO PŘÍSTUPU IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX MAPA PARKOVÁNÍ A BEZBARIÉROVÉHO PŘÍSTUPU IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2 RESPONZIVNÍ DESIGN - tento design zaručuje,

Více

GoClever Map 2.5 manuál

GoClever Map 2.5 manuál GoClever Map 2.5 manuál Obsah 1. Na dotyku záleží... 4 2. Navádění k lokaci... 5 3. Navigační okno... 7 3.1. Změna nastavení systému navigačního okna... 7 4. Hlavní vlastnosti GoClever Map 2.5... 8 5.

Více

Případová studie. O2 Slovakia: Aplikace O2 Univerzita. Aplikace O2 Univerzita. jako nástroj řízení vzdělávání zaměstnanců

Případová studie. O2 Slovakia: Aplikace O2 Univerzita. Aplikace O2 Univerzita. jako nástroj řízení vzdělávání zaměstnanců Případová studie O2 Slovakia: Aplikace O2 Univerzita Aplikace O2 Univerzita jako nástroj řízení vzdělávání zaměstnanců Aplikace O2 Univerzita Vzdělávání je pro naši firmu jedním ze základních pilířů, bez

Více

Testování aplikace Facebook Messenger pro Windows Phone 8.1

Testování aplikace Facebook Messenger pro Windows Phone 8.1 [ZDEJTE ÁZEV SPOLEČOSTI.] Testování aplikace Facebook Messenger pro Windows Phone 8.1 7B36TUR Jan Vitha 06.11.2016 Obsah 1. Úvod... 1 1.1. Popis aplikace... 1 1.2. Cílová skupina... 1 2. Přehled testovaných

Více

Dotykové technologie dotkněte se budoucnosti...

Dotykové technologie dotkněte se budoucnosti... Mgr. Petr Jelínek Ing. Michal Bílek Ing. Karel Johanovský Dotykové technologie dotkněte se budoucnosti... O co se vlastně jedná? dotykové obrazovky (displeje) jsou vstupní i výstupní zařízení dvě nesporné

Více

K práci je možné přistoupit následujícím způsobem. Odkaz na práci se nachází na osobním webu autora práce: http://stpr.cz/.

K práci je možné přistoupit následujícím způsobem. Odkaz na práci se nachází na osobním webu autora práce: http://stpr.cz/. 2. Seznámení K práci je možné přistoupit následujícím způsobem. Odkaz na práci se nachází na osobním webu autora práce: http://stpr.cz/. 2.1. Uživatel (učitel) Uživatelem (učitelem) se myslí osoba, která

Více

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části)

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části) PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské

Více

XD39NUR Semestrální práce Zimní semestr 2013/2014

XD39NUR Semestrální práce Zimní semestr 2013/2014 XD39NUR Semestrální práce Zimní semestr 2013/2014 Kamil Darebný darebkam@fel.cvut.cz Obsah Zadání... 1 Deliverable D4... 2 Vytvoření prototypu... 2 Použité technologie... 2 Popis prototypu... 2 Screenshoty

Více

DIGITÁLNÍ MAPY. Přednáška z předmětu KMA/TKA. Otakar ČERBA Západočeská univerzita v Plzni

DIGITÁLNÍ MAPY. Přednáška z předmětu KMA/TKA. Otakar ČERBA Západočeská univerzita v Plzni DIGITÁLNÍ MAPY Přednáška z předmětu KMA/TKA Otakar ČERBA Západočeská univerzita v Plzni 16.12.2008 Konec 20. století je charakterizován jako období informatiky. Mapa, jako výsledek geodetických měření

Více

Webové stránky Webové aplikace WebDesign Internet Marketing VAFRO CMS MODUL REALITY

Webové stránky Webové aplikace WebDesign Internet Marketing VAFRO CMS MODUL REALITY VAFRO CMS MODUL REALITY Řešení pro Realitní kanceláře Vafro CMS s modulem Reality Vám umožní následující: Jednoduchou správu realit domů bytů pozemků komerčních objektů garáží Snadné zadávání položek vytvoření

Více

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

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 20 Název materiálu: Android vs ios Ročník: Identifikace materiálu: Jméno autora: Předmět:

Více

Systém řízení úkolů mobilních pracovníků

Systém řízení úkolů mobilních pracovníků Systém řízení úkolů mobilních pracovníků O čem je tato prezenatce Co v této prezentaci uvidíte Nástroj řízení mobilních pracovníků, jejich úkolů přes www.seeme.eu/cs a mobilní telefon nebo tablet s OS

Více

Uživatelská příručka T UC-One pro windows

Uživatelská příručka T UC-One pro windows Co je to T UC-One? T UC-One poskytuje koncovým uživatelům jednotnou komunikaci (UC) skrz všední mobily (tablety a mobilní telefony) a počítačové platformy (počítače a notebooky) včetně Windows, Mac, ios

Více

SMS Jízdenka Semestrální úloha pro předmět Y39PDA Jan Peca pecajan@fel.cvut.cz

SMS Jízdenka Semestrální úloha pro předmět Y39PDA Jan Peca pecajan@fel.cvut.cz SMS Jízdenka Semestrální úloha pro předmět Y39PDA Jan Peca pecajan@fel.cvut.cz Obsah Popis aplikace... 3 Uživatelé... 3 Aktivity... 3 Systémová podpora... 3 Kontext... 3 Prototyp... 4 Informace... 4 Design

Více

Návod pro práci s aplikací

Návod pro práci s aplikací Návod pro práci s aplikací NASTAVENÍ FAKTURACÍ...1 NASTAVENÍ FAKTURAČNÍCH ÚDA JŮ...1 Texty - doklady...1 Fakturační řady Ostatní volby...1 Logo Razítko dokladu...2 NASTAVENÍ DALŠÍCH ÚDA JŮ (SEZNAMŮ HODNOT)...2

Více

Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit.

Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Úvodní příručka Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Aktualizované šablony Šablony vám pomáhají při

Více

Záznamník trasy. Michal Sluštík slustmic@fel.cvut.cz Y39PDA ČVUT, FEL, 2010. Popis aplikace. Specifikace požadavků

Záznamník trasy. Michal Sluštík slustmic@fel.cvut.cz Y39PDA ČVUT, FEL, 2010. Popis aplikace. Specifikace požadavků Záznamník trasy Michal Sluštík slustmic@fel.cvut.cz Y39PDA ČVUT, FEL, 2010 Popis aplikace Program bude sloužit pro záznam trasy pro třetí osobu. Uživatel bude trasu zaznamenávat manuálně na mapě nebo pomocí

Více

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

Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Evropská unie a Evropský fond pro regionální rozvoj jsou partnery pro váš rozvoj. Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Příručka pro Informační centra Olomouckého

Více

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií Softwarový nástroj pro tvorbu a správu genealogických dat Manuál pro uživatele Bc. František Hlaváček Součást

Více

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE KAPITOLA 1 Vývojové prostředí a výběr frameworku 15 PhoneGap 15 jquery

Více

Metodická příručka pro učitele. InspIS SET modul školní testování

Metodická příručka pro učitele. InspIS SET modul školní testování Metodická příručka pro učitele InspIS SET modul školní testování Tato Metodická příručka pro učitele byla zpracována v rámci projektu Národní systém inspekčního hodnocení vzdělávací soustavy v České republice

Více

Internet. dobrý sluha, zlý pán

Internet. dobrý sluha, zlý pán Internet dobrý sluha, zlý pán 13. Picasa Picasa je celosvětově nejrozšířenější galerií obrázků, kterou provozuje firma Google. Její použití je zdarma včetně využití poměrně velikého diskového prostoru

Více

Automatické rozpoznávání dopravních značek

Automatické rozpoznávání dopravních značek ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA DOPRAVNÍ Jiří Hofman Automatické rozpoznávání dopravních značek Semestrální práce z předmětu ITS 2012 Obsah 1. Automatické rozpoznávání dopravních značek (ATSR)...

Více

Internetový obchod Mironet

Internetový obchod Mironet České vysoké učení technické v Praze Fakulta elektrotechnická Internetový obchod Mironet Semestrální práce A2 Testování uživatelských rozhraní A4B39TUR Pavel Štíbal Stibapa1@fel.cvut.cz 2013/2014 Otevřená

Více

Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak temnymar@fel.cvut.cz

Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak temnymar@fel.cvut.cz Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak temnymar@fel.cvut.cz 1 Obsah 1. Popis aplikace 2. Popis problému 2.1. Uživatelé 2.2. Aktivity 2.3. Systém 2.4. Kontext 3. Návrh uživatelského rozhraní

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Dispatcher PDA Dokumentace

Dispatcher PDA Dokumentace Dispatcher PDA Dokumentace květen 2005 1 Obsah: 1. Základní popis programu 2. Blokové schéma zapojení 3.1. Úvodní obrazovka 3.2. Zahájení jízdy 3.3. Ukončení jízdy 3.4. Záznam o tankování 3.5. Události

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

Více

Měření průtoku kapaliny s využitím digitální kamery

Měření průtoku kapaliny s využitím digitální kamery Měření průtoku kapaliny s využitím digitální kamery Mareš, J., Vacek, M. Koudela, D. Vysoká škola chemicko-technologická Praha, Ústav počítačové a řídicí techniky, Technická 5, 166 28, Praha 6 e-mail:

Více

Vzdálená správa v cloudu až pro 250 počítačů

Vzdálená správa v cloudu až pro 250 počítačů Vzdálená správa v cloudu až pro 250 počítačů S pomocí ESET Cloud Administratoru můžete řídit zabezpečení vaší podnikové sítě bez nutnosti nákupu, instalace nebo údržby dalšího hardwaru. Řešení je poskytováno

Více

Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7

Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7 Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7 postupy a doporučení pro práci redaktorů Ivo Vrána, červen 2011 Podpora: e-mail: podpora@qcm.cz tel.: +420 538 702 705 Obsah Modul Ankety...3

Více

06/03/15. Exekuce ios. Deliverable 01. Vojtěch Micka mickavoj Naim Ashhab ashhanai

06/03/15. Exekuce ios. Deliverable 01. Vojtěch Micka mickavoj Naim Ashhab ashhanai [BIS-EXE] Deliverable 01 06/03/15 Exekuce ios Deliverable 01 Vojtěch Micka mickavoj Naim Ashhab ashhanai [BIS-EXE] Deliverable 01 Zadání Migrace části webové aplikace Lustrátor (lustrator.bisnode.cz) od

Více

Dokumentace k mobilní aplikaci GoodCall

Dokumentace k mobilní aplikaci GoodCall Dokumentace k mobilní aplikaci GoodCall Pro společnost GoodCall s.r.o. Tel.: +420 602 797 530 Email: info@goodcall.eu Václavské náměstí 1 110 00 Praha1 Vypracovala Quanti s.r.o, Miroslav Voda Tel.: +420

Více

Správa obsahu webové platformy

Správa obsahu webové platformy Správa obsahu webové platformy www.dobrovolnik.net Bc. Irina Kushnareva PRAHA 2019 Tento dokument byl vypracován v rámci projektu Dobrovolnictví ve veřejné správě, reg. č. CZ.03.3.X/0.0/0.0/15_018/0005458,

Více

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů 7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů Verze dokumentu: 1.0 Autor: Jan Lávička, Microsoft Časová náročnost: 30 40 minut 1 Cvičení 1: Vyhledávání informací v

Více

Návod k použití virtuálního studia

Návod k použití virtuálního studia Vážení návštěvníci našeho internetového obchodu, rozhodli jste se využít naší jedinečné flash aplikace, kterou jsme nazvali VIRTUÁLNÍ STUDIO. Prostřednictvím této, v dnešní době jistě unikátní aplikace,

Více

3 ROZŠÍŘENÁ REALITA NA NÁHLAVNÍCH PLATFORMÁCH 15 3 Rozšířená realita na náhlavních platformách V kategorii náhlavních souprav existuje velká řada projektů, prototypů a návrhů pro uplatnění v mnoha oborech.

Více

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. Martin Majer, AiP Beroun s.r.o. REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

Návrh zpravodajské aplikace idnes po Android

Návrh zpravodajské aplikace idnes po Android Návrh zpravodajské aplikace idnes po Android Semestrální projekt pro předmět PDA 1 D1! 4 Název! 4 Popis! 4 Cílová skupina! 4 D2! 5 Uživatelé! 5 Aktivity! 5 System Support! 5 Cílová platforma! 6 Context!

Více

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce ZoomText 10.1 pro Windows 8 Dodatek k uživatelské příručce Autorská práva ZoomText Magnifier Copyright 2013, Algorithmic Implementations, Inc. Všechna práva vyhrazena. ZoomText Magnifier/Reader Copyright

Více

Petr Řezníček, REZ112

Petr Řezníček, REZ112 21.3.2011 Petr Řezníček, REZ112 Obsah: Historie Live Search Maps Bing Maps Bing Maps Prostředí Bing Maps Typy map Mapové aplikace Streetside View Bing Maps API Závěr Zdroje Historie Live Search Maps První

Více

Aplikace GoGEN Smart Center

Aplikace GoGEN Smart Center Aplikace GoGEN Smart Center Návod na použití aplikace Úvod Aplikace GoGEN Smart Center pro maximální využití Smart TV GoGEN, spojuje vyspělou technologii a zábavu v pohodlí domova. SMART ovládání ovládání

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

Návod k použití softwaru Solar Viewer 3D

Návod k použití softwaru Solar Viewer 3D Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a

Více

StatSoft Jak vyzrát na datum

StatSoft Jak vyzrát na datum StatSoft Jak vyzrát na datum Tento článek se věnuje podrobně možnostem práce s proměnnými, které jsou ve formě datumu. A že jich není málo. Pokud potřebujete pracovat s datumem, pak se Vám bude tento článek

Více

Rozdílová dokumentace k ovládání IS KARAT.net

Rozdílová dokumentace k ovládání IS KARAT.net Dokumentace k IS KARAT.net Rozdílová dokumentace k ovládání IS KARAT.net programový modul: Rozdílová dokumentace k ovládání IS KARAT.net OBSAH: 1 ÚVOD... 3 2 PŘIHLAŠOVACÍ DIALOG... 4 3 NAVIGACE... 5 3.1

Více

Produktový list - Sklik. PPC reklama Internetová reklama placená za proklik

Produktový list - Sklik. PPC reklama Internetová reklama placená za proklik Produktový list - Sklik PPC reklama Internetová reklama placená za proklik O službě Sklik je český PPC systém provozovaný společností Seznam.cz, který umožňuje zobrazování textové reklamy ve vyhledávání

Více

Produktový list - Sklik. PPC reklama Internetová reklama placená za proklik

Produktový list - Sklik. PPC reklama Internetová reklama placená za proklik Produktový list - Sklik PPC reklama Internetová reklama placená za proklik O službě Sklik je český PPC systém provozovaný společností Seznam.cz, který umožňuje zobrazování textové reklamy ve vyhledávání

Více

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.:

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.: CRM - manuál Vypracovala: Monika Balažovičová [1] Obsah 1. Cíl... 3 2. Programové požadavky... 3 3. Přihlašovací údaje... 3 4. Nastavení programu... 4 5. Úvodní obrazovka... 4 6. Marketingové seznamy...

Více

Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak

Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak temnymar@fel.cvut.cz 1 Obsah 1. Popis aplikace 2. Popis problému 2.1. Uživatelé 2.2. Aktivity 2.3. Systém 2.4. Kontext 3. Návrh uživatelského rozhraní

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a netbooků. Chytré telefony, nazývané také Smartphony, poskytují

Více

Mobilní aplikace pro ARVAL ON BOARD. Podrobný manuál

Mobilní aplikace pro ARVAL ON BOARD. Podrobný manuál Mobilní aplikace pro ARVAL ON BOARD Podrobný manuál Úvod ARVAL ON BOARD (AOB) Mobile je mobilní verze klasického ARVAL ON BOARD, který je určen pro chytré telefony a tablety. Je k dispozici pro platformy

Více

Zrakové postižení a mobilní telefony (smartphony)

Zrakové postižení a mobilní telefony (smartphony) České vysoké učení technické v Praze Fakulta elektrotechnická Katedra Kybernetiky Biomedicínské inženýrství Zrakové postižení a mobilní telefony (smartphony) Semestrální úloha - A6M33AST Jarolímek Tomáš

Více

M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele

M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele M I S Y S - W E B Intranet řešení systému MISYS Verze 9.00 Příručka uživatele GEPRO s.r.o. Září 2008 Copyright GEPRO s.r.o. 2008 Ochranné známky GEPRO spol. s r.o. KOKEŠ, MISYS Ochranné známky Microsoft

Více

[IM-WMC] Městská cyklonavigace Deliverable D4

[IM-WMC] Městská cyklonavigace Deliverable D4 [IM-WMC] Městská cyklonavigace Deliverable D4 Úvod Cílem deliverable D4 bylo dokončit implementaci části prototypu z deliverablu D3. Návrh by měl dodržovat zásady designu platformy Android. Popis aplikace

Více

Pionýr, z. s. Šablona pro pobočné spolky (KOP a PS) základní informace MOST 2018 podkladový materiál s. 1/5 PRO POBOČNÉ SPOLKY (KOP A PS)

Pionýr, z. s. Šablona pro pobočné spolky (KOP a PS) základní informace MOST 2018 podkladový materiál s. 1/5 PRO POBOČNÉ SPOLKY (KOP A PS) s. 1/5 WEBOVÁ ŠABLONA PRO POBOČNÉ SPOLKY (KOP A PS) ÚVODNÍ POZNÁMKY Migrace webu Pionýra na nový systém WordPress (efektivní a jednoduchý systém pro správu stránek) a nový Linuxový server přinesla další

Více

Programátorská dokumentace

Programátorská dokumentace Programátorská dokumentace Požadavky Cílem tohoto programu bylo představit barevné systémy, zejména převody mezi nejpoužívanějšími z nich. Zároveň bylo úkolem naprogramovat jejich demonstraci. Pro realizaci

Více

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK Strana 1 z 12 Obsah 1. Leady... 3 a. Shrnutí... 3 b. Popis modulu... 3 c. Technické podrobnosti o modulu... 5 2. MERK... 6 a. Shrnutí... 6 b.

Více

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

Uživatelská příručka pro respondenty Uživatelská příručka pro respondenty Statistický informační systém Českého statistického úřadu Subsystém DANTE WEB Funkční blok Objednavatel: Český statistický úřad Na padesátém 81, 100 82 Praha 10 Dodavatel:

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

GPS Manuál. Tato příručka je vánoční dárkem Orlíků pro oddíl.

GPS Manuál. Tato příručka je vánoční dárkem Orlíků pro oddíl. GPS Manuál Tato příručka je vánoční dárkem Orlíků pro oddíl. Obsah Co je to GPS... 3 Jak to funguje GPS... 4 HOLUX FunTrek 132... 6 Základní ovládání... 6 Jak vyhledat GPS bod... 7 Hledání uložené kešky...

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

Více

Vypracoval: Jiří Němeček, produktový manažer KOPOS KOLÍN a.s. Havlíčkova 432 CZ 280 94 Kolín a IV. Konfigurátor KNS

Vypracoval: Jiří Němeček, produktový manažer KOPOS KOLÍN a.s. Havlíčkova 432 CZ 280 94 Kolín a IV. Konfigurátor KNS Konfigurátor KNS Cílem programu je poskytnout zákazníkovi větší komfort při práci s výrobky firmy KOPOS. Program pracuje s výrobky produktového portfolia kabelových nosných systémů. Je velmi intuitivní,

Více

[BAL-MLP] Multiplayer

[BAL-MLP] Multiplayer České vysoké učení technické v Praze Fakulta elektrotechnická Semestrální práce D2 předmětu A7B39PDA [BAL-MLP] Multiplayer Tomáš Kozák (další členové týmu: Tomáš Bruštík, Jaroslav Havelík) LS 2012/2013

Více

Dell Premier. Návod k nakupování a objednávkám

Dell Premier. Návod k nakupování a objednávkám Dell Premier Návod k nakupování a objednávkám Navrženo pro podnikání. Přizpůsobeno pro vás. Nový portál Premier přináší přizpůsobenou a zabezpečenou online sadu nástrojů pro nákup, reporting, vyhledávání

Více

Část 1 - Začínáme. Instalace

Část 1 - Začínáme. Instalace Obsah Část 1 - Začínáme... 4 Instalace... 4 Nastavení domovské obrazovky... 7 Základní nastavení kanceláře... 9 První kroky s Kleosem... 11 Moje první kauza... 15 2 3 Část 1 - Začínáme Instalace Kleos

Více

GPS Loc. Uživatelský manuál. mobilní aplikace. pro online přístup do systému GPS Loc pomocí mobilní aplikace

GPS Loc. Uživatelský manuál. mobilní aplikace. pro online přístup do systému GPS Loc pomocí mobilní aplikace GPS Loc mobilní aplikace Uživatelský manuál pro online přístup do systému GPS Loc pomocí mobilní aplikace Mobilní aplikace GPS Loc je určena na sledování aktuální polohy vozidla nebo sledovaného objektu,

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

ELEKTRONICKÉ PODÁNÍ OBČANA

ELEKTRONICKÉ PODÁNÍ OBČANA Strana č. 1 ELEKTRONICKÉ PODÁNÍ OBČANA NÁVOD NA VYPLŇOVÁNÍ A ODESLÁNÍ FORMULÁŘŮ IČ: 63078236, DIČ: CZ63078236, OR: MS v Praze, oddíl B, vložka 3044 Strana 1 / 13 Strana č. 2 1 Obsah 1 Obsah... 2 2 Úvod...

Více

Obchodní příležitosti

Obchodní příležitosti Obchodní příležitosti Celá databáze HBI je koncipována tak, aby v co největší míře přispěla svým uživatelům registrovaným i neregistrovaným k co nejlepší orientaci na trhu. Což v praxi znamená, že se nemůže

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

Produktový list - Sklik. PPC reklama - internetová reklama placená za proklik

Produktový list - Sklik. PPC reklama - internetová reklama placená za proklik Produktový list - Sklik PPC reklama - internetová reklama placená za proklik O službě Sklik je český PPC systém provozovaný společností Seznam.cz, který umožňuje zobrazování textové reklamy ve vyhledávání

Více

PDA: PROGRAMOVÁNÍ PRO WINDOWS PHONE 7 JIŘÍ DANIHELKA

PDA: PROGRAMOVÁNÍ PRO WINDOWS PHONE 7 JIŘÍ DANIHELKA PDA: PROGRAMOVÁNÍ PRO WINDOWS PHONE 7 JIŘÍ DANIHELKA Hardwarové požadavky WP7 Kapacitní displej (4 dotyky současn asně) Rozlišen ení 480x800 minimáln lně 256MB RAM rychlý procesor 8GB flash paměti 5 megapixelový

Více

1.2 Operační systémy, aplikace

1.2 Operační systémy, aplikace Informační a komunikační technologie 1.2 Operační systémy, aplikace Studijní obor: Sociální činnost Ročník: 1 Programy (Software - SW) V informatice se takto označují všechny samospustitelné soubory které

Více