Mobilizace aneb pestrý svět vývoje mobilních aplikací

Podívejme se pod povrch Javy. Jak se programuje pro Nokie? V čem bude výjimečný Google Android?

Mobile internet applications. Mobile social networking. Location based mobile services. Mobile 2.0. Někteří z nás tyto pojmy nikdy neslyšeli, někteří za nimi správně tuší nové mobilní technologie a někteří tyto technologie dennodenně běžně používají.

Žijeme uprostřed mobilní revoluce. Uživatelé mobilů dnes berou jako samozřejmost možnost nahrát mobilem zajímavou situaci, odeslat video na osobní blog či YouTube, nebo jej poslat z mobilu emailem. Mobil pro ně už dávno není jen přístroj pro volání odkudkoliv komukoliv. Je to nezbytné zařízení v němž je uložena galerie oblíbených fotografií, videoklipů, empétrojek, zařízení které umožňuje přistup k několika komunikačním kanálům současně, zařízení do nějž se přenáší úkoly a schůzky při odchodu z práce.

Nová generace mobilních uživatelů však vyžaduje víc, mobil pro ně stále více bude nenahraditelným „all-in-one“ přístrojem, který pomáhá organizovat a řešit každodenní úkoly a situace. Nákup elektronické jízdenky do ranního autobusu, přístup k online zpravodajství během cesty do práce, rezervace stolu pro pracovní oběd v oblíbené restauraci, vyhledání programu kina, rezervace vstupenek a další a další.

Přestože vedle mobilu dnes existují internet tablety, UMPC či HDPC, většina mobilních služeb bude (a je) provozována právě na mobilech. Je to logické, žádné jiné zmíněné zařízení nemůže svou kompaktností a přenositelností dnešním mobilům konkurovat. Co se týče hardwarového vybavení potřebného pro chod různorodých mobilních služeb a aplikací, ani zde není problém, žijeme v době technologií UMTS, WiMaX, SDD disků, mobilní televize či grafických akcelerátorů pro mobilní přístroje. Základním předpokladem pro vývoj a provoz sofistikovaných mobilních aplikací však jsou softwarové vývojové platformy.

Dovolte mi, abych se s vámi v následujícím textu podělil o zkušenosti s vybranými platformami pro vývoj mobilních aplikací a služeb, se kterými pracujeme v ostravském Mobility týmu společnosti TietoEnator-Digital Innovations.

Nokia Intellisync, řešení pro mobilní kancelář

Zajímavou platformou pro realizaci a provoz mobilních služeb je řešení Nokia Intellisync Mobile Suite. Jedná se o soubor produktů kompletně pokrývajících potřeby mobilní kanceláře. V první řadě je zde aplikace Wireless Email umožňující mobilní přístup k mailovým serverům provozovaným ve firemním intranetu. Tuto aplikaci dnes provozuje řada mobilních operátorů jako součást svého portfolia mobilních služeb pro firemní klientelu. Je však samozřejmě možné zprovoznit vlastní řešení postavené na Wireless Email nezávisle na operátorovi. Kromě přístupu k emailům zajišťuje Wireless Email také synchronizaci kalendáře, úkolů a kontaktů. Další aplikací z balíku Mobile Suite je File Sync, nástroj pro pokročilou obousměrnou synchronizaci souborů mezi úložišti ve firemním intranetu a mobilním zařízením. Za zmínku zde určitě stojí propracovaný systém sledování změn synchronizovaného obsahu, který podporuje „byte-level differencing“ – synchronizuje pouze změny v dokumentech, nikoliv celé soubory, čímž šetří čas i náklady na přenos.

Prakticky byly možnosti aplikace ověřeny na synchronizaci mezi knihovnou dokumentů portálu MS SharePoint a File Sync klientem. Application Sync (dříve Data Sync) je další součástí Mobile Suite sloužící k synchronizaci dat mezi podnikovými systémy (CRM, SFA, ERP, aj.) a mobilními klienty. Synchronizace zde probíhá na úrovni databází, Application Sync je zde middleware mezi serverovou a mobilní databází a definuje jaká data a jak mají být synchronizována. Nad mobilní databází pak běží samotná mobilní klientská aplikace (např. mobileCRM klient).

