Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky
Bakalářská práce
2013
Miloslav Náprstek
Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky
NFC technologie a její využití pro mobilní kampaně
Vypracoval: Miloslav Náprstek Vedoucí práce: Ing. PhDr. Antonín Pavlíček, Ph.D. Rok vypracování: 2013 1
Čestné prohlášení: Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně. Veškeré použité podklady, ze kterých jsem čerpal informace, jsou uvedeny v seznamu použité literatury a citovány v textu podle normy ČSN ISO 690.
Poděkování: Rád bych poděkoval Ing. PhDr. Antonínu Pavlíčkovi, Ph.D., který mou práci se zájmem o danou oblast vedl. Jeho rady byly při zpracování bakalářské práce pro mě velmi cenné. Dále bych chtěl poděkovat své rodině za poskytnutí vynikajících podmínek pro zpracování práce. Mé poděkování patří také kolegům z firmy CALL, spol. s r.o. za bezproblémovou implementaci aplikace na firemní server.
3
Abstrakt Bakalářská práce se věnuje novince v bezdrátových komunikacích – technologii Near Field Communication (NFC). V prvním tematickém celku je stanoveno teoretické pozadí NFC technologie. První část teorie je věnována představení standardů, specifikací a principů, kterými se řídí komunikace pomocí této technologie. Práce popisuje také jednotlivé možnosti použití NFC technologie a typy zařízení komunikující prostřednictvím NFC. Ty jsou rozděleny podle vlastností a chování komunikované informace. Druhý celek popisuje realizaci a použití aplikace pro vzdálenou správu NFC tagů. Aplikace je vyvíjena za účelem reálného nasazení v mobilních kampaních. Práce stanoví důvody pro potřebu správy NFC tagů a výchozí stav použitých komponent. Dále jsou popsány použité programovací postupy, úpravy využitých skriptů, popřípadě nastavení komponent. Na závěr jsou představeny modelové situace reálného využívání aplikace z pohledů uživatele i administrátora aplikace. Klíčová slova: NFC, Near Field Communication, NFC tagy, mobilní kampaň, online správa NFC tagů, realizace webové správy NFC tagů
4
Abstract This bachelor thesis deals with new innovation in wireless communications - Near Field Communication technology (NFC). The first thematic block provides a theoretical background of the NFC technology. It starts with presenting the standards, specifications and principles that are governing the communication by this technology. The work also describes various possibilities of NFC technology use and the types of devices communicating via NFC. These are divided according to the characteristics and behavior of the communicated information. The second part describes the implementation and the use of the application for the NFC tags remote administration. The application is developed for a real use in mobile campaigns. The thesis states the reasons for the need of NFC tags management and for the baseline components used. The used programming procedures, utilized editing scripts and components set ups are described further. The thesis ends presenting modeled practical use scenarios both from the view of the end user as well as from the application administrator view. Key words: NFC, Near Field Communication, NFC tags, mobile campaign, online NFC tag management, construction NFC tags web management tool
5
Obsah Abstrakt ............................................................................................................................. 4 Abstract ............................................................................................................................. 5 Obsah ................................................................................................................................ 6 1
2
Vytyčení cílů bakalářské práce ................................................................................. 9 1.1
Teoretický základ ............................................................................................... 9
1.2
Aplikace pro webovou správu NFC tagů ........................................................... 9
Near Field Communication ....................................................................................... 9 2.1
1.1 Teoretický základ V první části stanovím kompletní teoretické pozadí NFC technologie. Zaměřím se na úplnou definici NFC technologie včetně vytyčení používaných standardů a podrobné vysvětlení funkčnosti. Dále představím jednotlivé typy zařízení používaných při komunikačním procesu s použitím NFC technologie. V závěru 1. celku budou popsány jednotlivé možnosti použití NFC technologie v současnosti a v budoucnu.
1.2 Aplikace pro webovou správu NFC tagů Ve druhé části práce se věnuji realizaci aplikace pro webovou správu NFC tagů. Představím hlavní důvody pro použití aplikace. Před samotnou realizací aplikace zmíním použité programové komponenty. Hlavní částí kapitoly bude popis postupu při tvorbě aplikace. Závěrem představím modelové příklady používání aplikace.
2 Near Field Communication 2.1 Princip NFC je zkratka pro anglický název standardu bezdrátové technologie, která zprostředkuje komunikaci mezi dvěma zařízeními na velmi krátkou vzdálenost - Near Field Communication. Komunikace probíhá pomocí radiofrekvenčního pole. Zařízení vysílá do svého okolí energii, která vytváří radiofrekvenční pole. Jakmile se v tomto magnetickém poli objeví prvek fungující na stejné frekvenci, začíná komunikovat s vysílajícím zařízením prostřednictvím modulace tohoto radiofrekvenčního pole. Pro spárování komunikace pomocí NFC mezi zařízeními není potřeba od uživatele žádná jiná interakce, kromě přiblížení zařízení do dosahu radiofrekvenčního pole. Tento dosah se liší podle použité antény a ostatních faktorů ovlivňujících kvalitu prostředí pro šíření radiofrekvenčního signálu. Teoreticky je udávána vzdálenost 10 cm, ale v praxi je tato vzdálenost několikanásobně menší, často maximálně 1-2 cm. Díky absenci potřeby dalšího párování komunikace je NFC používáno pro rychlý přenos dat. Rychlost je zde právě zastoupena okamžitým přenosem, nenutností párování uživatelem. Samotné přenosové rychlosti jsou při porovnání s ostatními
9
komunikačními technologiemi velmi nízké – NFC používá standardně 3 rychlosti komunikace - 106 kbps, 212 kbps a 424 kbps (ISO/IEC, 2012). Kanál pro přenos dat pomocí NFC je velmi rychle sestaven, ale samotný transfer dat je pro velké datové objemy nevhodný. NFC se používá pro přenosy malých dat, které slouží k následné identifikaci, či inicializaci některého dalšího komunikačního kanálu.
2.2
Standardy definující komunikaci prostřednictvím NFC
NFC technologie je díky svému principu často spojována s RFID technologií. Není tomu tak náhodou – standard pro komunikaci dvou NFC zařízení, který lze považovat za standard definující tuto technologii – ISO 18092, používá některých vlastností popsaných v ISO 14443 – standardu definujícího RFID komunikaci. Princip přenosu pomocí pole vyvolaného radiovou frekvencí přejímá NFC přímo z tohoto standardu. Díky tomu jsou NFC zařízení kompatibilní i s kartami splňující standard ISO 14443 fyzická vrstva technologie NFC dovede tedy jejich obsah číst, či zapisovat (ISO/IEC, 2012). Základním standardem, který definuje NFC technologii, je již zmiňovaný ISO 18092 (NFCIP-1). Další standard, který lze zařadit mezi základní pravidla NFC komunikace je ISO 21481 (NFCIP-2). Další specifikace stanovuje asociace NFC Forum. 2.2.1
ISO/IEC 18092
Tento standard definuje módy komunikace používané při využití NFC technologie. Podtitul standardu je Near Field Communication – Interface and Protocol-1 - NFCIP-1. První vydání bylo zveřejněno v roce 2004. Druhé ani další vydání zatím neexistují, nová revize je v době zpracovávání práce registrována k formálnímu schválení (stav 50.00 k 3.2.2013) před spuštěním závěrečného hlasování (hlasování probíhá 2 měsíce) (ISO/IEC, 2013a). ISO 18092 specifikuje také modulační schémata, kódování, přenosové rychlosti a rámcový formát RF rozhraní. Určuje schémata inicializace a podmínky požadované pro kontrolu kolizí dat během tohoto procesu. Definuje přenosový protokol, včetně aktivačního protokolu a metod pro výměnu dat (ISO/IEC, 2012). Módy komunikace NFC technologie Výběr módu komunikace nastává při volbě komunikujících zařízení. Některé díky svému fyzickému provedení mohou komunikovat pouze v jednom módu, jiné dovedou 10
sdílet/číst informace pomocí obou způsobů. Komunikující zařízení lze podle umožňovaného módu komunikace rozdělit také na aktivní a pasivní (ISO/IEC, 2012). Příklady zařízení rozdělených podle módu komunikace jsou uvedeny v kapitole 3.
Aktivní komunikace - V tomto módu komunikují oba přístoje – jak vyvolávající, tak i cílové – pomocí radiofrekvenčního pole iniciovaného vlastním obvodem. Zařízení požadující přenos začíná komunikaci podle standardu NFCIP-1 a cílový prvek odpovídá na dotaz vlastním modulovaným polem. Formu a úroveň modulace je popisuje NFCIP-1 protokol (ISO/IEC, 2012).
Pasivní komunikace - V tomto módu nemají obě zařízení stejnou roli. Vyvolávající zařízení s aktivním NFC čipem vytváří radiofrekvenční pole řídící se vlastnostmi definovanýmy v příslušném standardu. Cílový pasivní prvek odpovídá na dotaz prostřednictvím nahraného schématu modulace. Tento pasivní prvek NFC komunikace obsahuje obvod umožňující příjem radiofrekvenčních vln a jejich odeslání v modulované podobě zpět do vyvolávajícího zařízení (ISO/IEC, 2012). Skládá se z čipu uchovávajícího modulační schéma a indukčního obvodu pro příjem a odesílání modulovaného signálu. Tyto pasivní prvky jsou označovány jako NFC tagy.
2.2.2 ISO
ISO/IEC 21481 21481
je
standard,
který
specifikuje
mechanismus
výběru
správného
komunikačního módu při komunikaci mezi různými bezkontaktními technologiemi, které operují na frekvenci 13,66 Mhz (ISO/IEC, 2012). Jeho podnázev je NFCIP-2 Near Field Communication Interface and Protocol -2. První vydání NFCIP-2 bylo schváleno v roce 2005. V současnosti je uveřejněna nová revize standardu z roku 2012 (ISO/IEC, 2013b). Díky NFCIP-2 dovedou fyzické vrstvy zařízení komunikovat i použitím technologií velmi podobných NFC. Tyto technologie jsou definovány standardy ISO 18092 (NFCIP-1, standardní NFC), ISO 14443 (PCD1,PICC2) a ISO 15693 (VCD3) (ISO/IEC, 2012).
Proximity coupling device – zařízení umožňující čtení a zápis dat na ISO14443 zařízení (NFC Research Lab Hagenberg, b.r.). 2 Proximity inductive coupling card – pasivní zařízení, na které lze data zapisovat/číst prostřednictvím PCD čtečky. Nejčastěji používané identifikační karty, či tagy (NFC Research Lab Hagenberg, b.r.). 1
11
2.2.3
Technologické specifikace asociace NFC Forum
NFC Forum jako sdružující autorita stanovuje některé doplňující specifikace, které slouží pro bezproblémový průběh komunikace mezi zařízeními vyrobenými různými výrobci. Logical Link Control Protocol (LLCP) Tato specifikace definuje protokol pro podporu peer-to-peer komunikace mezi dvěma NFC zařízeními. Na druhé linkové vrstvě modelu OSI. Rozděluje poskytované služby na dva typy: nespojovaný4 a spojovaný5. U nespojovaných typů služeb není potřeba žádné složité instalace spojení. Záruka dodání a řízení toku paketů je zabezpečena výše popsanými standardy fyzických vrstev (ISO 18092 a ISO 14443). Spojovaný komunikační kanál se řídí podle pravidel uvedených v této specifikaci a spolehlivé doručení paketů do cílového zařízení je garantováno právě touto specifikací (NFC Forum, 2010b). NFC Data Exchange Format (NDEF) Zpráva přenášená prostřednictvím NFC komunikace je zapouzdřená. Aby bylo možné rozpoznávat tuto zprávu napříč celou škálou zařízení, je potřeba definovat formát zapouzdření přenášené informace. Specifikace tohoto formátu se nazývá NFC Data Exchange Format. NDEF je binární formát zprávy, který může být použit k zapouzdření jedné nebo více informací do jedné zprávy pro výměnu dat pomocí NFC technologie. Pro samotnou funkci předání informace není nutné, aby informace byly odesílány v tomto formátu, NDEF zajišťuje ale čitelnost informace napříč zařízeními s odlišným operačním systémem. Každá takto zapouzdřená informace je popsána svým typem, délkou a často identifikátorem, jaký typ média je použit (URI6,MIME7 nebo jiné NFC typy) (NFC Forum, 2006).
Vicinity Coupling Device – zařízení splňující standard ISO 15693, Vicinity bezkontaktní karty umožňují komunikaci na větší vzdálenost než ostatní identifikační karty – je udáváno až 1,5 metru (Springer, 2013). 4 Způsob komunikace, kdy nevzniká žádné přímé propojení mezi příjemcem a odesílatelem a jednotlivá data jsou odesílána bez toho, aby bylo navázáno spojení mezi příjemcem a odesílatelem (Peterka, 1992). 5 Způsob komunikace, kdy iniciátor (odesílatel) vyžádá vytvoření potřebného připojení s druhým zařízením. Tímto spojením pak mohou proudit souvisle data (Peterka, 1992). 6 Uniform Resource Identifier. Kompaktní sekvence znaků, která identifikuje abstraktní nebo fyzický zdroj (NFC Forum, 2006). 3
12
Simple NDEF Exchange Protocol (SNEP) Tento protokol umožňuje použití NFC zařízení k výměně NDEF zpráv s jiným aktivním NFC zařízením při peer-to-peer8 komunikaci. Pro komunikaci je použita linková vrstva LLCP ve spojovaném módu komunikace (NFC Forum, 2011). Record Type Definition (RTD) NDEF podporuje použití standardních obsahových typů MIME a URI k rozkódování nahraného obsahu, který je specifikován mimo specifikace vydané NFC Forem. Mimo těchto standardizovaných obsahových specifikací lze v NFC komunikaci používat ještě dva specifické typy. Ty jsou definovány specifikací RTD a nazývají se ,,NFC Forum Well Known Types“ a ,,NFC external types“ (NFC Forum, 2006). Rozpoznávání použitého typu záznamu probíhá v prvním poli NDEF záznamu. Hlavička ,,TNF“ má hodnodu 0x01 pokud se jedná o typ ,,NFC Forum Well-known“. Pokud se jedná o typ třetí strany – ,,NFC external“ obsahuje ,,TNF“ hlavička hodnotu 0x04 (NFC Forum, 2006). NFC Forum Connection Handover Tato specifikace má za cíl poskytnout vývojářům možnosti NFC technologie pro párování spojení pomocí jiné technologie v případě datově náročnější komunikace. Technologie používané pro následný přenos jsou nejčastěji Bluetooth nebo WiFi. Data přenášená při párovacím procesu jsou zapouzdřena pomocí NDEF standardu, který pro uložení obsahu používá typ ,,NFC Forum Well Known“ (NFC Forum, 2010a). Párovací procesy jsou rozdělené ve specifikaci do dvou typů podle zařízení používaných pro párování - ,,Negotiated Handover“ a ,,Static Handover“:
Negotiated Handover – Obě zařízení obsahují aktivní NFC čip a vzniká tak potřeba vzájemně dohodnout použitou technologii připojení. Ve specifikaci jsou popsány čtyři možné situace, které mohou při komunikaci dvou aktivních přístrojů nastat (NFC Forum, 2010a).
Multipurpose Internet Mail Extensions. Standard specifikující formát dat přenášených pomocí internetu (NFC Forum, 2006). 8 Forma komunikace mezi dvěma zařízeními, komunikují spolu na rovnocenné úrovni a přímo mezi sebou (Peterka, 1991). 7
13
Static Handover – Pro párování lze použít pouze pasivní NFC Forum Tagm, který v sobě uchovává záznam pro spárování potřebného připojení. Díky statické povaze dat není možné s tímto tagem dohodnout verzi připojení a je tedy nutné, aby aktivní zařízení respektovalo uložené informace (NFC Forum, 2010a).
2.3 Historie 2.3.1
První zmínky o radiofrekvenční technologii
Jako počátek vývoje NFC, popřípadě RFID, by se daly považovat první radarové pokusy. První ucelený návrh, který lze chápat jako předstupeň současné RFID technologie, sestavil v roce 1970 Mario W. Cardullo (Mark Roberti, 2005). Podal patentový návrh s názvem TRANSPONDER APPARATUS AND SYSTEM. Tento patent byl americkým úřadem schválen v roce 1973 (Mario W. Cardullo, 1973). „Ve stejné době se zabývala RFID také americká vláda, která zadala vědcům z laboratoře Los Alamos požadavek na systém pro sledování přepravy nukleárních zbraní. V těchto laboratořích bylo vyvinuto první řešení podobné dnešnímu RFID – na hlídaném nákladu byly umístěny antény s čipem, které při projíždění kontrolních bodů odevzdávaly čtečkám své ID. V současné době fungují stejně veškeré systémy pro kontrolu průjezdu vozidel.“ (Mark Roberti, 2005). 2.3.2
NFC před NFC-Forem
Ještě než bylo NFC konkrétně pojmenováno, paralelně fungovaly dvě bezkontaktní technologie. Sony nazývalo tu svou FeliCa a používala se v aplikačních řešeních hlavně na asijském kontinentu (Consulting, 2004, ANON., 2003b, ANON., 2003a). Starší9 technologie byla označována MIFARE. Jednalo se o produkt nizozemské společnosti Philips Semiconductors. Tato technologie byla nasazena například v pekingské hromadné dopravě (ANON., 2001), v tchaj-pejské hromadné dopravě (ANON., 2000) a pro zaměstnance v londýnské hromadné dopravě (Business Editors/High-Tech Writers, 2002). V roce 2002 oznámily obě společnosti spolupráci při vývoji nové bezkontaktní komunikační technologie na bázi radiových přenosů, která se bude nazývat Near Field Communication a bude umožňovat komunikaci na krátkou vzdálenost. Technologie je
V roce 1998 uvolnil Philips Semiconductors své rozhraní Mifare pro trh a umožnil každému výrobci vyvinout produkty používající tuto bezkontaktní technologii (Anonymous, 1998). 9
14
zpětně kompatibilní se staršími bezkontaktními standardy MIFARE i FeliCa (Sony Corporation, Philips, 2002). 2.3.3
Založení organizace NFC-Forum
Dva roky po definování pojmu NFC , v roce 2004, vzniká organizace za účelem koordinace kroků při implementaci nové technologie (ANON., 2004b). U jejího zrodu stály dvě již zmiňované spolupracující společnosti Philips a Sony, ke kterým se přidala Nokia. Celá koncepce byla pojmenována jako asociace NFC-Forum. NFC-Forum bylo zavedeno jako nezisková organizace a v tomto duchu působí dodnes. (ANON., 2004a). NFC-Forum sdružuje výrobce, vývojáře aplikací a finanční instituce ke společnému cíli - uvedení NFC technologie do životaschopného stavu. V současnosti působí v organizaci více než 170 členských společností (NFC Forum, 2013a). NFC-Forum pro účely kvalitnější interoperability mezi jednotlivýmy prvky NFC ekosystému stanoví NFC specifikace. V červnu roku 2006 nastínila orgnanizace formální architekturu NFC technologie (NFC Forum, 2013a). K 7. listopadu 2012 představila organizace dalších 25 specifikací (NFC Forum, 2013b). Významné z nich jsou popsané v kapitole 2.2.3.
15
3 NFC zařízení Zařízení komunikující pomocí NFC technologie se musí řídit pro účely tohoto typu komunikace standardy popsanými v kapitole 2.2. Nejčastěji jsou zařízení rozdělována podle módu komunikace (viz kapitola 2.2.1), pomocí kterého mohou s okolím komunikovat.
3.1 Aktivní 3.1.1
Přenosné zařízení s podporou NFC technologie
Jedná se o zařízení pro koncového zákazníka, které se používá při NFC komunikaci nejčastěji. Nejběžněji se objevují na trhu mobilní telefony s NFC technologií, podpora NFC se dostává však i do tabletů či notebooků. Pro funkčnost NFC komunikace jsou tato zařízení vybavena NFC čipem, Secure Elementem a indukčním obvodem. Čip NFC čip obstarává převod modulovaných signálů přicházejících z antény do digitálního formátu a poskytuje tato data podle stanovených standardů dalším součástem mobilního telefonu. Pomocí NFC čipu je řízena obsluha zabezpečeného prostoru – secure elementu. Nejčastěji používaný NFC čip vyrábí společnost NXP, výrobní označení je PN544 (NXP B.V., 2010). Ve většině10 telefonů na trhu je umístěn tento čip společně s smartMX11 řadičem, se kterým dovede komunikovat prostřednictvím single wire protokolu. Společně jsou čipy zapouzdřeny do čipu PN65, který vyrábí taktéž nizozemská NXP. Při využití zabezpečeného elementu na SIM kartě obsluhuje NFC pouze vnitřní čip PN544. U některých telefonů je použit pouze PN544, absence zabezpečeného elementu je řešena právě použitím zabezpečeného prostoru na SIM kartě (ANON., 2011).
Mezi první mobilní telefony obsahující tento čip lze zařadit telefon z referenční řady amerického Google – Nexus S. V nejnovější řadě Google Nexus 4 byl zvolen konkurenční čip od Broadcomu 11 SmartMX je řadič obstarávající funkci Secure Elementu, viz dále 10
16
O BRÁZEK 3.1 - D IAGRAM NFC KOMUNIKACE V
TELEFONU
(ANON., 2011)
NXP v únoru 2012 představilo nástupce tohoto čipu – PN573. Aktuálně nejsou dostupné žádné informace o zařízeních používajících PN573 . Na trhu je dostupný také NFC řadič od společnosti Texas Instruments - TRF7970A, ten ale neobsahuje vlastní zapezpečený element a nedovede využít ani zabezpečený čip na sim kartě (Balaban, 2011). Nově přicházející přístroje vstupují na trh s novými čipy jiných výrobců mikročipů, svoje vlastní NFC řešení představil Broadcomm (Google Nexus 4 a 10), dalším hráčem na poli NFC čipů se stává Inside Secure (BlackBerry Z10) (iFixit, 2013a). Secure Element (SE) Důležitou součástí vybavení NFC přístroje je existence zabezpečeného prostoru, využívá se zejména v aplikacích vyžadujících autentizaci uživatele, které jsou popsány v další kapitole. K realizaci tohoto zabezpečeného prostoru je možné využít následující varianty:
Čip na základní desce telefonu, většinou je přímo součástí NFC čipu, kterým je propojený prostřednictvím NFC-WI rozhraní12
NFC-WI je rozhraní, komunikující po dvou cestách SIGIN a SIGOUT, označované také jako S2C. Rozhraní standardizováno ve specifikaci ECMA-373 (Ecma-international, 2012). 12
17
Uložení dat na SIM kartě, se kterou komunikuje NFC čip v telefonu prostřednictvím Single Wire protokolu13
V externí MicroSD kartě
První dvě varianty jsou nasazovány v současných telefonech. Při tvorbě projektu využívajícím kryptograficky šifrovaná data v SE je nutné volit mezi jednou variantou. Z důvodu bezpečnosti je přístup do SE poskytován za velmi přísných podmínek. Tyto podmínky stanoví výrobce nebo vlastník práv k zařízení obsahující SE. Pro zprostředkování dohod mezi těmito subjekty14 a zájemci o provozování NFC projektů figuruje v celém ekosystému ještě certifikační autorita – Trusted Service Manager (TSM)15. Instrukce a data umístěná v tomto prostoru nelze volat pomocí příkazů vně NFC čipu. Indukční obvod K přenosu a příjmu signálů se v NFC telefonech používá indukční obvod16 umístěný poblíž krytu telefonu. Indukční obvod musí být dostatečně velký, aby dovedl naindukovat potřebné množství energie pro komunikaci s pasivním NFC zařízením. Výrobci mobilních telefonů volí různé varianty umístění (viz tabulka 3.1) a podle nich se liší i možné čtecí vzdálenosti a komfort načítání pasivních NFC tagů.
Single Wire protokol je specifikace pro přímou komunikaci SIM karty a NFC čipu v telefonu (ANON., 2013d). 14 Pokud je SE v telefonu jsou jimi výrobci telefonů a nebo v případě SIM karet vlastní přístupy operátoři. 15 Tyto autority jsou většinou obrovské nadnárodní korporace, zájemce o využití SE z lokálního projektu nemá v současnosti příliš mnoho šancí požadavky TSM plnit a dostat možnost práce se SE v telefonu. Nedostupnost možné dohody s těmito autoritami je často předkládána jako největší problém při vývoji nových NFC-ready ekosystémů. Vývojáři musí řešit autorizaci uživatele pomocí náhradních a často kompromisních řešení. 16 Dá se přirovnat anténě, ale z konstrukční podstaty není správné jej nazývat anténou. 13
18
Název přístroje Strana zadní zadní zadní
Umístění obvodu Poloha střed horní část nad fotoaparátem pravá spodní část
Umístění odnímatelný kryt tělo telefonu tělo telefonu
zadní
střed
baterie
zadní zadní
horní polovina střed kolem fotoaparátu
LG Nexus 4
zadní
střed
Asus Padfone
zadní zadní i přední
spodní polovina, střed zadní: horní polovina, střed přední: --
odnímatelný kryt odnímatelný kryt odnímatelný kryt, kolem obvodu na indukční nabíjení v logu telefonu odnímatelný kryt, nad fotoaparátem
Samsung Nexus S Nokia 700 Sony Xperia Sola Samsung Galaxy Nexus Nexus 7 HTC One
Nexus 10
TABULKA 3.1 - UMÍSTĚNÍ INDUKČNÍHO OBVODU VE VYBRANÝCH PŘÍSTROJÍCH . Z DROJ (VLASTNÍ TVORBA ), ZDROJ DAT ( IF IXIT, 2013 B )
Při umístění indukčního obvodu na baterii musí výrobce tento obvod odstínit pomocí feritového podkladu. Spojení obvodu a NFC čipu v případě odnímatelného krytu je řešeno prostřednictvím kontaktních plýšků na obou stranách spoje. 3.1.2
NFC čtečka
Jednoúčelové zařízení s jasně vyznačeným prostorem pro bezkontaktní komunikaci se nazývá NFC čtečka. Přes USB port nebo sériový port je připojována do počítače s ovládacím softwarem. Pomocí NFC čtečky lze data z NFC zařízení číst anebo data pomocí NFC odesílat. Vzhled a propojení k USB portu se liší podle výrobce. Společnost Advanced Card Systems poskytuje například širokou paletu výrobků, od základních čteček jako samostatného prvku s drátovým připojením, po USB dongly, které je možné připojit i k zařízením s operačním systémem Android (Advanced Card Systems, 2013). K vývoji programů pro NFC čtečky slouží vývojový software, každý výrobce NFC čteček dodává alespoň jednu variantu. Další možností pro vývojáře je například použití pluginu do vývojového prostředí Eclipse (Skjolberg, 2013). 3.1.3
NFC terminál
Platební terminál vybavený bezkontaktním rozhraním pro komunikaci s NFC čipem v telefonu se označuje také jako NFC terminál. Prostor pro přiložení bezkontaktního platebního nástroje je většinou označen značkou možnosti bezkontaktní platby a eventuelně logy vydavatelů karet, které jsou terminálem akceptovány. 19
O BRÁZEK 3.2 - UNIVERZÁLNÍ SYMBOL BEZKONTAKTNÍ PLATBY
Instrukce o platbě jsou zákazníkovi zobrazovány na displeji terminálu a nebo na displeji v telefonu. Varianty implementace NFC platebního ekosystému k těmto možnostem přistupují individuálně, některá využije obě možnosti, jiná s displejem telefonu neinteraguje. Bezkontaktní platební karty fungují na stejné frekvenci jako NFC technologie (Smart Card Alliance, 2013) a terminály vybavené podporou bezkontaktních platebních karet jsou tedy hardwarově17 schopné podporovat i NFC platby pomocí mobilních telefonů. 3.1.4
Doplňky rozšiřující zařízení o podporu NFC
Na trh se s rozšiřující popularitou NFC technologie dostává příslušenství, které doplňuje funkci NFC do telefonů bez podpory této technologie. Existuje mnoho takových doplňků hlavně pro produkty americké společnosti Apple18. Jednou variantou, jak dodat podporu NFC do těchto přístrojů, je vložení telefonu do NFC rámečku. Ten je připojen do systémového konektoru a obepíná telefon jako mnoho ostatních pasivních krytů. V zadní části tohoto krytu bývá umístěn indukční obvod, který komunikuje s čipem taktéž umístěným v tomto rámečku. Pomocí systémového konektoru komunikuje čip se speciálně vyvinutou aplikací instalovanou v telefonu. NFC rámeček se používá i v tuzemských platebních projektech, viz kapitola 4.2.1. Výrobcem NFC rámečků je například americká společnost Wirelles Dynamic prodávající tyto doplňky pro iPhone 4,4S a 5 pod názvem iCarte (Wireless Dynamics Inc., 2013).
Softwarově záleží na každém výrobci terminálů, americká společnost VeriFone například deklaruje, že všechny nově vyráběné terminály podporují NFC platby dle všech NFC standardů (Nitzan Tal, 2012). 18 Poslední 2 generace iPhonů se vždy před uvedením spekuluje, zda-li Apple do nově představeného telefonu NFC technologii umístí. Dá se říct, že absence NFC čipu v těchto produktech je brzdou masového rozvoje NFC. 17
20
Druhá možnost je použitelná i pro tablety tohoto výrobce. NFC čip i indukční obvod se připojuje do sluchátkového konektoru v zařízení. Ke správné funkci je potřeba mít také nainstalovanou aplikaci. Výrobcem NFC dongle do 3,5mm jacku je například americký startup Flomio. Jeho produkt se nazývá FloJack a pro financování tohoto projektu využila společnost služeb platformy pro financování začínajících projektů Kickstarter19 (Flomio, 2012). Stejnou možnost připojení rozšiřujícího NFC doplňku do sluchátkového konektoru využívá i společnost Square ve stejnojmenném platebním ekosystému. K tomuto rozšíření dodává společnost celé řešení na klíč a akceptovat bezkontaktní platby lze pouze pomocí iPhone, iPadu nebo i Android telefonů. 3.1.5
NFC příslušenství
NFC technologie je vhodná pro párování NFC telefonů s příslušenstvím. Pro spárování se použije dotyk telefonu s vyznačeným místem na příslušenství a po spárování již probíhá komunikace prostřednictvím jiných komunikačních technologií – nejčastěji Bluetooth, či wi-fi. Takovým NFC příslušenstvím mohou být například přenosné reproduktory, které přijímají hudbu přes Bluetooth profil A2DP20, a pro spárování telefonu s reproduktory je možné využít NFC. Na stejném principu fungují aktuálně prodávané NFC klávesnice, přenosná klávesnice vhodná pro psaní delších textů na mobilních telefonech nebo tabletech. Klávesnice komunikuje s přenosným zařízením pomocí Bluetooth; pro spárování je možno využít NFC přenos. Sdílení úderů do kláves pouze prostřednictvím NFC technologie představila ve své NFC klávesnici norská společnost One2Touch. Pro spárování, ale i psaní na klávesnici je používána pouze technologie NFC, mobilní telefon nebo tablet musí být tedy po celou dobu psaní přiložený uprostřed klávesnice, kde se nachází indukční obvod. Klávesnici napájí malé hodinové baterie a je dodávána v silikonovém provedení. Pro správnou
Flomio požadovalo 80 000 dolarů pro úspěšné spuštění projektu, od spuštění 24. října se do deklarované deadline 24. listopadu rozhodlo investovat do projektu 447 osob, celkem bylo vybráno 96 145 dolarů. Flomio začalo rozesílat hotový FloJack v březnu 2013 (Flomio, 2012). 20 Advanced Audio Distribution Profile – bluetooth profil pro bezdrátový stream hudby 19
21
komunikaci s operačním systémem Android je nutné stáhnout aplikaci z Google Play21 (One2touch, 2012). Párovací schopnosti NFC technologie využívají výrobci také v handsfree sluchátkách, kdy jsou zařízení spárována dotykem. Přenos zvuku a ovládacích příkazů probíhá pomocí Bluetooth. 3.1.6
Ostatní
V přehledu jsou NFC tagy zařazeny do pasivních prvků, na trhu je ale dostupná i varianta NFC tagu s vlastní baterií a NFC čipem. Jedná se o speciální projekt s názvem Poken a tagy použité v tomto projektu jsou PokenTagy. Pro úsporu energie jsou PokenTagy vypínatelné. Zapnutí probíhá přiložením NFC telefonu. Tag obsahuje diodu indikující stav. PokenTagy mají také vlastní paměť pro uložení identifikátorů o načítání, které lze následně pomocí mobilního telefonu vyčíst. Načítat informace z PokenTagů mohou totiž uživatelé i v offline režimu ať do mobilu nebo do speciálního NFC USB donglu – Pokenu, který zobrazí data po připojení do USB počítače (Poken, 2012).
3.2 Pasivní 3.2.1
NFC tag
NFC tagy jsou nejpoužívanějším zástupcem pasivních NFC zařízení. Každý NFC tag obsahuje čip, ve kterém je uchovávána informace o modulaci signálu podle NFC standardů popsaných v kapitole 2.2. Druhou částí22 NFC tagu je indukční obvod sloužící k příjmu signálu z aktivního zařízení a odesílání modulace tohoto signálu zpět. NFC tag je nosič velmi malého množství informací, obvod včetně indukčního obvodu může být vyroben v milimetrově tenkém provedení. Běžné kapacity se pohybují v řádu desítek, či stovek bajtů, u pokročilejších čipů je možnost uložení kilobajtových objemů dat, velikosti pamětí a další parametry jednotlivých čipů jsou shrnuty v tabulce 3.2. Čip Hlavní částí čipu v pasivním NFC tagu je EEPROM paměť, ve které je v jednotlivých blocích uchována informace. Pro převod dat z EEPROM paměti do modulovaného
Google Play je virtuální distribuční kanál mobilních aplikací pro operační systém Android provozovaný společností Google 22 Spojení čipu a indukčního obvodu je nejnáchylnější částí NFC tagů, při ohybu je možné nekvalitně provedený spoj porušit. 21
22
signálu je v čipu obsažené radiofrekveční rozhraní. Čip obsahuje ještě digitální řídící jednotku (Gallo, 2011). NFC fórum stanoví čtyři platformy NFC čipů, pro které vydalo specifikace, jak by mělo NFC zařízení komunikovat s NFC tagem spadajícím pod definici typu platformy. Podle NFC Forum typů jsou NFC čipy rozdělovány do skupin:
NFC Forum Tag typu 1: řídí se specifikací ISO14443-A, používá jednoduchý model statické paměti a její uživatelsky přístupná23 velikost může být od 96 bajtů do 2 kilobajtů. Čip může být jednoduše24 překonfigurován do read-only módu. Jako zástupce tohoto typu lze jmenovat tag Innovision25 Topaz.
NFC Forum Tag typu 2: technologie komunikace tohoto tagu je specifikována v ISO14443-A. Mezi zástupce se řadí čipy společnosti NXP. Čip může být překonfigurován do read-only módu stejně jako u typu 1. V současnosti se jedná o nejpoužívanější čipy v NFC tazích.
NFC Forum Tag typu 3: pod tuto specifikaci spadají čipy specifikované japonským standardem JIS X 6319-4 – známější pod označením FeliCa. Oproti ostatním NFC čipům obsahuje řazení bloků do skupin, které nazývá standard služby, bloky nelze volat přímo, ale pouze skrz službu, ke které patří. Služby jsou volány speciálním kódem, který musí být unikátní v každém tagu typu 3. Každý tag obsahuje řídící data, která se nazývají systémové informace a obsahují údaje o výrobci, definici systému a službách.
NFC Forum Tag typu 4: čipy spadající do této platformy obsahují variabilní souborový systém. Hlavní výhody použitého souborového systému jsou možnost využít kontrolní součty pro integritu dat a vestavěné šifrovací mechanismy pro zabezpečení uložených dat (NXP Semiconductors, 2013). Zástupci jsou dva čipy společnosti NXP – DESFire a SmartMX-JCOP. Druhý zmiňovaný čip může jako jediný z dostupných čipů obsahovat aktivní26 obsah (NXP Semiconductors, 2009).
Velikost paměti se u NFC tagů od uživatelsky přístupné mírně liší – část paměti je pevně obsazena systémovými daty jako jsou instrukce, použité kódování a další. 24 Většina dostupných aplikací pro mobilní zařízení s podporou NFC umožňuje převedení NFC čipu do read-only módu a tedy uzamčení proti změnám 25 Innovision Research & Technology je dceřinnou společností gigantu Broadcom. Orientuje se na vývoj radiofrekvenčních integrovaných obvodů se zaměřením na RFID a NFC (Businessweek, 2013). 26 Obsah uložený na tomto tagu může být modifikován po přiložení jiného zařízení, které na rozdíl od ostatních tagů ale nemusí být aktivní. NFC tag tohoto typu je většinou postavený na technologii Java 23
23
Mimo platformy čipů stanovené NFC fórem se objevují na trhu ještě další čipy, které využívají ke komunikaci stejné specifikace. Některé NFC zařízení s nimi mohou navázat komunikaci, jedná se ale například o zařízení používající pouze NFC čip konkrétního výrobce27. Nejznámějšími čipy, často využívanými, ale nesplňujícím ani jednu NFC tag Type platform specifikaci, je řada čipů NXP MIFARE Classic.
Produkt
NFC platforma
Uživ. paměť
Cena28
Šifrování
Innovision Topaz NXP Ultralight NXP NTAG203 NXP Ultralight C Sony FeliCa
Type 1
96 B
20 – 30 Kč
Ne
Síla signálu29 -
Type 2
48 B
20 – 30 Kč
Ne
7
Type 2
137 B
20 – 30 Kč
Ne
9
Type 2
144 B
30 – 45 Kč
3DES
4
Type 3
1,4,9 kB
80 – 100 Kč
AES
-
NXP DESFire NXP SmartMX NXP Mifare Classic
Type 4
4 kB
45 – 60 Kč
-
Type 4
32 kB
nezjištěno
DES, TDES30 pokročilé31
Type Mifare Classic tag32
768 B/3584 B
35 – 60 Kč
Crypto-1
6
-
TABULKA 3.2 - P ARAMETRY ČIPŮ POUŽÍVANÝCH V NFC TAZÍCH (R APID NFC, 2013 B ; M C LAUGHLIN , 2009; NXP S EMICONDUCTORS , 2009; J APANTODAY , 2011)
Indukční obvod Pro naindukování potřebné energie je používán hliníkový a nebo měděný obvod připojený k čipu. Hliník je používán u většiny NFC tagů pro svou cenovou nenáročnost, měď má lepší indukční vlastnosti, je proto využívána v tazích menší velikosti, kde je potřeba na malém prostoru naindukovat větší množství energie (RapidNFC, 2013a).
karty a dovede modifikovat obsah uložený v NDEF formátu pomocí vestavěného počítadla, kdy při každém načtení tagu je počítalo zvýšeno o jednotku (NXP Semiconductors, 2009). 27 Zmiňované čipy NXP MIFARE Classic není možné například ovládat pomocí mobilních zařízení Blackberry – jako důvody jsou uváděny použití vlastního šifrovacího algoritmu a zvláštní požadavky na udělování licencí (BlackBerry, 2013). 28 Orientační cena pro koncového uživatele (zdroj: vlastní výzkum) 29 Speciální metrika britského prodejce NFC tagů, měřenou pouze u nejpoužívanějších NFC tagů 30 Minimálně u všech DESFire produktů, v některých modelových řadách je navíc použito 3KTDES a AES 31 Obsahuje celou knihovnu šifrovacích přístupů 32 NXP Specific Platforma
24
Tloušťka indukčního obvodu je dána pouze dostupnými konstrukčními postupy a pohybuje se v řádu desetin milimetrů, plochu indukčního obvodu je potřeba ale zachovat v řádech centimetrů. Provedení NFC tagů Velikost současných čipů zřídka přesahuje jeden milimetr a oproti indukčnímu čipu se jedná o mizivé procento jeho velikosti. Tvar a velikost NFC tagu33 určuje hlavně provedení indukčního obvodu. Sklo, plast a papír odstíní komunikační vlastnosti NFC tagu minimálně a v přijatelném množství použitého materiálu je signál průchozí bez problému. Tato vlastnost umožňuje nepřeberné možnosti ve výrobě tvarů a umístění NFC tagů. V následujícím přehledu se pokusím představit ty nejpoužívanější formy NFC tagů:
NFC štítek: kulatý, obdélníkový nebo čtvercový tvar. Indukční obvod a čip jsou naleptány do fólie. Nejčasteji je fólie z jedné strany laminovaná z druhé obsahující lepivou vrstvu. Přidáváním dalších vrchních vrstev lze štítky potisknout, polepit, umístit pod plakát, do pivního tácku a dalších reklamních předmětů.
NFC přívěšek: indukční obvod a tag jsou zalité do jednolitého plastového výlisku různých tvarů, barev a provedení.
NFC
náramek:
prvky
NFC
obvodu
jsou
zality
do
plastového/silikonového/papírového obalu a dodávány ve tvaru náramku na ruku
NFC disk: NFC obvod zalitý v plastovém kulatém výlisku, často s otvorem pro přichycení šroubem k podkladu. Používá se při průmyslové identifikaci nebo při vkládání NFC obvodu do textílie.
Kovový podklad omezí možnost indukovat signál a pro umístění tagů na podklad z vodivého materiálu je potřeba NFC obvod podlepovat odstíněnou feritovou vrstvou. 3.2.2
Ostatní
Do kategorie NFC tagů spadá většina pasivních NFC výrobků, v této sekci představím pouze prvek, který přidává k základnímu NFC tagu funkcionalitu navíc. NFC zařízení od společnost Gema Touch je ostatních pasivních prvků vyjímečné možností interaktivity. Jedná se totiž o pět samostatných NFC čipů umístěných
Názvem NFC tag je všeobecně nazýván každý pasivní NFC prvek, který nemusí splňovat podmínky definice slova tag (Farlex, 2013). Jedná se například o NFC náramky, NFC visačky a další. 33
25
v jednom tagu. V každém čipu může být nahraný odlišný obsah a po přiložení mobilního přístroje s podporou NFC je možnost zvolit obsah čipu, který bude načten (Gema Touch, 2013). Tato volba probíhá prostřednictvím mikrospínačů, které přivedou na daný čip indukované napětí po stisknutí příslušného bodu na tomto kombinovaném NFC tagu.
4 Použití NFC V této kapitole představím možnosti použití NFC a zařízení využívajících tuto technologii. Zaměřím se také na současný stav trhů jednotlivých aplikačních oblastí a na budoucí vývoj těchto oblastí. Následující část je rozdělena podle tří hlavních možností použití technologie, v některých komplexních projektech se mohou ale prolínat či doplňovat.
4.1 Distributor dat NFC zařízení je využito jako distributor informace, která múže být různé povahy. Jako úložiště informace se nejčastěji používají pasivní NFC tagy, ale objevují se i případy využití aktivní NFC čtečky, jejíž činnost může být programována a oproti NFC tagům může interagovat na základě různých podnětů. Informace distribuovaná tímto způsobem musí být kvůli kapacitním a rychlostním omezením technologie datově nenáročná. Je při komunikaci zabalena do NDEF formátu a je zaručeno její rozpoznání každým zařízením splňujícím specifikace NFC Forum. Následuje rozdělení distribuované informace podle metody zpracování v cílovém zařízení. 4.1.1
URI adresa http
Jako sekundární distributor je velmi často využito internetové připojení cílového zařízení. Pomocí NFC se v tomto případě přenáší pouze URI34 adresa typu http, která směřuje na obsah adresovatelný v síti internet.
Uniform Resource Identifier. Obecně použitelná množina všech jmen/adres, které se vztahují k nějakému zdroji (Gála, 2006). 34
26
Za hlavní výhodu tohoto řešení lze považovat multiplatformost předávaného sdělení – každý mobilní operační systém dovede touto cestou předanou adresu otevřít ve svém prohlížeči. Někteří vývojáři implementují do svých mobilních aplikací možnost otevírat adresy pomocí vlastní aplikace namísto prohlížeče.35 Tato vlastnost funguje i v případě detekování známé adresy přijaté z NFC komunikace. Aplikace využívající tuto funkcionalitu jsou například Google Mapy, Youtube, Obchod Play, Google+, Twitter, Facebook, Foursquare a další. Touto metodou je řešena většina současných marketingových kampaní ve světě. Předávání internetové adresy využívá systém vzdálené správy NFC tagů, jehož realizace je popsána v následujících kapitolách. 4.1.2
Ostatní URI adresy
Informace distribuované pomocí NFC můžou obsahovat i URI adresu, která nevyužívá internetové připojení zařízení. Jedná se například o možnosti vyvolat telefonní číslo („tel:“), umístění pozice na mapě pomocí souřadnic („geo:“). Stejně jako v prvním případě je možné vyvolat použitím vlastního identifikátoru aplikaci nainstalovanou v telefonu. Tyto možnosti nejsou vzhledem k absenci monitorování statistik načtení v marketingové oblasti příliš vhodné používat. Velký potenciál NFC technologie lze shledat možnosti zapsat GPS souřadnice do NFC tagů – vhodné pro pořádání geolokačních soutěží, či přesné navigace zákazníka na místo určení. 4.1.3
Data zpracovaná nainstalovanou aplikací
Vývojář může využít také interakce aplikace s reálným prostředím pomocí kódu načítaného pomocí NFC technologie. Kód je většinou kvůli kompatibilitě mezi zařízeními obalen NDEF formátem, ale další struktura není pevně daná. Na trhu se objevují nejčastěji aplikace umožňující spouštění a přepínání systémových nastavení mobilního zařízení. V NFC tagu je nahrán identifikátor daného profilu36. Pro
V operačním systému Android je předávání požadavků mezi komponentami vyvoláváno pomocí asynchroních zpráv, které se nazývají intendy (Vogel, 2013). 36 Profilů může být více a činnost jednotlivých profilů je uložena v paměti aplikace, nikoli v samotném NFC tagu. 35
27
tyto aplikace se začalo používat pojmenování Task launchery - podle nejpopulárnější aplikace tohoto typu od amerického startupu Tagstand. Své aplikace určené pro spouštění akcí pomocí NFC tagů představily taky výrobci telefonů. Své vlastní tagy prodává Sony, Samsung a LG. Díky interakci s aplikací v mobilním zařízení jsou možnosti omezeny jen schopnostmi programátora, oproti tomu lze shledat jako velkou nevýhodu tohoto použití nutnost nainstalované aplikace v zařízení. 4.1.4
Specifické formáty dat
Jedním ze speciálních obsahů, které lze nahrát do kapacitně dostačujících37 NFC tagů, je i soubor vizitky kontaktu. Nejčastěji ve formátu vCard. Ideální použití tohoto formátu je v NFC tagu umístěném ve standardní papírové vizitce. 4.1.5
Příklady realizovaných projektů
Reklama v tištěném médiu Do tištěného média je umístěn NFC tag, který odkazuje na doplňující reklamní obsah. NFC tag může být vlisován do požadované stránky a nebo přímo přelepen nad určeným místem. V této oblasti je realizováno velmi málo projektů, hlavní nevýhodou pro použití NFC tagů v tištěných médiích, které vychází ve velkých nákladech, je cena NFC tagů. Prvním průkopníkem při umístění NFC tagů do časopisu byla automobilka Lexus. Ta ve své reklamě v technologickém časopisu Wired používá NFC tag k odkázání uživatele na video s propagací multimediálního systému svých nových vozů. (Náprstek, 2012b) NFC tag jako doplněk outdoorové kampaně Vlastností NFC technologie jako nosiče informace je využíváno také při obohacení reklamních materiálů o interaktivní prvek. Celosvětově jsou podobné projekty využívány nejčastěji, ale i přes to zaručí použití tohoto nosiče v kampani velkou pozornost odborných médií. Britský reklamní gigant Clear Channel například umístil na 10 000 reklamních panelů prvek obsahující NFC tag a QR kód. Zájemcům o reklamu tak umožňuje využít i
Vizitka se jménem kontaktu a telefonním číslem zabírá přibližně 130 bajtů, při potřebě uložit obrázek nedostačuje ani tag Mifare Classic 1K, je nutné použít 4K. 37
28
prostor v těchto datových nosičích. (Sarah Clark, 2013b) Jako první využily služby interaktivních poutačů kampaně společnosti KFC, nový film Trance a nebo muzikál Bodyguard. (Sarah Clark, 2013a) Doplnění reklamních nosičů o nálepku s NFC tagem a QR kódem bylo představeno také v USA, kde reklamní provozovatel Eye spojil své síly s NFC specialisty Zappit. Je využívána nová generace reklamní platformy Amplify, která pracuje mimo jiné s NFC tagy a QR kódy. (Ryan Boden, 2013) Australský startup Tapit se specializuje přímo na NFC marketing a podařilo se mu realizovat již více outdoorových NFC kampaní. Jako nejnovější lze jmenovat kampaň pro novou Xbox hru Halo. (Andrew Davis, 2012) Informační bod Praktickým využitím NFC technologie může být umístění NFC tagů na určitý bod zájmu, kdy uživatelé mohou po načtení obsahu získat doplňující informace o konkrétním místě, akci, situaci. Takovéto projekty jsou realizované na lokální úrovni a slouží často ke zviditelnění lokality, či poskytovatele této služby. NFC tagy jsou umísťovány na nástupní místa hromadných dopravních prostředků. Uživatelé si mohou načítat do svých telefonů informace o jídních řádech, očekávané příjezdy dopravního prostředku, popřípadě další doplňující informace. Tyto možnosti mohou využít například cestující v Madridu, kde bylo doplněno 500 autobusových zastávek o NFC tagy. (Karl Dyer, 2013) V České republice funguje tato služba v Plzni, kde bylo v první fázi projektu rozmístěno 21 iTagů – samolepek s QR kódem a NFC tagem. (Plzeňské dopravní podniky, 2012) Často jsou informace pomocí NFC tagů distribuovány v turisticky atraktivních lokalitách. NFC tag je umístěný poblíž zájmového místa a po načtení je návštěvník přesměrován na multimediální web s podrobnějšími informacemi o konkrétním místě. Turisté se s projekty setkají například v australském Sydney – zde jsou NFC tagy rozlepené po historické oblasti The Rocks, projekt má na starosti již zmiňovaný Tapit.(Sarah Clark, 2012) V Česku je využito NFC tagů v Děčíně, kde jsou rozlepeny NFC nálepky u sedmi zájmových míst. (Oddělení cestovního ruchu města Děčín, 2011)
29
Multimediální průvodce Multimediální průvodce může být realizován pomocí aplikace instalované v mobilním telefonu nebo pomocí přesměrování na webovou prezentaci konkrétního místa. Druhý zmiňovaný princip využití NFC technologie je stejný jako v kapitole informační bod. Multimediální
průvodce
implementující
NFC
tagy
komunikující
s
aplikací
nainstalovanou v telefonu poskytuje vývojáři širokou škálu možností jak s NFC tagy interagovat. Většinou je v NFC tagu uložen identifikátor konkrétního místa a po načtení tohoto identifikátoru je předáván ke zpracování do mobilní aplikace, která vyhodnotí polohu návštěvníka a poskytne požadovanou interakci. Jako výhodu lze shledat absenci potřeby internetového připojení k funkci průvodce. Nevýhodou tohoto řešení je nutnost nainstalované aplikace v zařízení návštěvníka. Multimediální průvodce komunikující prostřednictvím NFC technologie byl například představený v pelhřimovském muzeu, jmenuje se Muzeum4U a na jeho realizaci spolupracoval kraj Vysočina s taiwanským institutem pro informační průmysl. Aplikaci lze nainstalovat na mobilní telefony s operačním systémem android a poskytuje návštěvníkovi informace o exponátu, u kterého se nachází, ale i údaje o muzeu (Náprstek, 2011). 4.1.6
Budoucí vývoj
V budoucnu by se v kategorii distribuce a ukládání dat pomocí NFC technologie měly rozdíly mezi jednotlivými řešeními stírat, dá se předpokládat, že se vzrůstajícím zájmem o interakci pomocí NFC technologie bude přibývat možností, jak propojit aplikace nebo přímo webové odkazy se spouštěním systémových procesů.
4.2 Platební nástroj Nejdiskutovanějším tématem okolo NFC technologie jsou bezesporu bezkontaktní platby. Jejich hnacím motorem jsou bezkontaktní karty, které vydává většina bankovních domů. Díky shodným specifikacím lze využít pro bezkontaktní platby i NFC telefony obsahující aplikaci emulující jednu nebo více platebních karet. Citlivá data o emulované platební kartě jsou uložena v Secure Elementu. Aktuálně je na poli NFC plateb dostupných mnoho pilotních, nebo již zaběhnutých projektů. Svou aplikaci pro správu karet v mobilním telefonu provozují dva největší 30
vydavatelé karet – Mastercard a Visa. Situace kolem přístupu do Secure Elementu je ale pro mnohé zájemce o využívání tohoto zabezpečeného prvku velmi komplikovaná. Silní hráči na trhu, jako jsou mobilní operátoři, volí variantu se Secure Elementem na SIM kartě, díky které se mohou i oni stát hráči na rozvíjejícím se trhu mobilních plateb. K NFC platbám je využíván platební terminál s podporou NFC technologie, který je popsán v kapitole 3.1.3. 4.2.1
Příklady realizovaných projektů
Mobilní platby Ve spojených státech provozuje největší platební projekt společnost Google. Její platební aplikace Google Wallet využívá integrovaný Secure Element a není tak potřeba podpory ze strany mobilního operátora. Mediálně velmi známým projektem se staly pilotní platby společnosti Visa při příležitosti letních olympijských her v Londýně. Projekt využíval zabezpečeného elementu na SIM kartě, které dodalo britské O2. (Dan Balaban, 2013) V České republice provozuje mobilní platby pomocí NFC telefonu Komerční banka ve spolupráci s Telefonicou O2. Motivací pro zájemce o vyzkoušení mobilních plateb je vstupní příspěvek 250 korun. Projekt využívá Secure Element na SIM kartě, zákazníci pro aktivaci služby musí vyměnit svou stávající SIM kartu za SIM kartu s podporou ukládání kryptovaných informací. Mobilní platby v tomto projektu využívají pouze SIM karty operátora O2. Komerčnímu nasazení pro mobilní telefony s operačním systémem Android přecházelo představení varianty pro iPhone, ve které se využívalo NFC rámečku iCarte jako přídavného NFC čipu a indukčního obvodu. V současnosti podporuje platby pět mobilních telefonů s operačním systémem Android a již zmiňovaný iPhone. (Komerční banka, 2012) Na trhu je dostupné také řešení mobilních plateb od banky Ge Money Bank, která spojila své síly se stejným partnerem jako komerční banka. Platební řešení od Ge Money Bank je téměř totožné s mobilními platbami od Komerční Banky. Zákaznící nedostávají oproti konkureční bance vstupní příspěvek. Ge Money Bank se snaží NFC technologii propagovat i mimo oblast mobilního placení. Spustila informační portál inovujeme.cz, kde informuje o možnostech NFC, či pořádá soutěž o nejlepší NFC projekt. (GE Money, 2013) 31
Obě platební řešení používají rozlišení plateb pro nadlimitní a podlimitní hodnotu objednávky, kde je jako hranice stanovená částka 500 Kč. Po překročení této částky je zákazník povinný zadávat PIN na displeji telefonu. Při podlimitní platbě je tato možnost defaultně vypnuta, v nastavení lze zapnout. K platbám pomocí obou projektů musí mít zákazník nainstalovanou aplikaci O2 Wallet, která zobrazuje doplňkové informace o kartě v mobilním telefonu. Bezkontaktní nálepky Vedle bezkontaktních platebních karet se objevují ještě bezkontaktní nálepky, které umožňují platbu na rozdíl od karet pouze přiložením, jsou menší nez klasické platební karty a jedna strana obsahuje lepivou vrstvu. Tyto bezkontakní nálepky jsou často využívány jako mezistupeň mezi placením pomocí platební karty a telefonu – vydavatelé často nabádají uživatele k nalepení bezkontaktní nálepky na zadní část mobilního telefonu. V České republice bylo podobné promo realizováno společností MasterCard na Open Air Festivalu 2012, kde bylo na vybraných místech možné platit předplacenou bezkontaktní nálepkou a majitelé těchto nálepek mohli využít různých VIP výhod. (Náprstek, 2012a) Předplacené bezkontaktní nálepky nejsou mimo podobných promo akcí v České republice k sehnání, možnost využít platební kartu jako bezkontaktní nálepku nabízí Ge Money Bank. (GE Money, 2013)
4.3 Identifikace Oblast použití NFC technologie, ve které je aktuálně nejméně realizovaných projektů, je poslední částí využití NFC komunikace. NFC zařízení slouží v tomto případě k identifikaci uživatele a autorizaci činnosti uživatele na základě přiřazených přístupových práv. S identifikací pomocí NFC technologie se nejvíce setkáváme v kontextu s přístupovými systémy nebo systémy pro kontrolu docházky subjektů. Přístupový systém je většinou systém otevírání dveří napojený na čtečku umístěnou v dosahu uživatele. Po přiložení mobilního zařízení s podporou NFC nebo volitelně NFC čipu spíná čtečka zámek a odemyká dveře. Implementace otevírání dveří pomocí NFC technologie je komplikovaná pro většinu vývojářů kvůli obtížnému vstupu do Secure Elementu. Subjekty implementující toto 32
řešení nemají vyjednávací sílu jako banky nebo operátoři a dohodu s Trust Service Managerem je téměř nemožné ujednat. V budoucnu se očekává nástup autority, která bude k těmto projektům vstřícnější a umožní tak využití autorizačních funkcí NFC technologie i menším projektům. Vývojáři identifikačních systémů na bázi NFC musí řešit implementaci pomocí jiných metod pro autentizaci uživatele. Těmi může být ověření uživatele pomocí peer-to-peer spojení se čtečkou, nebo s vzdáleným serverem. 4.3.1
Dostupná identifikační řešení
Na trhu se objevují pilotní projekty využívající NFC technologii k indentifikaci uživatele v různých formách. Většinou se jedná o odemykání hotelových pokojů pomocí NFC technologie v telefonech nebo jiných zařízeních. Firmy experimentují také s odemykáním vstupů do panelových domů. Identifikace pomocí NFC technologie je využívána také jako docházkový systém. Identifikace v hotelových komplexech Nejčastěji bývají tyto piloty spouštěny v rámci významných technolgických konferencí, tak tomu bylo i v Barceloně, kde společnost VingCard Elsafe poskytla NFC řešení umožňující zaměstnancům Mobile World Congress 2013 použít telefony Sony Xperia T k přístupu do hotelových pokojů. (Mike Clark, 2013) Jako další projekt lze jmenovat například pilot fungující od listopadu po čtyři měsíce ve stockholmském hotelu Clarion. Vybraní hosté dostávají NFC telefon Samsung s přednahranou aplikací. Potvrzení rezervace dostávají hosté na mobilní telefon. Checkin na hotelu mohou hosté provést ještě před příjezdem. Při check-inu je do mobilního telefonu stažen přístupový klíč k pokoji. Po příjezdu na hotel je klientům umožněno odemknout příslušný hotelový pokoj pouze přiložením mobilního telefonu. Při konci pobytu probíhá analogicky odhlášení z pokoje (Clarion Hotel Stockholm, b.r.). Odemykání domů Odemykání domů pomocí RFID identifikátorů funguje již několik let. V České republice je vývojářem přístupových systémů Institut Mikroelektronických Aplikací (IMA). Tato společnost dodává na trh přístupový systém Patron-Pro, který umožňuje napojení funkcionality NFC technologie na stávající přístupový systém. Do mobilních
33
telefonů s operačním systémem android je nahrána jednoduchá aplikace sloužící k ovládání vstupních dveří. (IMA s.r.o., 2013) Docházkový systém NFC telefon v tomto případě slouží jako docházkový terminál. Monitorovaný pracovník obchází požadovaná místa vybavená NFC tagem a k těmto místům přikládá NFC telefon s příslušnou aplikací, která tyto průchody zaznamenává. (IMA s.r.o., 2012)
5 Nástroj pro vzdálenou správu NFC tagů V následujících dvou částech se věnuji tvorbě a reálnému nasazení nástroje pro využití NFC technologie jako distributora obsahu. Za tímto účelem jsem navrhl webovou aplikaci umožňující generování adres k trvalému zapsání do NFC tagů38 a jejich následnou správu. V této kapitole představím název a myšlenku aplikace, popíši základní důvody pro využití nástroje při realizaci NFC kampaně, výchozí stav serveru, na kterém aplikace běží, využité komponenty a samotný postup realizace.
5.1 Identifikace aplikace Aplikace se nachází na webové adrese app.nacti.me. Web prezentující možnosti a výhody použití aplikace je umístěn na doméně nacti.me. Název aplikace vzniká přidáním diakritických znamének do doménového jména prezentace. Pojmenování projektu je zvoleno jako název pokynu k činnosti, kterou bude osoba za účelem získání obsahu vykonávat nejčastěji – načtení NFC tagu přiložením NFC telefonu. NFC tag svým názvem vyzívá uživatele k načtení. Logo aplikace obsahuje grafiku ruky s telefonem, nápis NFC a název aplikace, který vyzve uživatele k načtení informace.
Aplikace je vhodná také pro generování a správu QR kódů, těmi se ale tato práce nezabývá a nebudou již dále zmiňovány, pro QR kódy je používána jako zkracovací doména qri.cz 38
34
O BRÁZEK 5.1 - A KTUÁLNÍ VERZE LOGA WEBOVÉ SPRÁVY N AČTI.MĚ ( ZDROJ : VLASTNÍ TVORBA )
5.2 Důvody pro realizaci kampaně pomocí aplikace Načti.mě 5.2.1
Uzamknutí NFC tagu
Změnu informací v NFC tazích je potřeba při (Mike Clark, 2013)použití ve veřejném prostoru ochránit prostřednictvím uzamčení NFC tagů proti přepsání39. Touto ochranou je NFC tag trvale uzamčen a přistupovat k němu lze pouze v módu pro čtení – toto platí pro každé NFC zařízení (včetně tvůrce). Po uvedení NFC tagu do módu pro čtení již neexistuje možnost pomocí NFC komunikace změnit obsah zapsaný v NFC tagu40. Při použití aplikace je vygenerována adresa. Tuto adresu uživatel následně zapíše do NFC tagu a uzamkne jej do módu pro čtení. Pomocí aplikace může opakovaně měnit přesměrování této adresy na libovolné místo dohledatelné v síti internet. 5.2.2
Správa všech NFC tagů z jednoho místa
Při umístění NFC tagů na různých místech je bez použití webové správy nutné obsah (při uzamknutí tagů celý nosič) na jednotlivých místech fyzicky měnit. V případě větších kampaní je taková změna časově náročná. Prostřednictvím webové správy je možné vytvářet a následně spravovat NFC tagy pod jedním uživatelským účtem. Uživatel se k tomuto účtu přihlašuje pomocí kombinace emailu a hesla a přistupovat do aplikace může z jakéhokoliv zařízení připojeného do internetu.
Read-only mód viz kapitola 3.2.1. Mluvme o NFC tazích běžně dostupných, tagy s aktivní změnou obsahu s čipem SmartMX se pro běžnou marketingovou kampaň nepoužívají, SmartMX-JCOP viz kapitola 3.2.1. 39 40
35
5.2.3
Statistiky načtení
Pro vyhodnocení úspěšnosti kampaně je nutné zjistit počty načtení obsahu z NFC tagů. Pokud správce kampaně odkazuje na obsah uložený ve webovém prostoru, ke kterému má administrační přístup – je možné řešit sledování přístupů k těmto informacím prostřednictvím parametrů v odkazující adrese a statistický nástroj nainstalovaný na serveru dovede tyto přístupy odlišit. Pokud ale adresa směřuje na obsah uložený na některém ze serverů třetích stran41, často nebývá možné přístupy z různých nosičů odlišit. Aplikace monitoruje průchody přes přesměrovávané adresy, následně zobrazuje uživateli počty průchodů přes vygenerované URL adresy aplikace.
5.3 Konfigurace serveru Aplikace i webová prezentace využívá služeb virtuálního serveru společnosti Savana. Tento virtuální server disponuje možností navyšovat kapacity procesoru, paměti ram a vyhrazeného prostoru na disku. Pomocí aplikace dostupné na adrese webcontrol.savana.cz jsou obsluhovány všechna nastavení a vlastnosti služeb poskytovaných prostřednictvím tohoto virtuálního serveru. Pro potřeby aplikace a její webové prezentace je využíván webový prostor na disku přiřazeného k serveru – aktuální velikost adresáře, ve kterém je nainstalovaná aplikace je přibližně 32 Mb. Největším adresářem je adresář piwik, ve kterém je nainstalovaný statistický nástroj PIWIK. Tento adresář obsahuje přibližně 24 Mb dat. Na virtuálním serveru je zapnutá podpora vykonávat PHP skripty, aktuální verze nainstalované PHP konfigurace je 5.2.17. Pro přesměrovávání přístupů a jejich následnému zpracování PHP skripty je využívána funkce konfiguračního souboru webového serveru .htaccess, funkce je na virtuálním serveru explicitně zakázaná a je potřba před nainstalováním skriptů pro chod aplikace povolit. Jednotlivé komponenty aplikace využívají MySQL databázi nainstalovanou na serveru. Verze nainstalovaného MySQL je 5.1.56.
41
Například video na Youtube, aplikace na Google Play a další..
36
O obsluhu PHP skriptů a MySQL příkazů se stará webserver Apache nainstalovaný ve verzi 2.2.17.
5.4 Programový základ aplikace Aplikace využívá tří základních komponent, které jsou dostupné pod svobodnou licencí, popřípadě práva k jejich užívání byly zakoupeny. V této kapitole budou popsány základní informace o použitých řešeních, licenční podmínky vydané tvůrci jednotlivých aplikací a ostatní specifika definující způsob využití těchto aplikací při realizaci webové správy. 5.4.1
Webový interface
Webová správa byla vyvinuta za účelem nasazení při tvorbě reálných mobilních kampaní. Aplikace je proto zveřejněna na webových stránkách spolu s prezentací, kde jsou potencionálním uživatelům představeny možnosti a výhody použití webové správy NFC tagů. Pro tyto účely byla na tržišti webových šablon Themeforest42 zakoupena šablona OptimaSales od ukrajinské webdesignerky Olia Gozha. Produkt byl zakoupen s licencí typu regular, která umožňuje komerční nasazení šablony, ale zakazuje následné přeprodávání šablony nebo jednotlivých prvků ze šablony (Envato, 2013b). Webová prezentace aplikace používá strukturu navrženou tvůrcem šablony, aplikace pracuje na jedné podstránce webových stránek a využívá nastylované prvky ze šablony. Webové prezentaci se věnuje kapitola 5.5.8, postup tvorby interface aplikace je popsán v kapitole 5.5.6. Webová šablona OptimaSales je dodávána v komprimovaném souboru rozděleném do 3 podsložek, balík obsahuje podklady pro realizaci kompletního webu, k jehož plnému spuštění je potřeba soubory pouze rozbalit do příslušné FTP složky, dále obsahuje grafické podklady designu pro úpravu vzhledu a dokumentaci k šabloně. Soubory se zdrojovým kódem Podsložka HTML obsahuje HTML soubory jednotlivých vzorových stránek, ty jsou předvyplněné náhodnými daty a navázané na fotografie z fotobank, či autorovy tvorby.
Projekt australského startupu Envato, který byl založený v roce 2006. Aktuálně je na tržišti Themeforest zaregistrováno 2 613 988 uživatelů a nabízeno je 3 359 720 položek k prodeji (Envato, 2013a). 42
37
Použitý HTML kód obsahuje některé moderní HTML5 tagy, doctype je specifikován podle HTML5 specifikace. Vzorové stránky představují možnosti webové šablony. Slouží zároveň jako přehled vlastností (třídy, identifikátory) HTML tagů, které jsou využívány pro docílení připraveného vzhledu. Například na vzorové stránce s názvem page-elements.html jsou uvedeny elementy nastylované pro precisní sladění se šablonou. Autorka zde představuje jednotlivé velikosti a styly tlačítek, upravený vzhled tabulky, výstražných boxů, sloupcování, elementy formulářů a další prvky. Pro design šablony jsou připojeny také soubory kaskádových stylů – CSS. Některé z nich jsou vytvořeny přímo pro potřeby šablony, další jsou většinou CSS soubory doplňující použité JavaScriptové knihovny. Pro správné zobrazování CSS stylů ve všech prohlížečích je využito resetování základních CSS vlastností pomocí stylu normalize, šířeného pod svobodnou licencí43. K dosažení efektů zaoblených hran je v šabloně využito prvků spadajících do specifikace
CSS3.
Kompatibilita
se
staršími
verzemi
prohlížečů
je
řešena
prostřednictvím odlišného interpretování podmíněných komentářů, ve kterých je základnímu html tagu přiřazena třída obsahující kompatibilní vlastnosti pro daný prohlížeč – šablona OptimaSales takto rozlišuje verze prohlížeče Internet Exprorer. Funkce webu zpracovávané v prohlížeči klientského počítače řeší webdesignerka pomocí skriptů z knihoven vytvořených na bázi JavaScriptu a dostupných na internetu pod různými svobodnými licencemi. Nejčastěji se lze ve zdrojových souborech setkat s využitím knihovny jQuery. Pomocí této knihovny jsou v šabloně vytvořeny například efekty popup oken pro přihlašování, bublinkové popisky prvků, slider na hlavní stránce nebo menu přizpůsobené pro displej mobilního telefonu. Tyto kompletní zdrojová data jsou dodávány ve třech modifikovaných barevných schémat nazývaných main, dark a fresh. Aplikace a webová prezentace využívají základní barevné schéma – main.
Normalize.css je uvolněný pod licencí MIT (Gallagher, Neal, 2013), pomocí této licence je také šířena dále zmiňovaná knihovna jQuery . Software uvolněný pod licencí MIT (nazývané také X11 licence) je možné použít ve všech projektech s podmínkou uvedení textu licence (ANON., 2013c). 43
38
Grafické podklady V balíku jsou dodávány také zdrojové grafické podklady použité k exportování obrazových souborů k jednotlivým vzorovým stránkám. Zdrojové grafické soubory jsou uložené ve formátu Photoshop PSD. Při realizaci projektu byly některé komponenty z těchto PSD souborů využívány jako vzorové obrazy pro realizaci vlastní grafiky prezentační části webu. Dokumentace Podsložka obsahující HTML stránku s popisem funkcí souborů šablony a použitých technik. V dokumentaci popisuje autorka také nastavení speciálních funkcí šablony jako je například integrované zobrazování tweetů ze sociální sítě Twitter nebo zobrazování lokality na stránce kontakty pomocí google mapy. 5.4.2
Software pro přesměrovávání průchodů
Použitý soubor skriptů starající se o přesměrovávání a tvorbu generovaných odkazů je bezplatný a Open Source projekt YOURLS. Název YOURLS je sestavený z počátečních písmen spojení Your Own URL Shortener. Software vyvinul franzouský vývojář Ozh Richard společně s Lesterem Chanem ze Singapuru (Richard, Chan, 2013c). YOURLS je uveřejněn pod blíže nespecifikovaným typem licence. V popisu licence autor uvádí, že se jedná o software zdarma a lze s ním nakládat bez omezení (Richard, Chan, 2013b). Software je vyvíjen jako zkracovací nástroj44, který vyžaduje vlastní instalaci na server. Uživatel má tedy kontrolu nad funkčností a nastavením celého nástroje. V době tvorby systému byla nejnovější verze 1.5.1. K datu 23.4.2013 je systém dostupný ve verzi 1.6 (Richard, Chan, 2013a). Autoři v současnosti kolaborují na vývoji software prostřednictvím online systému pro správu verzí GitHub, pomocí kterého je možné stáhnout nejnovější verzi. Na stejném místě se nachází i podrobná wiky dokumentace. Základní informace o nastavení vlastní
Zkracovací nástroje jsou většinou služby online poskytovatelů, které po zadání „dlouhé“ webové adresy vygenerují jednu kratší, která pomocí serveru poskytovatele přesměrovává provoz na požadovanou adresu. Jako příklad lze jmenovat zkracovač od Google – goo.gl nebo bit.ly od stejnojmenné společnosti. 44
39
instalace jsou dostupné i prostřednictvím produktové stránky yourls.org, která je zároveň vložena do staženého balíku skriptů jako readme soubor. YOURLS umožňuje kromě hlavní funkcionality také sledování statistik průchodů, které se zobrazují po umístění znaku „+“ za konec zkrácené adresy. Pro vývojáře je připravena možnost vytvářet a instalovat pluginy ovládající prvky systému a nebo přístup k funkcím systému prostřednictvím aplikačního rozhraní. O použitých pluginech a o úpravách skriptů systému YOURLS pro použití v aplikaci Načti.mě pojednává kapitola 5.5.2. 5.4.3
Statistický nástroj
Statistiky průchodů vestavěné ve zkracovacím nástroji YOURLS neposkytují informace o operačním systému uživatele procházejícího přes zkrácenou adresu, postrádají pokročilé exportní funkce a s ohledem na budoucí rozvoj aplikace webové správy byl zvolen externí nástroj pro sledování provozu přes odkazy generované aplikací. K tomuto účelu byl vybrán Open Source nástroj poskytovaný bezplatně pod GPL v345 licencí - Piwik. Tvůrcem analytické aplikace je softwareový vývojář Matthieu Aubry. Na vývoji a produkci tohoto svobodného software spolupracuje mnoho vývojářů z celého světa. Hlavní jádro týmu čítá čtrnáct osob (Piwik.org, 2012d). Piwik je dostupný v 48 jazykových mutacích a aktuálně se tvůrci mohou pochlubit téměř milionem a půl stažení balíku potřebného pro instalaci (Piwik.org, 2012b). Nástroj je určen k provozování na vlastním serveru, nakopírování PHP skriptů, nastavení MySQL databáze a dalších parametrů instalace probíhá pomocí webového průvodce. Výhodou serverové instalace oproti webovým analytickým nástrojům46 je svoboda v kontrole a eventuálních úpravách všech komponent, možnost přizpůsobení vzhledu a jasné určení vlastnictví práv k získaným analytický datům47.
Licence pro svobodný software, vyžaduje aby byla odvozená díla dostupná pod touto licencí (Free Software Foundation Europe, b.r.). Pro účely funkce webové správy i v případě placeného přístupu ke statistikám povoluje licence takové použití (Piwik.org, 2012c). 46 Jako nejznámějšího zástupce webových nástrojů pro sledování provozu na webových stránkách lze jmenovat Google Analytics. 47 Často diskutované téma ohledně používání analytického nástroje Google Analytics, v podmínkách použití této online služby není totiž jasně stanovené, kdo přesně nashromážděná data vlastní (Byrne, Kemelor, 2009; SWS eMarketing, 2013; Lawbaugh, 2012). 45
40
Analýza provozu webového serveru pomocí tohoto nástroje probíhá umístěním JavaScriptového kódu do HTML souborů sledovaného webu nebo použitím některého z dostupných pluginů. Na propojení analytického software Piwik a zkracovacího engine byl použit plugin pro zkracovací systém YOURLS. Více o fungování tohoto pluginu a extrakci získaných dat v kapitole 5.5.3.
5.5 Realizace aplikace V této kapitole představím postupy při propojení a nastavení jednotlivých komponent a tvorbu výsledného user interface. Úryvky klíčových částí zdrojových kódů jsou umístěny v přílohách. 5.5.1
Databázová struktura
Obě serverové komponenty využívají pro svou činnost ukládání dat do MySQL databáze. Tabulky potřebné pro chod aplikací jsou vytvořeny při instalaci aplikace na server, každá tabulka obsahuje identifikátor příslušnosti dané tabulky k aplikaci – defaultně název aplikace oddělený od názvu tabulky pomocí znaku podtržítka. Do tabulkových struktur obou komponent nebylo zasahováno. Uvádím proto pouze stručný popis defaultního stavu databáze po nainstalování jednotlivých programů, výpis jednotlivých tabulek je přiložen v příloze č.1. Aplikace PIWIK využívá při svém nainstalování 22 tabulek; informace o návštěvnosti jsou ukládány do tabulek rozdělených podle příslušného měsíce. Pro první změřenou návštěvu v měsíci je vytvářena vždy nová tabulka obsahující pořadové číslo roku a měsíce. Ostatní tabulky slouží k logování běhu aplikace, ukládání nastavení, uživatelských jmen a podobně. Zkracovací program YOURLS pracuje se třemi tabulkami – tabulka uchovávající nastavení, tabulka s údaji o přesměrování a tabulka pro sledování průchodů přes serverové odkazy. Pro účely aplikace Načti.mě byla výše popsaná databázová struktura rozšířena o další tři tabulky, kterých je využíváno při registraci uživatele, párování URL adres k uživateli a přiřazení již nakódovaných NFC tagů do správy. K těmto tabulkám je z důvodů odlišení od ostatních záznamů v databázi přidán prefix nactime_.
41
O BRÁZEK 5.2 - ČÁST DATABÁZOVÉ STRUKTURY OBSLUHUJÍCÍ SPOJENÍ UŽIVATELE A URL ADRESU (Z DROJ : VLASTNÍ TVORBA )
Údaje o zaregistrovaných uživatelích jsou ukládány v tabulce nactime_users, unikátním identifikátorem je integer – pořadové číslo uživatele. V tabulce je uložen email uživatele a heslo doplněné o string emailu48 a zakódované pomocí šifrování SHA256 . Posledním sloupcem v tabulce je náhodný hash kód používaný k zachování unikátnosti klíčových slov – více o použití tohoto hash kódu v kapitole 5.5.2. Tabulka
nactime_url_to_user
je
používána
k propojení
tabulky
nactime_users a základní tabulky s URL adresami yourls_url. K tomuto účelu slouží primární klíče url_keyword a nactime_users_user_id. Pro spárování zakoupených NFC tagů s účtem uživatele byla implementována tabulka nactime_url_to_order. Více informací o této funkcionalitě v kapitole 5.5.7. 5.5.2
Nastavení a úpravy skriptů YOURLS
Konfigurace YOURLS Pro plnou funkčnost je potřeba v konfiguračním souboru nastavit přístupové údaje k databázovému účtu na serveru. Ve stejném konfiguračním souboru je možnost nastavit základní chování tohoto zkracovacího programu. Nastavení probíhá pomocí definice hodnoty statické proměnné přednastaveného názvu. Základní definicí je nastavení kořenové URL adresy, na které běží zkracovací software. Autoři dále umožňují přizpůsobit časové pásmo pro čas
Takzvané solení hesla před zašifrováním spočívá v připojení libovolného stringu k heslu. Útočník i v případě rozkódování šifry neví, do které části stringu bylo heslo připojené (Radek Jícha, 2005). 48
42
zobrazovaný v administraci; chování programu v případě duplicitních dlouhých URL adres; uživatelská jména a hesla pro přístup do administrace a podobně. Tabulka s nastavenými hodnotami v tomto konfiguračním souboru je přiložena v příloze č.2. Následuje popis modifikací kódu ve skriptech YOURLS. Úryvky kódů modifikujících skripty YOURLS jsou připojeny v příloze č. 3, na jednotlivé úryvky je odkazováno pomocí číselných odkazů v textu. Výpis záznamů pro přihlášeného uživatele V základní konfiguraci YOURLS funguje jako soukromý zkracovací engine, změnou parametru v konfiguračním souboru je možné administrační rozhraní zveřejnit bez nutnosti zadávání hesla. Pro použití jako veřejné služby, kde každý uživatel může zobrazit a spravovovat pouze své linky není vhodná ani jedna volba. Z tohoto důvodu bylo navrhnuto veřejné rozhraní a přiřazování URL adres uživatelům speciálně pro potřeby aplikace Načti.mě. Uživatelé se mohou do aplikace zaregistrovat prostřednictvím registračního formuláře. Po zaregistrování je v tabulce nactime_users vytvořen záznam uživatele, který je napříč aplikací identifikovatelný pomocí primárního klíče user_id
–
číslo
inkrementující s nově registrovanými uživateli. Dalším prvkem přiřazeným k uživateli je náhodný třímístný hash, který je generován za účelem zamezení duplicitních zkrácených URL adres při zachování svobodné volby části klíčového slova. Údaje z relace uložené v počítači uživatele jsou používány k vyhledání záznamů v databázi aplikace. Výpis příslušných URL adres je řešen prostřednictvím YOURLS funkce (příloha č.3, úryvek č.1), pro odlišení uživatele je do MySQL příkazu přidán vnořený select porovnávající id uživatele z proměnné session s hodnotami uloženými v tabulce nactime_url_to_user (příloha č.3, úryvek č.2). Ukládání Pro ukládání nově vygenerovaných URL adres do databáze je využíváno funkcí skriptu YOURLS, při požadavku o uložení je vložen nový řádek s id uživatele a zkratkou URL adresy do tabulky nactime_url_to_user (příloha č. 3, úryvek č.3). Při ukládání je klíčové slovo modifikováno přiložením třímístného hashe uživatele před požadovanou krátkou adresu (příloha č.3, úryvek č.4).
43
5.5.3
Zaznamenávání statistik nástrojem Piwik
Nástroj Piwik je nainstalován prostřednictvím průvodce instalací, který při svém průběhu vyzývá k zadání konfiguračních a přístupových údajů potřebných k instalaci. Na disku byla instalací vytvořena složka piwik, ve které se nachází skripty potřebné k běhu tohoto analytického nástroje. Úryvky kódů přidaných za účelem komunikace aplikace se statistickým nástrojem PIWIK jsou připojeny v příloze č. 4, na jednotlivé úryvky je odkazováno pomocí číselných odkazů v textu. Plugin použitý pro propojení souboru skriptů YOURLS a statistického nástroje Piwik je vyvinutý společností interfaSys sàrl a distribuovaný pod licencí AGPL v349. Pro využívání pluginu je nutné přesunout složku se soubory pluginu do složky /user/plugins/piwik. Z instalace analytického nástroje Piwik je zkopírován soubor PiwikTracker.php do složky /user/plugins/piwik/libs/Piwik. Plugin je potřeba zaktivovat v administračním rozhraní YOURLS. Přes administrační rozhraní YOURLS lze vstoupit na stránku s nastavením pluginu, ve kterém je požadováno vyplnění konfiguračních informací – URL cesta k instalaci Piwik (http://app.nacti.me/piwik/), ID sítě v nástroji Piwik a pro sledování přesných IP adres autorizační token dohledatelný v administraci Piwik. Na stránce s administrací nastavení pluginu je možné nastavit další hodnoty vlastních proměnných50. Vlastní proměnné jsou autorem pluginu nastaveny ke sledování klíčového slova, jména aplikace a doménového jména pro zkracovací adresu. Doménové jméno je v případě aplikace Načti.mě vždy app.nacti.me, a proto tuto vlastní proměnnou nebylo nutné využít. Pro účely extrakce statistik podle uživatelských účtů je využívána nově vytvořená vlastní proměnná uzivatel (příloha č.4, úryvek č.1). Této proměnné je předáván email uživatele přijatý z výsledku databázového příkazu porovnávajícího údaje v tabulce
Affero General Public License - od GNU GPL, na které je založena, se liší tím, že přidává další podmínku ohledně užití softwaru přes síť. Tato podmínka vyžaduje, aby každý ze síťových uživatelů díla licencovaného pod GPL (typicky webové aplikace) měl přístup ke kompletním zdrojovým kódům (ANON., 2013a). 50 Vlastní proměnná je dvourozměrné pole využívané v nástroji Piwik. Každé pole obsahuje jméno vlastní proměnné a samotnou hodnotu vlastní proměnné. Tyto pole lze přiřadit návštěvníkovi nebo návštěvě a odlišit tyto subjekty ve statistických reportech (Piwik.org, 2012a). 49
44
nactime_users spojené s nactime_url_to_user podle id uživatele (příloha č.4, úryvek č.2). Statistický nástroj PIWIK zaznamenává statistiky všech uživatelů na jednom místě, k odlišení statistik mezi jednotlivými uživateli je využíváno právě vlastních proměnných. Postup selektování statistik pro jednotlivé vlastní proměnné je popsán v kapitole 0. 5.5.4
Vlastní skripty
K realizaci aplikace byly vytvořeny skripty komunikující přímo s databází, či vykonávající vlastní funkce. Úryvky kódů ze skriptů vlastní tvorby jsou připojeny v příloze č. 5, na jednotlivé úryvky je odkazováno pomocí číselných odkazů v textu. Skripty komunikující s databází jsou připojovány pomocí skriptu db.inc.php (příloha č.5, úryvek č.1), který je do každého skriptu vkládán pomocí funkce require_once. Registrace Skript zpracovávající registraci uživatele přijme pomocí metody _POST z formuláře email a heslo zadané uživatelem. Vstupní hodnoty polí jsou ošetřeny proti možnosti vkládání MySQL dotazu51. Zadané heslo je zašifrováno jako string sestavený z hesla a emailu uživatele. Při požadavku o registraci je skriptem kontrolován obsah polí a v případě prázdného pole či duplicitního emailu je vypsána varovná hláška. Pokud není splněna ani jedna přechozí podmínka, skript generuje (příloha č.5, úryvek č.2) unikátní třímístný hash kód prostřednictvím funkce str_rand volané ze skriptu random.php, který vytvořil PHP programátor Aidan Lister. Při registraci jsou uživateli nastaveny proměnné email a user_id do právě probíhající relace prostřednictvím proměnných uložených na straně klienta – session. Skript předává stavovou zprávu pro uživatele (příloha č.5, úryvek č.3). Přihlášení Pro přihlášení jsou skriptu login.php předány pomocí funkce _POST hodnoty přihlašovacích polí – email a heslo. Tyto hodnoty jsou před zpracováním ošetřeny proti
Útok na získání citlivých dat z databáze často nazývaný jako MySQL injection. Útočník vloží do neošetřeného pole speciálně sestavený databázový dotaz a ten může být při zpracování formulářového pole skriptem vykonán jako vnořený MySQL příkaz. (The PHP Group, 2001) 51
45
útoku MySQL injection. V databázi je heslo uložené v osolené podobě, před porovnáváním s jeho hodnotou v databázi je potřeba zadaný string ošetřit stejným způsobem (příloha č.5, úryvek č.4). Hodnoty zadané uživatelem jsou porovnány s údaji v databázi a v případě shody jsou nastaveny proměnné email a user_id do session a vypsána stavová zpráva uživateli. Pokud nejsou údaje v databázi nalezené, vrací skript chybovou hlášku (příloha č.5, úryvek č.5). Odhlášení Uživatel je odhlášen pomocí vymazání proměnných session ze správce relací pomocí funkce session_destroy. Tato funkce je volána ve skriptu logout.php, který poté provede aktualizaci stránky pomocí funkce header("location:/"). Přidání NFC tagu bez registrace Pro nepřihlášené uživatele zobrazuje aplikace formulářová pole k rychlému přidání NFC tagu do správy. Po zadání požadovaných hodnot je uživatel vyzván k přihlášení nebo registraci. Zadané hodnoty nového NFC tagu z formulářového pole musí být uloženy pro pozdější vložení do databáze. Pro tyto účely bylo využito uložení proměnných do session pomocí skriptu new-taglogin.php
(příloha č.5, úryvek č.6). Po přihlášení nebo registraci, které
zpracovávají skripty téměř52 identické s výše popsanými, je uživatel směrován na skript hlavního rozhraní aplikace (viz kapitola 5.5.5). Pokud tento skript detekuje nastavenou proměnnou url v session, je pomocí podmíněného operátoru volán při sestavování stránky skript tag-pridan.inc.php, který ze session přebírá proměnné url, keyword a title. Ukládání tagu probíhá následně identicky s ukladáním nového NFC tagu popsaného v kapitole 5.5.2. 5.5.5
Asynchronní volání skriptů
Aplikace využívá pro vykonávání příkazů v PHP skriptech asynchronní výměny dat s webovým serverem pomocí rozhraní XMLHttpRequest, dynamické výsledky zobrazuje pomocí technologie JavaScript. (ANON., 2013b)
52
Skripty se od předchozích liší pouze v pojmenování zpracovávaných polí.
46
Pomocné
skripty vykonávající
asynchronní
příkazy jsou
uložené
v souboru
pomocne.js. Struktura jednotlivých příkazů vázaných na id prvku je u většiny funkcí shodná, následuje popis vykonávání skriptu obsluhujícího přihlašování uživatele. Zpracování požadavku na přihlášení uživatele Pomocí JavaScriptové funkce .click je sledována akce kliknutí na tlačítko přihlásit v popup okně (struktura a tvorba popup okna viz kapitola 5.5.6) pro přihlášení uživatele. Pomocí větvící podmínky je ověřována kompletnost vyplněných polí. Při zjištění neúplnosti je uživateli pomocí funkcí .show a .html vypsána do defaultně skrytého elementu chybná hláška. Hláška je při aktivování funkce .click na jednom z formulářových polí53 skrytá použitím funkce .hide. Po vyplnění polí je obsah předáván PHP skriptu uvedeném v kódu HTML stránky jako parametr příslušného formulářového tagu. Hodnoty vypisované skriptem jsou předávány dynamicky pomocí funkcí .show a .html do skrytého elementu. Přihlášení uživatele proběhne pomocí automatického obnovení stránky a detekování nastavených session – viz kapitola 5.5.4. Po průběhu skriptu jsou formulářová pole vyčištěna voláním funkce clear_logn. Funkce přiřazuje prázdnou hodnotu formulářovému poli voláním funkce .val(“”) na každém elementu formuláře. Výpis JavaScriptového kódu vykonávajícího volání PHP skriptu pro přihlášení uživatele je přiložen v příloze č. 6. 5.5.6
Interface
Tato podkapitola se věnuje tvorbě výsledného interface aplikace. Jak bylo zmiňováno v kapitole 5.4.1, v rozhraní aplikace bylo využito nadefinovaných prvků šablony OptimaSales.
Na
tyto
prvky jsou
nastylované
jednotlivé
HTML elementy
generované PHP skripty. Následuje popis částí aplikace a jejich napojení na koncept definovaný v šabloně. Rozlišení uživatelů V kořenovém souboru index.php je uložená hlavička a patička aplikace. Tyto prvky jsou shodné s prvky ve webové prezentaci viz kapitola 5.5.8. Generátorem dynamického
Pokud uživatel začne svou volbu opravovat, je vhodné chybovou hlášku skrýt. Při pokusu přepsat údaje ve formolářových polích musí uživatel jedno z polí aktivovat kliknutím, které sleduje právě funkce .click 53
47
obsahu je podmíněný výraz rozlišující příkazem isset($_SESSION['email']) přihlášeného uživatele. Pokud je uživatel přihlášený, vnořený podmíněný výraz testuje přítomnost proměnné url v session – ta je uložená ve správě relací v případě použití rychlého vkládání NFC tagu v úvodní straně aplikace. Tuto situaci obsluhuje postup popsaný v části Vložení NFC tagu v úvodní straně aplikace. V případě, že proměnná url není nastavena v aktuální relaci, je přihlášený uživatel směřován na hlavní stránku aplikace – viz část Výpis záznamů a ovládací prvky aplikace – hlavní strana aplikace. Pokud se nejedná o přihlášeného uživatele, je vložen do stránky formulář pro vložení NFC tagu v úvodní straně aplikace. Kód rozlišující uživatele je připojen v příloze č.7, uryvek č.1. Vložení NFC tagu v úvodní straně aplikace Pro rychlé přidání NFC tagu do webové správy je využíváno formuláře zobrazovaného pro nepřihlášené uživatele na úvodní stránce aplikace. Část stránky s formulářem je generována skriptem form.inc.php. Formulář se skládá ze tří polí určených pro údaje o NFC tagu a tlačítka zařadit NFC tag do správy. Formulářová pole obsahují předvyplněnou hodnotu, která je po zaktivování pole ztmavená a uživatel může vepsat svou hodnotu. Při umístění kurzoru myši do jednoho z polí je uživateli zobrazena bublinková nápověda – tuto funkci obsluhuje skript obsažený v šabloně – tooltip (příloha č.7, úryvek č.2). Stisknutí tlačítka vyvolává popup okno obsahující možnost přihlášení a registrace. Jedná se o spojené popup okna registrovat se a přihlásit, které jsou popisovány níže. Po vyplnění příslušné části okna je uživatel zaregistrován a přihlášen nebo přihlášen do aplikace. Stránka aplikace je složená z hlavičky pro přidání nového tagu do správy, ze skriptu přidávajícího nový tag do správy a z výpisu spravovaných NFC tagů. Skript generující hlavičku s textem v nadpisové části – „Tag je přidán!“ – je pojmenován pageheading-add.inc.php.Následuje
skript
tag-pridan.inc.php,
který
vypisuje pole s informacemi o nově přidaném tagu – toto pole je identické s polem zobrazeným po vkládání nové URL přímo z administrace. Poslední dynamicky 48
vkládanou částí je skript logged.inc.php, který generuje základní výpis záznamů a ovládací prvky aplikace – viz níže. Registrace Registrace uživatele probíhá po vyvolání popup okna pomocí odkazu v horní části webové prezentace nebo aplikace. V tomto okně jsou tři formulářová pole. První slouží pro zadávání emailu uživatele. Dvě pole jsou pro zadání hesla a jeho následné potvrzení. Formulář je odesílán stisknutím tlačítka. Popup okno registrace bylo vytvořeno webdesignerkou šablony, pro účely aplikace bylo přeloženo do českého jazyka. Popup efekt okna je vytvořen pomocí jQuery skriptu jQuery Reveal Plugin 1.0 společnosti Zurb. Skript je uvolňován pod MIT licencí. Pro účely dynamické komunikace PHP skriptu s uživatelem byly do registračního okna přidány div elementy pro výpis chyby, obecné zprávy a úspěchu. Tyto elementy jsou stylovány pomocí třídy alert vytvořené v základní šabloně. Při výpisu z PHP skriptu je elementům pomocí JavaScriptu přidána viditelnost. Kód popup okna registrace viz příloha č.7, úryvek č.3. Přihlašování Přihlášení uživatele vyvolává odkaz v horní části webové prezentace nebo aplikace. V tomto okně jsou dvě formulářová pole pro zadání emailu a hesla uživatele. Další vlastnosti formuláře jsou identické s popup oknem registrace. Výpis záznamů a ovládací prvky aplikace – hlavní strana aplikace Výchozím bodem aplikace je stránka skládající se ze tří částí. Obsahuje výpis jednotlivých záznamů, oddíl pro přidání nového prvku do správy a pro načtení NFC tagů z objednávky. Celá stránka je obsluhována skriptem logged.inc.php, který prostřednictvím větvících podmínek určuje zobrazení jednotlivých modulů. Následuje výpis modulů stránky logged.inc.php: Výpis záznamů Základní tabulka obsahující výpis záznamů uložených v databázi konkrétního uživatele. Používá strukturu tabulky generované skripty YOURLS, výpis záznamů je stylován pomocí připraveného stylu tabulky z šablony. Byly odebrány nepotřebné nebo nežádoucí prvky pro sdílení záznamu na sociálních sítích, pro zobrazení podrobných 49
statistik. Každý sloupec obsahuje tlačítko pro úpravu obsahu NFC tagu. Viz sekce Editace . Generování tabulky viz příloha č.7, úryvek č.4. Nový NFC tag Tento modul obsahuje tři formulářová pole pro zadání nového záznamu do správy a tlačítko odesílající formulář – „Zařaď tag do správy“. Od ostatních modulů je oddělen z horní strany nadpisem a ze spodní strany horizontální čárou. Více v části Vkládání nového záznamu. Tagy z eshopu nfcmix Modul obsahující jedno formulářové pole pro zadání čísla objednávky z eshopu nfcmix a tlačítko – „Spravuj tagy z objednávky“. Více viz kapitola 5.5.7. Vkládání nového záznamu Formulář z modulu nový NFC tag je zpracováván v rámci skriptu logged.inc.php, při ukládání nového záznamu je využíváno funkce yourls_add_new_link() skriptu YOURLS. Okno rekapitulující uložení záznamu do databáze je vloženo do nastylovaného elementu třídy alert – zobrazováno je v modrém informačním prvku nad modulem pro vložení nového záznamu. Okno obsahuje kód pro nahrání do NFC tagu, který je zobrazen v textovém poli s vypnutou možností editace – při kliknutí do pole je text vybrán celý pro pohodlnější zkopírování linku. Pod polem je klikatelný odkaz sloužící k vyzkoušení funkčnosti zkráceného linku. Prostým textem je zobrazována základní URL adresa, na kterou zkratka odkazuje. Informace slouží pouze pro přehled uživatele. Volitelně je možné vygenerovat QR kód. Při této volbě je uživateli zobrazeno popup okno s obrázkem QR kódu vygenerovaným pro zkrácené klíčové slovo. Editace záznamu Změna záznamu je možná prostřednictvím tlačítka umístěného v řádku tabulky u příslušného záznamu. Okno editace záznamu je vložené do zeleného informačního prvku, při požadavku na změnu je zobrazováno nad modulem pro vložení nového záznamu. 50
Okno obsahuje zkratku NFC tagu zobrazenou jako prostý text a dvě formulářová pole sloužící pro změnu URL adresy a Poznámky. Editace uloženého záznamu probíhá prostřednictvím volání funkce z knihovny YOURLS – yourls_edit_link, které jsou předávány parametry nové URL adresy a stávajícího klíčového slova (příloha č.7, úryvek č.5). Vyhledávání Vyhledávání v uložených záznamech slouží k nalezení NFC tagu podle zkratky. Vstupní okno pro vyhledávání je umístěno v modré nadpisové liště. Hodnota popisku je „hledej v tazích ...“, po aktivaci okna popisek zesvětlá a uživatel vpisuje svůj požadavek. Styl a umístění vyhledávacího okna byl přejat ze šablony. O funkci se stará vyhledávání z knihovny YOURLS, které aplikuje při zadaném klíčovém slovu filtr na zobrazované záznamy. 5.5.7
Propojení s eshopem NFCmix
Pro podporu rozvoje NFC technologie v Česku byl spuštěn eshop zaměřující se na prodej NFC tagů a NFC příslušenství. Pro zákazníky tohoto eshopu je v aplikaci připravena možnost rychlého vložení více NFC tagů do správy. Příkladům používání tohoto propojení se věnuje kapitola 6. V této části popisuji realizaci doplňku do aplikace Načti.mě. Základním prvkem této služby je tabulka nactime_url_to_order, ve které jsou zaznamenávána klíčová slova, kód objednávky a id uživatele. Záznamy ve sloupci ID uživatele mohou nabývat NULL hodnoty. Do sloupce objednávka je ukládán kód objednávky, generovaný administrací eshopu nfcmix. K objednávce může být přiřazeno více NFC tagů – klíčových slov. Záznamy z této tabulky využívá skript order.php, který je volán po zadání kódu objednávky do modulu Tagy z eshopu nfcmix. Po předání kódu objednávky metodou _POST je porovnána zadaná hodnota s hodnotami objednávek v databázi, které mají vyplněno id uživatele. Zároveň je porovnávána zadaná hodnota pouze s hodnotami objednávek. Pokud se počty výsledků vrácených z těchto dotazů nerovnají, obsahuje objednávka alespoň jeden nepřidělený 51
NFC tag54. Dalším dotazem je zjišťován počet nepřidělených objednávek a existence NFC tagů ze zadané objednávky. Tento dotaz je využit také k určení průchodů cyklu while, který generuje pole vstupního formuláře. Vstupní
formulář
vygenerovaný
na
základě
údajů
z databázové
tabulky
nactime_url_to_order je zobrazován prostřednictvím dynamické změny elementu v modulu Tagy z eshopu nfcmix. Prvky formuláře jsou zobrazené v modrém informačním prvku z předdefinovaných stylů šablony. Po přidání informací k zobrazeným klíčovým slovům je stiskem tlačítka „zařaď tagy do správy“ volán skript newTag.php, který přidává NFC tagy do aplikace způsobem popsaným v kapitole 5.5.2. Navíc je ve skriptu pouze příkaz vkládající ID aktuálně přihlášeného uživatele do tabulky nactime_url_to_order55. Konkrétní způsob použití je představen v kapitolách 6.1.2 a 6.2.1. 5.5.8
Webová prezentace aplikace
Aplikace webové správy je zasazena do webové prezentace využívající stejnou šablonu. Hlavička každé stránky obsahuje vrchní lištu se správou účtu – nacházejí se zde možnosti pro přihlášení, odhlášení a registraci. Pokud je uživatel přihlášen, zobrazuje se zde email uživatele. Pod hlavičkou se nachází řádek obsahující hlavní menu a logo projektu. V menu jsou aktuálně obsaženy odkazy na úvodní stránku, stránku vysvětlující funkčnost aplikace, přehled cenových plánů, odkaz na samotnou aplikaci, odkaz na partnerský eshop a zobrazení kontaktních informací. Patička každé stránky obsahuje vertikálně zobrazené položky menu, odkazy na sociální sítě a tlačítko propagující aplikaci. Úvod Úvodní stránka obsahuje pohyblivou upoutávku na vlastnosti aplikace. První slide upozorňuje na využití NFC technologie a odkazuje uživatele na více informací o této
Tato funkce byla do aplikace doimplementována na základě zkušeností z reálného testování, kdy uživatelé při přidávání NFC tagů do správy často nevyplnili všechny položky a bez tohoto porovnávání nebylo možné zbývající NFC tagy přidat do aplikace. 55 ID konkrétního uživatele, který provedl uložení NFC tagů pomocí čísla objednávky do správy, není v aplikaci využíváno. Eventuálně by bylo možné ukládat do sloupce hodnotu pouze TRUE nebo FALSE. ID uživatele je použito z důvodu zpětného dohledání například v případě zneužití čísla objednávky. 54
52
technologii. Druhý slide představuje stručně možnosti aplikace a třetí informuje o propojení webové správy a eshopu NFCmix. Pod pohyblivým poutačem se nachází podrobnější výpis výhod použití aplikace. Každá výhoda je doplněná ilustračním obrázkem s animací po najetí ukazatele. Ve spodní části úvodní stránky se nacházejí loga partnerů společnosti CALL, spol. s r.o. Funkce aplikace Stránka představující funkci aplikace je rozdělená pomocí nastylovaného tabulkového přepínače do dvou podob – základní informace a podrobné informace o aplikaci. Cena aplikace Položka menu informující uživatele o cenové koncepci aplikace. Využity byly autorkou předpřipravené tabulky pro cenové baličky. Aplikace Položka otevírající aplikaci sladěnou s celkovou koncepcí webové prezentace. Více o aplikaci v předchozích částech. Eshop Link odkazující na eshop nfcmix, ve kterém mají uživatelé možnost zakoupit NFC tagy s kódováním pro použití s webovou správou. Kontakt Stránka Kontaktujte nás obsahuje jako dominantní prvek mapu využívající předinstalovaný skript v šabloně. Pod mapou se nachází kontaktní formulář odesílající email na přednastavenou webovou stránku pomocí skriptu sendEmail.php. Skript odesílá emailovou zprávu prostřednictvím skriptu PHP Mailer uveřejněného pod GNU licencí.
53
6 Použití aplikace pro vzdálenou správu NFC tagů V této kapitole popíši příklady používání aplikace Načti.mě při nasazení v praxi a možnosti sledování statistik. Modelové situace jsou rozdělené podle pohledů subjektů pracujících s aplikací. Uživatel je zákazník používající aplikaci v základní nebo placené verzi a administrátor je provozovatel aplikace dodávající uživateli placené verze pravidelné reporty statistik.
6.1 Pohled uživatele 6.1.1
Tvorba NFC tagu
Uživatel
vygeneruje
speciální
URL
http://app.nacti.me/xyz-test.
Tuto
adresu
například
adresu
uživatel
ve
tvaru
individuálně
prostřednictvím vhodné aplikace zapisuje pomocí svého mobilního zařízení (popř. prostřednictvím NFC čtečky) do NFC tagu. URL adresa je směřovaná na server aplikace Načti.mě, která následně podle předvolené dlouhé URL adresy přesměrovává průchod do požadované cílové adresy. 6.1.2
Nákup NFC tagů a přidání do správy
Uživatel při nákupu v eshopu nfcmix dostupném na adrese http://www.nfcmix.com zvolí v detailu produktu kódování NFC tagu – „Vzdálená správa NAČTI.MĚ / Uzamknout“. Spolu s objednanými NFC tagy obdrží uživatel fakturu, průvodní dopis56 a návod pro správu NFC tagů pomocí aplikace Načti.mě. Při prvním spuštění aplikace se uživatel registruje. Následně ve faktuře, průvodním dopise nebo v historii objednávek eshopu uživatel dohledá kód objednávky a tento kód vpisuje do formulářového pole v modulu Tagy z eshopu nfcmix. Po správném zadání kódu objednávky je uživateli nabídnut přehled zakoupených NFC tagů a jejich zkratek. Ke každému NFC tagu přidává uživatel požadovanou dlouhou URL adresu, na kterou bude NFC tag odkazovat. Po potvrzení jsou NFC tagy připravené pro použití a přiřazené k uživatelskému účtu zákazníka.
V současnosti je navíc posílán uživatelům osobní průvodní dopis s poděkování za objednávku a s jasně vyznačeným kódem objednávky. 56
54
NFC tagy z eshopu přichází popsané svou zkratkou pro lepší orientaci. Zákazník využívající tuto službu nemusí tedy fyzicky vlastnit NFC zařízení a dovede programovat57 zakoupené NFC tagy na dálku. 6.1.3
Správa NFC tagů
Pokud uživatel do NFC tagu zapíše adresu vygenerovanou prostřednictvím aplikace Načti.mě, může kdykoliv po přihlášení pomocí webového rozhraní aplikace měnit obsah, na který tato speciální adresa odkazuje. Zároveň v tabulce se záznamy je uživateli zobrazen počet načtení konkrétního záznamu. Pokud se jedná o platícího uživatele, obdrží měsíčně generované statistiky s časy načítání, typy přístrojů a dalšími analytickými daty.
6.2 Pohled administrátora 6.2.1
Příprava zakoupených NFC tagů
Při přípravě objednávky administrátor nahrává58 do NFC tagů u všech objednávek stejný,
ale
číselně
inkrementující
string
ve
tvaru
například
http://app.nacti.me/nfc-nacXX. Tento NFC tag administrátor popisuje nebo umístí do obalu popsaného klíčovým slovem. Klíčové slovo nahrané do NFC tagu ukládá administrátor pomocí rozhraní phpmyadmin spolu s kódem objednávky do databázové tabulky nactime_url_to_order. 6.2.2
Sledování a generování statistik
Administrátor má přístup do webového rozhraní aplikace PIWIK. V tomto rozhraní může sledovat hromadně všechny průchody přes webovou aplikaci Načti.mě. Pro extrakci dat pomocí vlastních proměnných používá administrátor přísup pomocí adresy obsahující speciální kód umožňující segmentovat parametry zobrazované v nástroji PIWIK. Adresa s nastaveným parametrem může vypadat následovně:
Vzdáleně programovat NDEF obsah v NFC tagu samozřejmě nelze, adresa zapsaná v NFC tagu se nemění, při správě pomocí aplikace se mění pouze proces přesměrování, ktreý vykonává server aplikace. Výsledek pro koncového uživatele je ale velmi podobný a lze pro zjednodušení a lepší marketingový dojem laikům tuto službu prezentovat tímto způsobem.. 58 Pro hromadné nahrání tagů je vhodná NFC čtečka vybavená patřičným software v počítači. Jako náhrada může ale administrátorovi posloužit NFC telefon s aplikací umožňující hromadný zápis NFC tagů – například NXP TagWriter od společnosti NXP Semiconductors. Aplikace umožňuje mimo jiné nastavit zvyšující se počítadlo, které lze do libovolného stringu umístit speciálním symbolem. (Google, 2012) 57
55
http://app.nacti.me/piwik/index.php?module=CoreHome&action= index&idSite=1&period=month&date=2013-0424#module=Dashboard&action=embeddedIndex&idSite=1&period=mo mon&date=2013-0424&segment=customVariablePageName3==uzivatel;customVariable [email protected] Žlutě vyznačená část je ukázka segmentace statistik pomocí vlastní proměnné se jménem uživatel. Zobrazují se statistiky pouze s hodnotou této vlastní proměnné rovnou emailu [email protected]. Z tohoto analytického nástroje generuje administrátor výstupy pro zákazníka a odesílá reporty emailem.
6.3 Reálný provoz aplikace Aktuálně je aplikace dostupná ve dvou cenově odlišných verzích – osobní pro běžné uživatele a profesionál pro tvůrce mobilních kampaní. Funkce osobní verze je možné využívat zdarma, profesionální verze je zpoplatněna podle individuální dohody a pohybuje se od 99 Kč za měsíc. Profesionální verze se liší od osobní možností získat detailní statistiky zasílané v týdenním přehledu. Statistiky jsou generované pomocí analytického nástroje Piwik, viz kapitola 6.2.2. Z důvodu nízkého rozpočtu na propagaci aplikace jsou uživatelé potřební pro odladění aplikace generováni distribucí nakódovaných NFC tagů pro správu pomocí aplikace. Tyto NFC tagy získávají zákazníci realizující významné objednávky v eshopu NFCmix jako dárek ke své objednávce. Aplikace je dále využívána k realizaci soukromých marketingových kampaní firmy CALL nebo ostatních kampaní používaných k popularizaci NFC technologie. Jako příklad nasazení aplikace lze jmenovat marketingovou kampaň pro akci Vzhůru na Petřín, kde byly formou interaktivní tabule s NFC tagy a QR kódy propagovány sociální sítě pořádající politické strany. NFC tagy spravované pomocí aplikace Načti.mě jsou umístěné také na patře fakulty Informatiky a statistiky Vysoké školy ekonomické v Praze.
56
7 Závěr Život ve všech oblastech moderního světa se neustále zrychluje. V marketingu, při procesech získávání pozornosti zákazníka je tento trend uspěchané společnosti vidět na chování koncových uživatelů. Jakmile je potřeba provést několik po sobě jdoucích úkonů, byť jen na displeji mobilního telefonu, rázem exponenciálně klesá procento úspěšných interakcí s obsahem. NFC technologie vzniká jako odpověď na náladu ve společnosti. V ideálních případech stačí pro interakci s obsahem přiložit mobilní telefon s podporou NFC k označenému místu. V současnosti je vývoj okolních prvků ovlivňujících úroveň komfortního využívání velmi roztříštěný. Ideálnímu stavu se přiblíží uživatelé jen na určité kombinaci různých faktorů. Těmi může být použitý operační systém, aplikace nainstalované v mobilním telefonu, typ mobilního telefonu, či obsah distribuovaný pomocí NFC. Cílem všech subjektů figurujících v NFC ekosystému by mělo být implementovat technologii do svých zařízení, či aplikací při sktriktním dodržování výše popisovaných standardů a postupů pro komunikaci prostřednictvím protokolů NFC. Jedině tak bude zaručena vzájemná multiplatformost prvků NFC a tedy i požadovaný komfort pro uživatele. Základním tématem práce byl návrh funkční aplikace jako prvku umožňujícího používání NFC technologie v rozsáhlejších mobilních kampaních. Na reálných projektech a při testování zákazníky eshopu NFCmix byla ověřena integrita a funkčnost aplikace. V současné době je NFC technologie na svém vzestupu a dá se očekávat zvyšování poptávky po komplexním nástroji tohoto typu. Aplikace bude proto procházet neustálými vývojem, aby byla připravena na zvýšený zájem zákazníků. Autor pevně věří v masivní nástup NFC technologie v následujících letech. Předpokládá, že se aplikace Načti.mě stane nepostradatelným pomocníkem při realizaci inovativních marketingových kampaní.
57
8 Bibliografie ADVANCED CARD SYSTEMS, Ltd., 2013. ACS | Top PC-linked smart card reader supplier: Homepage [online]. [vid. 7. May 2013]. Dostupné z: http://www.acs.com.hk/ ANDREW DAVIS, 2012. Xbox use Tapit to help launch Halo 4 in world first poster hunt on JCDecaux Outdoor. [online]. [vid. 28. April 2013]. Dostupné z: http://www.tapit.com.au/blog/Xbox-use-Tapit-for-Halo4 ANON., 2000. PHILIPS SEMICONDUCTORS: Philips Semiconductors’ MIFARE technology used for contactless ticketing in Taipei; Smart ticketing aims to boost use of public transport. M2 Presswire [online]. s. 1, [vid. 4. April 2013]. Dostupné z: http://search.proquest.com/docview/445964823?accountid=17203 ANON., 2001. PHILIPS SEMICONDUCTORS: Beijing Public Transport selects Philips Semiconductors’ MIFARE contactless smart card technology for the Beijing One Card. M2 Presswire. s. 1–1. , ANON., 2003a. KDDI Mulling Mounting Sony’s FeliCa IC Card on Mobile Terminals. Jiji Press English News Service [online]. s. 1, [vid. 7. May 2013]. Dostupné z: http://search.proquest.com.ezproxy.vse.cz/docview/448507399/13DE6110E4762AC4A 68/1?accountid=17203 ANON., 2003b. Sony’s FeliCa-Based Tech Adopted as Int'l Standard. Jiji Press English News Service [online]. s. 1, [vid. 7. May 2013]. Dostupné z: http://search.proquest.com.ezproxy.vse.cz/docview/448409609/13DE61073A44A4375 A3/1?accountid=17203 ANON., 2004a. Nokia, Philips and Sony Establish the Near Field Communication, NFC, Forum. Business Wire. s. 1–1. , ANON., 2004b. Nokia, Philips and Sony Establish the Near Field Communication, NFC, Forum. Business Wire [online]. s. 1, [vid. 28. March 2013]. Dostupné z: http://search.proquest.com/docview/445709807?accountid=17203 ANON., 2011. NXP NFC Chips | NFC Development & Consulting [online]. [vid. 7. April 2013]. Dostupné z: http://www.nfc.cc/TECHNOLOGY/NXP-NFC-CHIPS/ ANON., 2013a. Affero General Public License [online]. 2013. S.l.: s.n. [vid. 28. April 2013]. Dostupné z: http://cs.wikipedia.org/w/index.php?title=Affero_General_Public_License&oldid=9956 187 ANON., 2013b. AJAX. Wikipedie [online]. [vid. 29. April 2013]. Dostupné z: http://cs.wikipedia.org/w/index.php?title=AJAX&oldid=10127324 ANON., 2013c. Licence MIT – Wikipedie [online]. [vid. 8. April 2013]. Dostupné z: http://cs.wikipedia.org/wiki/Licence_MIT 58
ANON., 2013d. Single Wire Protocol - Wikipedia, the free encyclopedia. Wikipedie [online]. [vid. 12. March 2013]. Dostupné z: http://en.wikipedia.org/wiki/Single_Wire_Protocol ANONYMOUS, 1998. Philips opens up “Mifare”. Electronic News [online]. vol. 44, no. 2210, s. 26, [vid. 25. February 2013]. Dostupné z: http://search.proquest.com/docview/209732044?accountid=17203 BALABAN, Dan, 2011. Texas Instruments Looks Past Mobile Phones With First NFC Chip | NFC Times – Near Field Communication and all contactless technology. nfctimes.com [online]. [vid. 7. May 2013]. Dostupné z: http://nfctimes.com/news/texasinstruments-looks-beyond-mobile-phone-market-new-nfc-chip BLACKBERRY, 2013. Re: NFC api for mifare classic - BlackBerry Support Community Forums [online]. [vid. 9. April 2013]. Dostupné z: http://supportforums.blackberry.com/t5/Java-Development/NFC-api-for-mifareclassic/m-p/1392175/highlight/true#M180125 BUSINESS EDITORS/HIGH-TECH WRITERS, 2002. Philips’ MIFARE Identification Chips Just the Ticket for London's Oyster Smart Card. Business Wire [online]. s. 1, [vid. 25. February 2013]. Dostupné z: http://search.proquest.com/docview/446388523?accountid=17203 BUSINESSWEEK, 2013. Innovision Research & Technology PLC: Private Company Information - Businessweek [online]. [vid. 5. April 2013]. Dostupné z: http://investing.businessweek.com/research/stocks/private/snapshot.asp?privcapId=9010 786 BYRNE, Tony and Phil KEMELOR, 2009. Feature Article | Real Story Group [online]. [vid. 8. April 2013]. Dostupné z: http://www.realstorygroup.com/Feature/191-DataOwnership CLARION HOTEL STOCKHOLM, b.r. NFC mobile phones replace hotel keys | Clarion Hotel Stockholm [online]. [vid. 28. April 2013]. Dostupné z: http://www.clarionstockholm.com/nfc-project CONSULTING, Pacific Research, 2004. NTT DoCoMo, Sony JV to focus on FeliCa RFID applications. Innovative New Packaging in Japan [online]. vol. 8, no. 1, s. 1, [vid. 7. May 2013]. Dostupné z: http://search.proquest.com.ezproxy.vse.cz/docview/196474685/13DE60F3CE81E29A2 EE/1?accountid=17203 DAN BALABAN, 2013. Visa Gearing Up For NFC Launches in UK, Working with Banks and Telcos | NFC Times – Near Field Communication and all contactless technology. [online]. [vid. 28. April 2013]. Dostupné z: http://nfctimes.com/news/report-visa-and-telcos-gearing-nfc-launches-uk ECMA-INTERNATIONAL, 2012. Standard ECMA-373 [online]. S.l.: Ecmainternational.org [vid. 7. May 2013]. Dostupné z: http://www.ecmainternational.org/publications/standards/Ecma-373.htm 59
ENVATO, 2013a. Premium WordPress Themes, Web Templates, Mobile Themes | ThemeForest [online]. [vid. 8. May 2013]. Dostupné z: http://themeforest.net/ ENVATO, 2013b. Regular License | ThemeForest [online]. [vid. 7. April 2013]. Dostupné z: http://themeforest.net/licenses/regular FARLEX, Inc., 2013. TAG - definition of TAG by the Free Online Dictionary, Thesaurus and Encyclopedia. [online]. [vid. 4. April 2013]. Dostupné z: http://www.thefreedictionary.com/tag FLOMIO, 2012. Kickstarter >> FloJack / FloCase - NFC Reader/Writers for iPhone and iPad by Flomio [online]. [vid. 2. April 2013]. Dostupné z: http://www.kickstarter.com/projects/flomio/flojack-nfc-for-ipad-and-iphone FREE SOFTWARE FOUNDATION EUROPE, b.r. GPLv3: Drafting version 3 of the GNU General Public License [online]. S.l.: Free Software Foundation Europe. [vid. 8. May 2013]. Dostupné z: http://fsfeurope.org/projects/gplv3/ GÁLA, Libor, 2006. URI, URL a URN [online]. [vid. 8. April 2013]. Dostupné z: http://nb.vse.cz/~gala/4it383/pomucky/uri.htm GALLAGHER, Nicolas and Jonathan NEAL, 2013. normalize.css [online]. 2013. S.l.: s.n. [vid. 7. February 2013]. Dostupné z: https://github.com/necolas/normalize.css GALLO, Francesco, 2011. White paper - NFC Tags - NXP Technical report [online]. 2011. S.l.: s.n. [vid. 8. May 2013]. Dostupné z: http://www.nfctags.com/documents/White_paper_NFC Tags_NXP_Technical report_December_2011.pdf GE MONEY, 2013. Bezkontaktní nálepka - GE Inovace [online]. 2013. S.l.: s.n. [vid. 28. April 2013]. Dostupné z: http://www.inovujeme.cz/bezkontaktni-nalepka GEMA TOUCH, 2013. Gematouch [online]. [vid. 8. April 2013]. Dostupné z: http://www.gematouch.com/ GOOGLE, Inc., 2012. NFC TagWriter by NXP - Aplikace pro Android ve službě Google Play [online]. 2012. S.l.: s.n. [vid. 30. April 2013]. Dostupné z: https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter&feature=search_re sult#?t=W251bGwsMSwxLDEsImNvbS5ueHAubmZjLnRhZ3dyaXRlciJd IFIXIT, 2013a. BlackBerry Z10 Teardown - iFixit [online]. [vid. 22. April 2013]. Dostupné z: http://www.ifixit.com/Teardown/BlackBerry+Z10+Teardown/13445/1 IFIXIT, 2013b. iFixit: The free repair manual [online]. [vid. 12. April 2013]. Dostupné z: http://www.ifixit.com/ IMA S.R.O., 2012. | NFCdocházka.cz [online]. [vid. 5. April 2013]. Dostupné z: www.nfcdochazka.cz
60
IMA S.R.O., 2013. Systém OtevírejMobilem - PATRON-PRO.cz. PATRON-PRO.cz [online]. [vid. 28. April 2013]. Dostupné z: www.patron-pro.cz/otevirej-mobilem ISO/IEC, 2012. ISO/IEC 21481 -Near Field Communication Interface and Protocol -2 (NFCIP-2). 2012. S.l.: s.n. ISO/IEC, 2013a. ISO/IEC 18092:2013 - Information technology -- Telecommunications and information exchange between systems -- Near Field Communication -- Interface and Protocol (NFCIP-1) [online]. 2013. S.l.: s.n. [vid. 15. March 2013]. Dostupné z: http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics 2=100&ics3=10&csnumber=56692 ISO/IEC, 2013b. ISO/IEC 21481:2012 - Information technology -- Telecommunications and information exchange between systems -- Near Field Communication Interface and Protocol -2 (NFCIP-2) [online]. 2013. S.l.: s.n. [vid. 15. March 2013]. Dostupné z: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=56855 JAPANTODAY, 2011. Sony to launch next generation FeliCa contactless IC chip ‹ Japan Today: Japan News and Discussion [online]. [vid. 8. May 2013]. Dostupné z: http://www.japantoday.com/category/technology/view/sony-to-launch-next-generationfelica-contactless-ic-chip KARL DYER, 2013. Madrid gets NFC bus stops - NFC World. NFC World [online]. [vid. 30. January 2013]. Dostupné z: http://www.nfcworld.com/2013/04/23/323654/madrid-gets-nfc-bus-stops/ KOMERČNÍ BANKA, 2012. NFC mobilní platby v České republice komerčně spuštěny - Komerční banka [online]. [vid. 28. April 2013]. Dostupné z: http://www.kb.cz/cs/o-bance/tiskove-centrum/tiskove-zpravy/nfc-mobilni-platby-vceske-republice-komercne-spusteny-1480.shtml LAWBAUGH, Paul, 2012. Indifference to Privacy and Data Ownership Could Cost You $ – Webtrends Blog [online]. [vid. 8. April 2013]. Dostupné z: http://blogs.webtrends.com/2012/06/indifference-to-privacy-and-data-ownership-couldcost-you/ MARIO W. CARDULLO, 1973. Transponder Apparatus and System [online]. 1973. S.l.: s.n. [vid. 30. January 2013]. Dostupné z: http://www.google.com/patents/US3713148 MARK ROBERTI, 2005. The History of RFID Technology - RFID Journal. RFID Journal [online]. [vid. 3. March 2013]. Dostupné z: http://www.rfidjournal.com/articles/view?1338 MCLAUGHLIN, 2009. Mifare DESFire® Specification [online]. [vid. 4. April 2013]. Dostupné z: http://www.scnf.org.uk/smartstore/LASSeO docs/DESFIRE Specification V1 0.pdf MIKE CLARK, 2013. GSMA staff get NFC hotel keys for Mobile World Congress NFC World. NFC World [online]. [vid. 6. March 2013]. Dostupné z: 61
http://www.nfcworld.com/2013/02/26/322740/gsma-staff-get-nfc-hotel-keys-formobile-world-congress/ NÁPRSTEK, Miloslav, 2011. Projekt Muzeum4U spolupracuje s NFC tagy | nfctech.cz [online]. [vid. 28. April 2013]. Dostupné z: http://www.nfctech.cz/projekt-muzeum4uspolupracuje-s-nfc-tagy/ NÁPRSTEK, Miloslav, 2012a. Jak se platilo bezkontaktně na Open Air Festivalu? | nfctech.cz [online]. [vid. 28. April 2013]. Dostupné z: http://www.nfctech.cz/jak-seplatilo-bezkontaktne-na-open-air-festivalu/ NÁPRSTEK, Miloslav, 2012b. Lexus přináší NFC reklamu v tištěné verzi časopisu Wired | nfctech.cz [online]. [vid. 28. April 2013]. Dostupné z: http://www.nfctech.cz/lexus-prinasi-nfc-reklamu-v-tistene-verzi-casopisu-wired/ NFC FORUM, Inc., 2006. NFC Record Type Definition (RTD) - Technical Specification. 2006. S.l.: NFC Forum, Inc. NFC FORUM, Inc., 2010a. Connection Handover - Technical Specification. 2010. S.l.: NFC Forum, Inc. NFC FORUM, Inc., 2010b. Logical Link Control Protocol - Technical Specification. 2010. S.l.: NFC Forum, Inc. NFC FORUM, Inc., 2011. Simple NDEF Exchange Protocol - Technical Specification. 2011. S.l.: NFC Forum, Inc. NFC FORUM, Inc., 2013a. NFC Forum : About the Forum [online]. [vid. 7. April 2013]. Dostupné z: http://www.nfc-forum.org/aboutus/ NFC FORUM, Inc., 2013b. NFC Forum : Specification Dashboard [online]. [vid. 8. April 2013]. Dostupné z: http://www.nfc-forum.org/specs/spec_dashboard/ NFC RESEARCH LAB HAGENBERG, b.r. Near Field Communication - NFC Research Lab: NFC Glossary [online]. S.l.: s.n. [vid. 3. February 2013]. Dostupné z: http://www.nfc-research.at/index.php?id=40 NITZAN TAL, 2012. Connecting the NFC Ecosystem Dots… to the Point of Sale. 2012. Hagenberg: NFC Congress 2012 Hadenberg. NXP B.V., 2010. NXP NFC controller PN544 for mobile phones and portable equipment. 2010. S.l.: NXP. NXP SEMICONDUCTORS, 2009. NFC Forum Type Tags WhitePaper [online]. 2009. S.l.: s.n. [vid. 5. February 2013]. Dostupné z: http://www.nxp.com/documents/other/identification/173110_NFC_Forum_Type_Tags_ WhitePaper.pdf NXP SEMICONDUCTORS, 2013. MIFARE DESFire EV1 4K :: NXP Semiconductors [online]. [vid. 5. April 2013]. Dostupné z: 62
http://www.nxp.com/products/identification_and_security/smart_card_ics/mifare_smart _card_ics/mifare_desfire/series/MIFARE_DESFIRE_EV1_4K.html ODDĚLENÍ CESTOVNÍHO RUCHU MĚSTA DĚČÍN, 2011. NFC - inovativní technologie v Děčíně [online]. [vid. 28. April 2013]. Dostupné z: http://www.idecin.cz/index.php?option=com_content&view=article&id=149&Itemid=1 58&lang=cs ONE2TOUCH, 2012. NFC keyboard | one2TOUCH [online]. [vid. 2. April 2013]. Dostupné z: http://www.one2touch.no/?page_id=58 PETERKA, Jiri, 1991. Jiří Peterka: Peer-to-peer, aneb .... [online]. 1991. S.l.: s.n. [vid. 7. May 2013]. Dostupné z: http://www.earchiv.cz/a91/a139c120.php3 PETERKA, Jiri, 1992. Jiří Peterka: Connection-oriented vs. Connectionless [online]. 1992. S.l.: s.n. [vid. 6. February 2013]. Dostupné z: http://www.earchiv.cz/a92/a246c120.php3 PIWIK.ORG, 2012a. Custom Variables Analytics - Analytics - Piwik. Analytics - Piwik [online]. [vid. 28. April 2013]. Dostupné z: http://piwik.org/docs/custom-variables/ PIWIK.ORG, 2012b. Free Web Analytics Software - Analytics - Piwik [online]. [vid. 8. April 2013]. Dostupné z: http://piwik.org/ PIWIK.ORG, 2012c. Piwik is Free Software - Analytics - Piwik [online]. [vid. 8. April 2013]. Dostupné z: http://piwik.org/free-software/ PIWIK.ORG, 2012d. The Piwik Team - Analytics - Piwik [online]. [vid. 8. April 2013]. Dostupné z: http://piwik.org/the-piwik-team/ PLZEŇSKÉ DOPRAVNÍ PODNIKY, 2012. Inteligentní zastávky v podobě iTAGů jsou cestujícím k dispozici - : Plzeňské městské dopravní podniky a.s. [online]. [vid. 28. April 2013]. Dostupné z: http://www.pmdp.cz/o-nas/aktualne/inteligentni-zastavky-vpodobe-itagu-jsou-cestujicim-k-dispozici.aspx POKEN, 2012. Boost Networking in Corporate Events, Conventions, and Fairs. Get Communitiy Building and Event Mobile Apps - Poken [online]. [vid. 2. April 2013]. Dostupné z: http://www.poken.com/ RADEK JÍCHA, 2005. Salted hash - další krok ke zvýšení bezpečnosti | Interval.cz. interval.cz [online]. [vid. 27. April 2013]. Dostupné z: http://interval.cz/clanky/saltedhash-dalsi-krok-ke-zvyseni-bezpecnosti/ RAPIDNFC, 2013a. NFC Tag Antennas [online]. [vid. 6. April 2013]. Dostupné z: http://rapidnfc.com/nfc_tag_antennas RAPIDNFC, 2013b. Which NFC Chip ? [online]. [vid. 5. April 2013]. Dostupné z: http://rapidnfc.com/which_nfc_chip
63
RICHARD, Ozh and Lester CHAN, 2013a. Tags : YOURLS / YOURLS : GitHub [online]. [vid. 7. February 2013]. Dostupné z: https://github.com/YOURLS/YOURLS/tags RICHARD, Ozh and Lester CHAN, 2013b. YOURLS / YOURLS : GitHub [online]. [vid. 8. April 2013]. Dostupné z: https://github.com/YOURLS/YOURLS#license RICHARD, Ozh and Lester CHAN, 2013c. YOURLS: Your Own URL Shortener [online]. [vid. 8. April 2013]. Dostupné z: http://yourls.org/#About RYAN BODEN, 2013. Eye picks Zappit for NFC advertising in US malls - NFC World. NFC World [online]. [vid. 4. April 2013]. Dostupné z: http://www.nfcworld.com/2013/04/25/323715/eye-picks-zappit-for-nfc-advertising-inus-malls/ SARAH CLARK, 2012. Sydney picks NFC and QR codes to guide visitors around The Rocks - NFC World. NFC World [online]. [vid. 28. April 2013]. Dostupné z: http://www.nfcworld.com/2012/07/02/316609/sydney-picks-nfc-and-qr-codes-to-guidevisitors-around-the-rocks/ SARAH CLARK, 2013a. 10,000 NFC ad panels go live across the UK - NFC World. NFC World [online]. [vid. 28. February 2013]. Dostupné z: http://www.nfcworld.com/2013/03/14/323087/10000-nfc-ad-panels-go-live-across-theuk/ SARAH CLARK, 2013b. Clear Channel brings NFC to 10,000 ad panels across the UK - NFC World. NFC World [online]. [vid. 30. January 2013]. Dostupné z: http://www.nfcworld.com/2013/02/13/322309/clear-channel-brings-nfc-to-10000-adpanels-across-the-uk/ SKJOLBERG, Thomas, 2013. nfc-eclipse-plugin - Near Field Communications plugin for Eclipse - Google Project Hosting [online]. 2013. S.l.: s.n. [vid. 8. May 2013]. Dostupné z: https://code.google.com/p/nfc-eclipse-plugin/ SMART CARD ALLIANCE, 2013. About Smart Cards : Frequently Asked Questions Smart Card Alliance [online]. [vid. 1. April 2013]. Dostupné z: http://www.smartcardalliance.org/pages/smart-cards-faq#how-do-contactless-smartcards-work SONY CORPORATION and PHILIPS, 2002. Sony Global - Press Release - PHILIPS AND SONY ANNOUNCE STRATEGIC COOPERATION TO DEFINE NEXT GENERATION NEAR FIELD RADIO-FREQUENCY COMMUNICATIONS Electronics Leaders to Jointly Establish Wireless Technology to Significantly Enhance Access to Data and Serv [online]. [vid. 3. March 2013]. Dostupné z: http://www.sony.net/SonyInfo/News/Press_Archive/200209/02-0905E/ SPRINGER, 2013. Vicinity Card [online]. 2013. S.l.: s.n. [vid. 7. March 2013]. Dostupné z: http://www.springerreference.com/docs/html/chapterdbid/317803.html
64
SWS EMARKETING, 2013. Redeeming the 9 Sins of Google Analytics [online]. [vid. 8. April 2013]. Dostupné z: http://www.swsemarketing.com/blog/51/Redeeming_the_9_Sins_of_Google_Analytics/ THE PHP GROUP, 2001. PHP: SQL Injection - Manual [online]. [vid. 29. April 2013]. Dostupné z: http://www.php.net/manual/en/security.database.sql-injection.php VOGEL, Lars, 2013. Android Intents - Tutorial [online]. [vid. 8. April 2013]. Dostupné z: http://www.vogella.com/articles/AndroidIntent/article.html WIRELESS DYNAMICS INC., 2013. iCarteTM - The Ultimate NFC/RFID Reader for iPhone® [online]. [vid. 2. April 2013]. Dostupné z: http://www.icarte.ca/
9 Seznamy 9.1 Seznam obrázků Obrázek 3.1 - Diagram NFC komunikace v telefonu ..................................................... 17 Obrázek 3.2 - Univerzální symbol bezkontaktní platby.................................................. 20 Obrázek 5.1 - Aktuální verze loga webové správy Načti.mě .......................................... 35 Obrázek 5.2 - Část databázové struktury obsluhující spojení uživatele a url adresu ...... 42
9.2 Seznam tabulek Tabulka 3.1 - Umístění indukčního obvodu ve vybraných přístrojích............................ 19 Tabulka 3.2 - Parametry čipů používaných v NFC tazích .............................................. 24