Mobile Widget Platforms

Vorig artikel Volgend artikel

Mobiele widgets zijn een nieuwe trend. De afgelopen weken heb ik daarom geëxperimenteerd met twee mobiele widget platformen: De Nokia Web Runtime en het Opera/Vodafone widget platform.

Beide platformen maken het mogelijk om eenvoudig applicaties te bouwen die op mobiele telefoons draaien, gebruikmakend van bekende webtechnieken als HTML, CSS en Javascript.

De Nokia runtime draait (logischerwijs) alleen op Nokia handsets. Opera heeft daarentegen een bredere aanpak dan alleen telefoons: Hun widget platform zal uiteindelijk op telefoons, desktop PC's, maar ook set-top boxen, internet tablets en game consoles draaien. Aangezien Opera voor veel van deze devices al de browser levert, lijkt dat ook een haalbare ambitie.

Overigens is het interessant hoe hiermee de grens tussen applicaties, websites en widgets verdwijnt: Deze nieuwe widgets zijn eigenlijk downloadbare webapplicaties, die totaal offline kunnen draaien (maar meestal hun data van Internet zullen halen).

Bestandsformaten
Om met een positief punt te beginnen: Beide platformen zijn erg vergelijkbaar van opzet. Ze gebruiken beiden een (hernoemde) zipfile om een aantal HTML, CSS en Javascript bestanden, samen met een configuratie XML, te bundelen tot een 'applicatie'. Opera noemt z'n XML file config.xml, en de applicaties .wgt. Nokia gebruikt info.plist XML files (met een erg rare syntax, voor XML files. Wie heeft dat bedacht?) en .wgz voor de applicaties. Maar in het algemeen zijn de verschillen hier niet erg groot, en moet het mogelijk zijn een widget te bouwen die op beide platformen draait.

De daadwerkelijke 'programmacode' is standaard HTML, met enige (Javascript) uitbreidingen. Deze maken device-interactie mogelijk, en bieden ondersteuning voor de verschillende toestanden waarin een widget kan zitten (sommige widgets zijn bv dockable: Een kleinere versie kan dan op je home scherm draaien). Een voordeel dat Opera hier bied is dat ze gebruik maken van de (nog in ontwikkeling zijnde) 

W3C standaarden wat er (hopenlijk) voor zorgt dat er meer compatibiliteit tussen de verschillende widget platformen mogelijk is.

Software omgeving:
Beide partijen bieden een software omgeving die kan helpen bij het ontwikkelen van de widgets: Nokia bied een Gigantische SDK (Serieus, 622 MB installeren om een beetje HTML code te testen?). Ook draait deze omgeving alleen onder windows, wat een teleurstelling is voor de vele Mac software ontwikkelaars. Nog een nadeel is dat je, voor je de software kan downloaden, je eerst moet registeren bij Forum Nokia. Deze inschrijving is gratis, en niet erg lastig, maar bij mij duurde het even voor de bevestigingsmail aankwam, wat vervelend is als je aan de slag wilt. De Nokia SDK helpt wel in het draaien van widgets, maar niet in het creeren daarvan: De benodigde XML en Zip files dien je zelf te maken (wat niet erg lastig is). Overigens bied Nokia ook een plugin voor Aptana Studio, welke de voorkeursmethode voor het maken van widgets zal worden (en die ook onder Mac werkt), maar ik gaf de voorkeur aan mijn eigen editor (en Aptana hield er na een tijdje mee op).

Vodafone Betavine/Opera bied een kleine SDK, die uit 3 onderdelen bestaat. Het eerste is de, betavine branded, "widget packager". Dit is een eenvoudige tool die helpt met het creeren van de XML en Zipfiles. Na installatie zijn een paar voorbeeld widgets meegeleverd, en kunnen er eenvoudig bestaande javascript libraries worden toegevoegd. Helaas in jQuery niet een van de meegeleverde frameworks (maar Vodafone heeft toegezegd dat hier verandering in komt). Hoewel het niet lastig is om zelf handmatig de files te genereren, is de wizard een handige manier om hiermee te beginnen.

Ook meegeleverd is de desktop versie van de Opera browser, die gebruikt kan worden om je widgets te testen. Tot slot wordt een Betavine .sis file geleverd die geïnstalleerd kan worden op Nokia S60 telefoons, om de widgets te draaien.

Telefoon Integratie
Qua telefoon integratie is op dit moment Nokia een duidelijke winnaar: De widgets draaien zonder verdere installs op de 5800 Xpressmusic telefoon waar ik ze op heb getest, en zien eruit als andere applicaties. De Vodafone widgets hebben eerst een runtime nodig, die op de telefoon geinstalleerd moet worden. Zelfs dan staan ze niet tussen de overige applicaties, maar in een eigen submenu. Dit is niet heel lastig, maar toch ingewikkeld uit te leggen aan gebruikers, die de (technische) verschillen tussen menu's niet direct zullen snappen. Wel is te verwachten dat Vodafone deze standaard zal pre-installen op telefoons die ze zelf leveren, en zal zorgen voor betere integratie.

Een ander voordeel van het Nokia platform is dat het beschikt over Device libraries, die de widgets toegang bieden tot telefoon specifieke gegevens. Hieronder vallen de locatie van de gebruiker, zijn contacten, kalender, etc. Deze toegang is een groot voordeel, en zorgen dat de widgets zich als echte applicaties kunnen gedragen, ten opzichte van standaard mobiele websites, die deze toegang niet hebben. Dit ontbreekt helaas nog in het Opera platform, maar is daar wel gepland.]

Conclusie:
Ik heb nu een telefoon waarop 2 widget plaformen draaien: Zowel het Vodafone/Opera systeem, als dat van Nokia. Beide bieden vergelijkbare ondersteunen, en hoewel het ontwikkelproces Vodafone/Opera soepeler ging, bied Nokia in haar SDK toegang tot device integratie die bij Opera nog ontbreekt. De komende maanden zullen we een strijd tussen deze twee platformen zien, om te komen tot een universeel platform. Mijn gok is dat beide naar elkaar toe zullen groeien: Opera zal device eigenschappen (zoals locatie) toevoegen, en aangezien het op de W3C standaarden is gebaseerd, het voortouw nemen. Nokia zal eenvoudig haar runtime aanpassen om ook deze standaard te ondersteunen. Overigens is Nokia al betrokken bij het totstandkomen van deze widget standaard. Wel hoop ik dat de uiteindelijke standaard ook de device toegang bied die Nokia nu al heeft.

Belangrijk is om te concluderen dat het behoorlijk eenvoudig is om te ontwikkelen voor beide platformen: men kan eenvoudig in een paar uur bestaande (of nieuwe) HTML/Javascript code draaien op telefoons.

Succes met ontwikkelen!

(Disclosure: Ik heb MobileDevCamp georganiseerd, dat gesponsord werd door Nokia, en was mede organisator van Mobile Widgetcamp dat gesponsord werd door Vodafone. Bovenstaande is echter uitsluitend mijn eigen mening).

Martijn Pannevis

Reageren is uitgeschakeld omdat er geen cookies opgeslagen worden.

Cookies toestaan Meer informatie over cookies