S60 Widgets (WRT) add contextual awareness

Published by at

Nokia today announced the next stage of its Widget (Web Run Time) platform for S60. The new version will allow widgets to access information and services on the phone (such as location through GPS) in order to enable context sensitive widgets. Also significant is a brief mention of Open C++ which will further extend the number of standard, platform-independent, programming libraries available on the S60 platform. Read on for more.

In this press release (part of Nokia's Web 2.0 conference activities) Nokia has effectively announced the next version of the S60 Web Run Time (WRT) as well as hinting at the evolution of Open C and its cross platform software development strategy. It seems likely that both technologies will be part of the next release of S60, although they may (as with the current version of WRT and Open C) be back ported to earlier versions of S60.

WRT

The next version of WRT will add the ability to access information and services on the device allowing a richer user experience to be created. Widgets can become more personalised and 'intelligent' because they have deeper access to information and services on the device. Nokia says this means that WRT can provide a user experience beyond what is possible on the desktop.

Up to this point Widgets have been relatively simple programs offering acting as little more than gateways to web services and/or web pages (e.g. information retrieval, search jump off, self-contained games). In general they have only be used to consume information - effectively acting as client program for web pages, any context must be supplied manually by the user.

However it will now be possible to create widgets that are more transactional in nature. Information from the web can be stored in the standard services of the device (e.g. appointments added to Calendar or phone numbers added to contacts after a local business search). The phone can also provide information about its current context to the web (with location as the most obvious use case).

Nokia has given a few examples of how what sort of widgets might be enabled by the new version:

  • A weather widget that uses location information from the GPS to display weather information and forecasts for the current location. This saves the user from having to manually set their location when travelling.

  • A flight tracker widget which downloads flight information from the airlines website, saves it to users calendar and sets a reminder (alarm). It will also check flight status a short time before the flight and alert the user to any changes in flight status.

  • A further example is shown in the image below. It combines several elements together in a mash-up of different web services which is enriched by context (location and calendar) information from the phone.

example widget

Nokia's example of a context sensitive widget (running on a concept device).

The current version of the Web Run Time (WRT) has very limited access to phone hardware and features though a number of APIs (called through JavaScript functions). Currently accessible is basic power, memory and language and network information and control of keypad lights and phone vibration.

The new/next version will be adding APIs to enable access to information and services provided by the phone (S60 platform services). This includes, but is not limited to, GPS (location), Contacts, Calendar, Messaging, Audio and Video information and services. It is worth noting that Nokia may have to add some form of signing / security policy to these widgets as they pose more of a security risk (current generation widgets do not have to be signed).

WRT is also significant because it opens up S60 development opportunities to web developers. Widget development is generally less time consuming than native development. Nokia says WRT development "has the potential to change the economics of mobile software development. Anyone with Web development experience can now create powerful mobile applications in days or even hours, drastically reducing the cost of development".

Open C++

Also mentioned in the press release is Open C++, which builds on the foundation of Open C. Open C++ brings the Standard Template Library (STL) and other C++ libraries to the S60 platform. As with Open C it makes it easier for developers to port existing code to the S60 platform. This is particularly relevant for open source components targeted at the Linux platform.

Open C++ further brunishes the cross platform development capabilities of the S60 platform. It is part of Nokia's drive to create a cross-platform software development platform.

Press Release

Here are some extracts from the press release:

"Our expanded Web Run-Time and widget offering has the potential to change the economics of mobile software development. Anyone with Web development experience can now create powerful mobile applications in days or even hours, drastically reducing the cost of development and further expanding the application offering," said Matti Vänskä, Vice President, Mobile Software Sales and Marketing, Nokia. "In addition, Internet services can be made more powerful and relevant for users by adding personal data such as the current location of the user, through GPS. The user experience from such services goes beyond what the desktop based environments can provide."

...

S60 is also expanding its support for open source innovation through support for Open C++. This support brings the Standard Template Library and other popular platform-independent C++ libraries to the S60 platform, extending the Open C offering that was announced last year. Together, Open C and Open C++ create opportunities for developers to utilize existing skills and code from other platforms in their S60 development projects, including open source components targeted at Linux and other platforms.