Balík Mobile Suite uzavírá aplikace Device Management pro komplexní vzdálenou administraci firemních mobilních zařízení. Tato aplikace umožňuje kromě vzdálené instalace a aktualizace programů také aplikaci různých bezpečnostních akcí (blokace telefonu v případě ztráty a zcizení, zformátování paměti telefonu atd.). Nokia Intellisync Mobile Suite podporuje téměř všechny mobilní operační systémy - Palm OS, Symbian S60/S80/UIQ, Windows Mobile, BlackBerry, PocketPC, BREW.

Mobilní firemní instant messaging a transakční boti

Nokia IEIM (Intellisync Enterprise Instant Messaging) je pak první platformou, na které v Ostravě začali masivně tvořit mobilní aplikace. Jedná se o řešení zpřístupňující korporátní instant messaging na mobilech pomocí specializovaného middleware. Idea firemního instant messagingu rozšířeného z běžných desktopů na smartphone pomocí jednoduchých klientů pro Windows Mobile, Symbian S60/80 aj. byla velmi atraktivní. A co víc, v praxi to perfektně fungovalo. Přidanou hodnotou tohoto uzavřeného a jednoúčelového řešení je možnost vytvářet boty - transakční mobilní aplikace běžící pod speciálními uživatelskými úcty, kteří se v systému tváří jako běžní uživatelé. Tito boti však jsou provázáni přes webové služby s konkrétními aplikacemi a datovými zdroji a plní specifické úkoly – vyhledávání zaměstnanců ve firemním LDAPu, čtení RSS kanálů, přístup k denně aktualizovaným jídelníčkům oblíbených restaurací.

Vytvořeny však byly i sofistikovanější aplikace umožňující upload článku na vybrané blogovací servery (i kompletní správu celého blogu), vzdálený přístup k emailům přes protokoly IMAP/POP3 či download mp3. Výhodou řešení je kvalitní integrace těchto mobilních transakčních aplikací v telefonech, např. bot prohledávající firemní LDAP umožňuje z obrazovky s výsledkem hledání vytočit telefonní číslo dané osoby či napsat dotyčnému email. Celá tato platforma transakčních botů nad Nokia IEIM se však nikdy nijak zvlášť neprosadila. Proč? Komunikace s boty probíhala v jednoduchém textovém režimu. Uživatel zadal příkaz s parametrem a bot mu vrátil výsledek. Bylo to jednoduché, efektivní ale přišlo to pozdě. Pro zákazníky mimo korporátní sféru bylo řešení nezajímavé. V té době již mobilům začínaly kralovat uživatelsky přívětivé grafické miniaplikace tvořené v J2ME a FlashLite.

J2ME aplikace a mobilní klienti

Nebyl to však konec technologie transakčních botů ve firmě TietoEnator. Byla vytvořena vlastní klient/server platforma nazvaná "TBOT" založená na J2ME, která umožnila portaci původních botů na libovolný telefon podporující profil MIDP. Mobilní klient byl vylepšen a ještě více integrován s telefonními funkcemi. Vznikly aplikace jako Amazon TBOT, služba napojená na aplikační rozhraní portálu Amazon.com. V tomto případě textově orientované uživatelské rozhraní nijak nevadilo, naopak, uživatel byl schopen díky několika málo příkazům snadno a přehledne listovat v nabídce Amazonu, prohlížet fotografie výrobku či přidávat zboží do nákupního košíku. Tato technologie je přístupná mj. pro platformu Symbian S40. Od počátku byl také brán zřetel na bezpečnost - veškerá komunikace mezi mobilním zařízením v internetu, bránou a serverovou částí v DMZ až po zdroje dat v intranetu jsou silně šifrovaná a hashovaná.

