Dostupnost navigačních technologií typu GPS je díky smartphonům (a dalším víceúčelovým zařízením) dnes natolik rozšířená, že tak tvůrci software mají k dispozici nové převratné technologie, které mohou masově využít v mobilních a webových aplikacích. Již před časem bylo v mém článku o lokálně kontextových službách (tzv. LBS z angl. Location Based Services) uvedeno několik tehdy fungujících mobilních aplikací, které GPS využívaly. Za všechny lze jmenovat dnes stále více populární geosociální sítě jako jsou Facebook places (ten odkoupil již dříve zavedenou službu Gowalla, která byla posléze zrušena) či Foursquare, aplikací využívající tyto technologie však vzniká stále více. V tomto článku se proto zaměříme na webové aplikace využívající lokalizační technologie, které však rozhodně nejsou synonymem pouze GPS jak by se mohlo na první pohled zdát.
Pojmem Geolokace se rozumí aktivita pro získání tzv. geografických dat, určujících polohu uživatele na povrchu Země. Pro tento účel existuje v současné době metoda pomocí GPS (konkurenční Galileo bude provozovat EU a připravuje se na spuštění v roce 2014). Tento způsob ovšem nelze mnohdy uplatnit a proto se jako podpůrné metody využívají i jiné technologie, které nemají původní účel pro lokaci. Příkladem jsou vysílače BTS (Base Transceiver Station – základnová stanice mobilních sítí 2G neboli vysílač a přijímač telefonního signálu v jednom) u GSM či Node-B (viz. BTS, tento termín je však využvaný v mobilních sítích 3G) UMTS mobilních sítí či vysílače bezdrátové datové technologie WiFi, které s použitím matematické metody triangulace síly signálu lze využít pro poměrně přesnou lokaci. Dalším možným způsobem je lokace dle IP adresy, tento způsob však patří k nejméně přesným a v případě geolokačních aplikací využívajících mobilního připojení kde je IP adresa přidělována dynamicky, je tato metoda nevhodná.
V současnosti používané metody lokace:
Metoda lokace | Průměr. přesnost [metry] | Výhody | Nevýhody |
BTS |
250 – 5000 |
Funkčnost při NLOS (z angl. Non Line Of Sight, neboli přenos dat bez nutnosti přímé viditelnosti na vysílač, blíže vysvětleno v tomto článku). |
Málo přesná lokace. |
Výborné pokrytí (v ČR 95-99%, viz. tento článek) území a dostupnost. |
|||
Krátká doba inicializace. |
|||
Nízká spotřeba energie baterie. |
|||
Nezatěžuje síťový přenos. |
|||
GPS |
5 – 20 |
Velmi přesná lokace. |
Nutnost LOS (z angl. Line Of Sight, neboli přenos dat s nutností přímé viditelnosti na vysílač, blíže vysvětleno v tomto článku). |
Výborné pokrytí území a dostupnost. |
Delší doba inicializace. |
||
Nezatěžuje síťový přenos. |
|||
aGPS |
10 – 50 |
Funkčnost při NLOS. |
Zatěžuje síťový přenos (GPRS). |
Poměrně přesná lokace. |
|||
Výborné pokrytí (v ČR 95-99%) území a dostupnost. |
|||
Krátká doba inicializace. |
|||
Nízká spotřeba energie baterie (při GSM). |
|||
IPS (Bluetooth, WiFi, atd.) |
1 – 30 (dle počtu access pointů) |
Funkčnost při NLOS. |
Nutná dodatečná bezdr. infrastruktura. |
Velmi přesná lokace. |
Zatěžuje síťový přenos. |
||
Krátká doba inicializace. |
Webové technologie podporující geolokaci
Současná mobilní zařízení fungují na různých platformách a zejména smartphony často využívají různé, navzájem nekompatibilní operační systémy (Android, Windows Phone, iOS, Symbian, Bada a další). Pro vývoj mobilních aplikací tedy proto existují dva odlišné přístupy:
- Vývoj nativních aplikací – neboli aplikací vytvářených pouze pro určitou platformu (např. Android), které na jiných platformách nefungují. Tyto mobilní aplikace jsou nejčastěji vytvořeny v programovacím jazyce C/C++, jehož zdrojové kódy jsou poté přeloženy do nativního kódu pro každou platformu zvlášť.
- Vývoj multiplatformních aplikací – mobilní aplikace vytvořeny v systémech, které jsou nejčastěji spouštěné pomocí různých interpreterů (např. Adobe Flex, Adobe Flash, Microsoft Silverlight, Java, JavaScript, atd.), jež jsou obvykle volně k dispozici pro většinu platforem.
Pro LBS které vyžadují aktuální údržbu zdrojových kódů mobilních aplikací je zcela na místě přistupovat k variantě multiplatformního vývoje. Omezení nenativních mobilních aplikací, které neměly přístup k funkcím systému a hardwaru (např. GPS) jsou v současné době již překonány. Na poli multiplatformních mobilních aplikací je to především díky konsorciu W3C (angl. World Wide Web Consortium), které v posledních dvou letech vydalo standardy pro velké množství API (angl. Application Programming Interface, neboli rozhraní které umožňuje v tomto případě ve webových aplikacích používat standardizované nové funkce) specifikací pro přístup webových aplikací k funkcím systému a hardwaru, které jsou již nyní v mobilních webových prohlížečích solidně podporovány. Mezi tyto specifikace patří zejména pro geolokační webové aplikace zcela klíčové Geolocation API Specification (rozhraní na straně webového klienta pro geolokaci – k dispozici je zde na WWW), dále pak Battery Status API (rozhraní na straně webového klienta pro údaje o stavu napájení mobilního zařízení, tedy baterie mobilního telefonu, notebooku, atd. – k zhlédnutí je zde na WWW), Screen Orientation API (rozhraní na straně webového klienta pro údaje o orientaci obrazovky mobilního zařízení – zde na WWW), Vibration API (rozhraní na straně webového klienta pro vibraci mobilního zařízení – zde na WWW) a mnohé další. Všechny tyto specifikace vyhovují HTML v5 a jako skriptovací jazyk je zde tedy podporován ECMAScript (který je kompatibilní s JavaScript).
Podpora web. technologií v mobilních web. prohlížečích:
Webové technologie na straně klienta |
Mobilní prohlížeč |
Internet Explorer Mobile (ver.9) |
Opera Mobile (ver.12) |
Firefox for mobile (ver.10) |
Google Android (ver.2) |
Geolocation API |
Ano |
Ano |
Ano |
Ano |
|
Battery Status API | Ne | Ne | Ano | Ne | |
Screen Orientation API | Ne | Ne | Ano | Ne |
Příklad využití API pro geolokaci (kliknutím na obrázek se otevře webová aplikace s geolokací, ve webovém prohlížeči je však potřeba povolit sledování polohy):
Příklad využití API pro stav baterie (kliknutím na obrázek se otevře webová aplikace s technologií aktuálně podporovanou ve webovém prohlížeči Mozilla Firefox):
Geolokační metody, mapové podklady ve webových aplikacích
Výše uvedená rozhraní API od konsorcia W3C implementuje každý webový prohlížeč vlastním způsobem – specifikace standardu mu totiž neudávají, jakou metodou mají být geodata získána. Pokud není dostupný GPS přijímač, tak webové prohlížeče využívají další metody lokace, v případě dostupnosti technologie WiFi pak nejčastěji nasbírají údaje o všech dostupných WiFi sítích v okolí (jejich názvy, MAC adresy, sílu signálů). Tyto údaje pošlou přes běžný Http protokol speciální lokalizační webové službě, která je porovná s údaji ve své databázi se známým umístěním (ty byly nashromážděny kupříkladu pomocí Google Car sběrem dat o WiFi sítích – zajímavý článek na toto téma je uveden zde) a na základě toho vypočítá pravděpodobnou polohu mobilního zařízení, jejíž souřadnice pošle zpět webovému prohlížeči, který ji předá webové aplikaci. Webovými prohlížeči dvě aktuálně používané webové lokalizační služby jsou od firmy Google a od Microsoftu. Většina webových prohlížečů dnes využívá právě lokalizační službu Google, Internet Explorer pak službu od Microsoftu.
Získaná geodata mohou být využita ve webových aplikacích LBS k účelům popsaným výše, již v současnosti existuje na Internetu celá řada takových aplikací, některé jsou k dispozici i se zdrojovými kódy – kupříkladu výše uvedená aplikace na těchto WWW (ve webovém prohlížeči je potřeba povolit sledování polohy). V případě informačních a navigačních služeb jsou často využity i mapové podklady pro zobrazení blízkých bodů zájmu – mapy pro využití v geolokačních aplikacích jsou k dispozici od několika poskytovatelů, nejčastěji jsou pak využívány mapy společnosti Google, mapy Bing od společnosti Microsoft, mapy Ovi od společnosti Nokia anebo mapy projektu OpenStreetMap. Význam mobilních mapových podkladů v poslední době roste, což dokazuje i následující tabulka zachycující využití mobilních map v zemích EU.
Využívání mobilních map v zemích EU:
Země |
Uživatelů k únoru 2009 [tisíce] |
Uživatelů k únoru 2010 [tisíce] |
Uživatelů k únoru 2011 [tisíce] |
EU | 12 530 | 21 099 | 35 446 |
Velká Británie | 3 070 | 5 700 | 10 602 |
Německo | 2 159 | 3 870 | 6 927 |
Španělsko | 1 830 | 3 132 | 5 356 |
Itálie | 3 198 | 4 879 | 7 465 |
Zdroj: http://adfonic.com/wp-content/uploads/2012/03/geo-location-white-paper.pdf
Závěr
Na všeobecnou dostupnost technologií které mohou sloužit ke geolokaci u koncových uživatelů, jak vidno začínají reagovat tvůrci API jako W3C, Google a další – díky tomu mohou vývojáři své webové aplikace posunout zase o notný kus dál a uživatelům umožnit využití aplikací v terénu, kde tak mohou poskytovat lokální informace a služby jako již zmiňované lokálně kontextové služby (LBS).
Věřme tedy, že tyto nové technologie přinesou veřejnosti užitek a efektivitu, a nebudou nástrojem pro zneužití informací či dokonce šikanu zaměstnanců, o čemž se hovořilo v médiích v případě zavedení GPS u zaměstnanců České pošty v tomto článku či v dalším zde.
Diskuze k článku