In preparation to my talk at this year’s XTech conference I want to point out some important things related to this announcement. I think widgets on (mobile) devices are a major step in the right direction and I feel the mobile web can finally get the boost it so desperately was waiting for since a couple of years now. “The Ubiquitous Web” is this year’s XTech topic - I feel the mobile web will become ubiquitous pretty soon…This article can be seen as a primer to my talk at XTech: Ajax on mobile devices - making mobile web apps ubiquitous.
The Nokia announcement is nothing new, but still it is an important announcement, because it is yet another vendor of a phone browser to announce not only support for Ajax but also for widgets. In the case of Nokia it’s even a phone and platform manufacturer.
Other browser vendors have done this before. The first one to implement a working mobile widget engine was Opera back in October 2004, it was called Opera Platform. While the Opera Platform was hard to install and more or less a proof-of-concept approach, Opera 9 for mobile, the browser that is soon to be released, also features widgets and comes pre-installed in many devices. New versions of the Netfront browser and the OpenWave MIDAS project are announced to feature support not only for Ajax, but also for widgets. This shows that all major browser vendors in the mobile area have (finally) realized the importance of Ajax and widget support (hint: critical mass).
What about Apple’s iPhone? Nobody has really seen it yet, but as it looks, it will not only feature Ajax powered widgets, but widgets will be the iPhone’s main (only?) way to add applications to the device. The iPhone probably also can be seen as one of the driving forces behind the motivation in browser vendor’s announcements and developments.
What is the technical background?
Another very important aspect of the Web Run-Time environment and basically any widget environment is that the run-time environment can do things a regular web browser was not able to do before: widgets can get access to the device API and consequently can interface to the phone hardware such as GPS or camera and other applications like the calendar or contact manager.
Why is this important?
Furthermore widgets can do more by accessing a device’s hardware and applications and are therefore way more valuable to the user than a regular web application. Imagine a widget that can be used to make a picture and store it to your flickr account: it would start your camera, grab the picture you take, add location tags automatically (if your phone has GPS) and asynchronously upload the picture to flickr while you’re already doing something else like reading the latest RSS feed in your news widget.
But maybe the most important aspect of this is that the underlying technologies - XHTML/CSS/JS/Ajax - are universally used across all those different widget engines and run-times. The develop-once-deploy-to-many vision appears again… Mobile widgets could emerge as a major player against Java ME applications in many areas. Still it has to be kept in mind that the same way as browser implementations of those technologies differ from one to the other it will be the same with widget engines. It cannot be expected that a widget, once created, will run in different widget engines without modifications or even complete rewriting. Most probably the widget engines will also employ different means to wrap the widget application in a deployable package, using ZIP containers will probably be only one of the methods.
What role does Ajax play here?
How this makes the web ubiquitous?
A phone that comes pre-installed with your favorite web applications (read “widgets”) needs very little data transmissions to get live data from the web (read “Ajax”). Therefore widgets, powered by Ajax will be able to provide phone users with useful applications, that can connect to web services and other applications on phones of other users.
If developing widgets for mobile phones will be as easy as anticipated above, these widgets will be able to do what regular browsers on mobile devices have been trying to achieve in quite some years until now: make people actually use the mobile web!
Since the Ajax requests can happen asynchronously and in the background the user of the application doesn’t even need to know that the “web” is being accessed right now. The mobile web will become ubiquitous and invisible at the same time - ok, concededly this is a very philosophical view - but maybe not even too far away from the future reality.
- Nokia press release on Widgets support
- Audiocast following the Nokia Press release with Tero Ojanperä, CTO, Nokia
- S60.com press release / Technology Update on Nokia Widgets
- S60 Widgets and Web Run-Time announcement on allaboutsymbian.com
- Voice of S60 - Podcast #20: Ganesh Sivaraman, S60 Widgets
- Gartner Group’s view on S60 widgets
- Ajit’s post on the Nokia announcement
- Mobile Widgets Definition on Wikipedia