Dalším vývojovým stupněm TBOTů jsou aplikace obsahující plnohodnotné grafické uživatelské rozhraní (GUI). Opět se jednalo o populární J2ME platformu, tentokráte však již naše mobilní aplikace maximálně těžily z nabídky J2ME GUI komponent. Vznikaly tak konečně aplikace, které uživatel ovládal klasicky pomocí menu, tlačítek, posuvníků… Na sady příkazů, které uživatel musel znát pro interakci s textovými boty, se už jen nostalgicky vzpomínalo. Začal vývoj robustnějších aplikací, které byly schopné komunikovat pomocí middleware serveru s informačními systémy zákazníků. Uživatelé tak získali možnost číst a zadávat data do produkčních systémů ve firemním intranetu pomocí mobilních aplikací, které obsahovaly klíčové funkce desktopových frontendů. Byly také vyřešeny zbývající bezpečnostní rizika, systém byl připraven pro použití bezpečnostních prvků jako je dvoufaktorová autentifikace.

Mobilní widgety

Další kroky vedly přes seznamování se s technologií Nokia WidSets. Tato dnes velmi populární platforma nabízí široké portfolio mobilních aplikací, od jednoduchých RSS čteček a web parserů až po aplikace umožňující přístup ke vzdáleným internetovým datovým zdrojům. Při zavedení vhodné bezpečnostní politiky je také možné tvořit mobilní služby přistupující k firemním intranetovým aplikacím a datovým úložištím. Uživatelé této platformy mají z jednotného mobilního klienta (který je ihned po registraci na webovém portálu dostupný v mobilu) přístup k celé řadě více či méně zajímavých widgetů poskytujících real-time přístup k online obsahu. Pro platformu WidSets je příznačný atraktivní design mobilních aplikací. Zajímavý je také model získávání nových widgetů.

Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek

Uživatel je může vybírat v knihovně (přístupné z mobilu i z klasického desktopového prohlížeče), ale také z webových stránek z nichž konkrétní widget čerpá svůj obsah. Stačí aby provozovatel libovolného webu vytvořil widget, publikoval na svých WWW stránkách ikonu/link a uživatel služby WidSets jej po kliknutí a autorizaci bude mít zařazen do svého profilu a následně stažen do mobilu. Z pohledu vývojáře widgetů je práce na této platformě velmi zajímavá, nativní skriptovací jazyk Helium umožňuje tvorbu robustních aplikací a nabízí řadu užitečných funkcionalit jak pro přístup k datovým zdrojům tak pro práci s funkcemi telefonu a je nestále vylepšován.

Platforma Widsets.com je vhodná i pro tvorbu komerčních aplikací, widget je možné provázat se vzdálenými službami jako jsou platební systémy a zákaznické účty. Právě možnost komunikace se vzdálenými datovými zdroji, službami a aplikacemi provozovanými v Internetu i v zákaznickém intranetu byla důležitá vlastnost díky které widgety v Ostravě okamžitě zaujaly. Jeden ze zkušených vývojářů mobilních aplikací firmy TietoEnator například vylepšil původní “TBOT” verzi aplikace Amazon, převedl ji do designu WidSets (další info zde) a vyhrál s ním v soutěži „Widget coding competition“.

Technologie WRT widgets je pak další aktivitou Nokie na poli mobilních platforem. Tato relativně mladá technologie umožňuje jednoduše a rychle vytvořit mobilní variantu libovolné WWW prezentace či jiného internetového zdroje dat. Platforma WRT widgets podporuje technologii AJAX, která umožňuje „vyjímání“ klíčových informací z klasických WWW stránek a jejich zobrazení v mobilu. Příkladem budiž WRT widget transformující titulní WWW stránku helsinského letiště a dodávající do mobilu pouze část s aktuálními odlety a přílety. Samotná distribuce WRT widgetů je velmi jednoduchá, narozdíl od WidSets není třeba zřizovat účet na portálu WidSets.com a instalovat mobilního klienta. WRT widgety jsou distribuovány formou instalačních balíčků. Jedinou vadou na kráse je skutečnost, že platforma WRT widgets je přístupná pouze pro mobily s OS Symbian S60 3rd edition feature pack III. Z pohledu tvůrce mobilních služeb je WRT technologie zajímavá také kvůli minimálním nárokům na znalost programovacích technik (vývojář si vystačí s HTML, CSS a JavaScriptem) a opět pro své široké možnosti napojení na různé datové zdroje v internetu a intranetu.

Android, naděje do budoucna od Google

Platforma Android je prozatím poslední technologie se kterou se v ostravském Digital Innovations Mobility teamu pracuje v rámci tvorby mobilních aplikací. Nebudeme si zde detailně popisovat funkcionality této platformy, z pohledu tvůrce mobilních služeb je důležitá kvalitní součinnost Android API s hardwarovým (kamera, dotykový displej, GPS) a softwarovým (inbox, kalendář, rozpoznávání řeči) vybavením mobilu. Zejména část API podporující GPS vypadá z dosavadního testování velice slibně. Celá situace kolem Andoridu je zahalena rouškou tajemství, vývojáři testující prozatím jen na softwarových simulátorech Androidu jsou motivováni ke tvorbě co nejlepších aplikací finanční odměnou, která je přislíbena tvůrcům nejzajímavějších Android aplikací (dnes velmi populární strategie, firma novou technologii zpřístupní vývojářské komunitě, vyhlásí soutěže a pak si již jen mne ruce nad davy zaangažovaných vývojářů a později klientů kvitujících tuny hotových užitečných aplikací).

Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
Úvodní obrazovka a probíhající hovor na emulátoru Androida
Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
Ukázka mobilního internetového browseru. Na posledním obrázku vidíte zoomování na stránku 
Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
Aplikace svízané s GPS

Toto byl výčet několika mobilních platforem, které lze využít při vývoji mobilních služeb. Určitě se nejedná o výčet kompletní, nebyly zde zmíněny možnosti využití SDK pro platformy Windows Mobile, Symbian či iPhone. Tyto platformy jistě nabízejí veliký potenciál pro tvorbu mobilních aplikací nové generace, jsou však silně vázané na konkrétní hardware.

Mobilní platformy a konkrétní typy služeb

Zkusme si dát výše zmíněné platformy J2ME, WidSets, WRT a Android do souvislosti s vybranými mobilními službami.

Pokud se nejprve zaměříme na běžné spotřebitele, pak tito uživatele budou nejčastěji vyžadovat služby typu

  • Dopravní informace a informace o počasí
  • Informace o kulturních akcích
  • Přístup k mobilním komunitám

Co mají tyto služby společné? Z pohledu spotřebitele se jedná většinou o neplacené služby (napojené na neplacené online informační zdroje). Z pohledu vývojáře pak tyto služby nevyžadují žádné zvláštní metody zabezpečení. Ideální platformou pro implementaci mohou byt widgety.

Protipólem budou služby operující s uživatelovým kreditem či přímo s jeho bankovním kontem:

  • Různe formy mobilního bankingu
  • Nákup elektornických jízdenek a vstupenek
  • Mobilní nákupy

V tomto případě je vyžadováno vysoké zabezpečení - pokročilé metody autentikace, bezpečné napojení na koncové informační systémy. Pro tento typ služeb je vhodné využít platformy J2ME (či tvořit pod SDK operačních systémů Symbian a Windows Mobile, v budoucnu také Androidu).

Vraťme se ještě ke službám zajišťujícím přístup k mobilním komunitám. Speciálně tato oblast nabízí obrovský potenciál tvůrcům mobilních aplikací. Social networking již dávno není pouze textové ICQ, jedná se zde o komunitní portály nabízejicí služby typu zobrazování lokace přátel (social mapping tool) či sdílení informací o zajímavých místech (shared points of interest). Konkrétně služba sociální kompas portálu Loopt.com, sloužící k zobrazení pozice přátel či příbuzných na detailní mapě, je praktickou (pro někoho možná lehce kontroverzní) ukázkou chytrého využití navigačních schopností dnešních mobilních zařízení.

Z pohledu korporátních zákazníků jsou současné požadavky na mobilní služby relativně jasné:

  • Mobilní firemní email
  • Mobilní synchronizace osobních informací (úkoly, kontakty, kalendář, poznámky)
  • Vzdálená administrace mobilních zařízení
  • Zabezpečení mobilní komunikace odpovídající firemním stanovám

Osobně vidím potenciál v rozšiřování mobilních služeb umožňujících vzdálený přístup z mobilu k informačním zdrojům uvnitř firemních intranetů – k aktuálním dokumentům ve sdílených síťových složkách či na firemních portálech a mobilní aplikace pro rychlý a snadný přístup do firemních informačních systémů typu ERP, CRM apod. Tento typ aplikací samozřejmě nikdy neobsáhne všechny možnosti klasického desktopového rozhraní na PC, bude se jednat spíše o vyprofilované mobilní aplikace psané na míru konkrétním potřebám. Jako ideální technologie se zde prozatím jeví multiplatformní J2ME.

Mobilní služby nové generace

Obě dvě základní uživatelské skupiny – běžní spotřebitelé a firemní zaměstnanci – pak budou čím dál více využívat „location based services“ (služby založené na aktuální lokaci). Nemusí se nutně jednat o nevyžádané reklamní spoty vysílané přes WiFi a Bluetooth terorizující bezbranného uživatele, který zabrousil do oblasti jejich pokryti. Momentálně asi nejznámějším příkladem těchto služeb jsou již zmíněné sociální kompasy a sdílení místa zájmu. K location based services se pak váží další typy „něčím podmíněných“ mobilních služeb – time based (časově podmíněné) a situation based (situací podmíněné) služby. Časově podmíněné služby asi nemá cenu detailně popisovat, jedná se o služby jejichž akce jsou prováděny v závislosti na aktuálním čase, údajích v kalendáři apod. Zajímavější skupinou mohou být situací podmíněné služby – za všechny zde uvedu službu, která v případě havárie auta zkontaktuje nejbližší záchranáře pomocí GSM modulu integrovaného v palubní desce auta připojeného na sadu čidel.

Závěrem dovolte jednu krátkou historku, kterou vypráví Petr Rajský z firmy TietoEnator: „Před několika měsíci za mnou přišel kolega, šťastný majitel supermoderního smartphone, a stěžoval si, že od svého mobilu očekával víc. Popisoval mi svou představu asi takto: chtěl bych, aby až ráno vyjdu před dům, mobil automaticky zobrazil informace o odjezdech tramvají z nejbližší zastávky (toto info bych měl dostat jen v pracovní dny a ne o víkendu, to chodím ráno běhat do lesa). Ve chvíli, kdy přijdu do kanceláře a zapnu PC, na monitoru se mi po synchronizaci zobrazí úkoly (které však souvisí pouze s danou lokací – tedy pracovní úkoly, nikoliv to co mám odpoledne koupit do lednice). Když přijde čas oběda, mobil by mi měl nabídnout aktuální menu mých oblíbených restaurací (rád každý den obědvám jinde, takže služba si bude pamatovat, kde jsem obědval včera a tuto restauraci zařadí až na konec seznamu).“

„V tomto scénáři můžeme identifikovat jak služby založené na aktuální lokaci, tak i časově podmíněné a situací podmíněné. Jistě, šlo by o unifikovanou aplikaci, kterou by bylo nutné zpočátku naplnit uživatelskými daty a provázat s informačními zdroji (oblíbené restaurace a jejich denní menu, GPS pozice bodů zájmu, napojení na web místního dopravního podniku apod.).“

„Přiznám se, že tenkrát nám celý tento popis „ideální“ mobilní služby zněl jako sci-fi. Dnes zde máme platformy jako Android s integrovaným GPS API, Nokii s jejich Location API aj. a výše popsanou aplikaci je možné relativně jednoduše realizovat. Mobilní zařízení a softwarové platformy jsou připraveny, mobilní revoluce již začala. Ideální doba pro tvorbu aplikací splňujících požadavky nové generace mobilních uživatelů je právě teď.“

Diskuze (8) Další článek: Google rozšířil pokrytí Street View

Témata článku: , Apple iPhone 4GB, Mobil, Konec seznamu, Každodenní úkol, Online zpravodajství, Ideální technologie, Mobilní nákup, Mobilizace, Vysoké zabezpečení, Šťastný majitel, Chytré využití, Online obsah, Celá situace, Ideální doba, Dosavadní test, Vývoj mobilních, Pes, Velký potenciál, Svět, Vývoj, Důležitá vlastnost, Propracovaný systém, Minimální nárok, MOBI