This article proposes some sensor-based interaction patterns to be used with home screen Web Runtime widgets.
Contents |
Starting with Nokia N97, Web Runtime offer the possibility to add widgets to the device home screen. Home screen widgets allow users to view data from multiple widgets without the need to open them in full screen mode.
Current home screen widgets do not allow direct user interaction, as explained in this Forum Nokia Library page. When the user clicks on a home screen widget, the full screen version of the widget is opened.
This sections shows two possible way of interactions with home screen widgets, that use the inbuilt device's accelerometer and the JavaScript Sensor Service API, available starting from WRT 1.1.
This sections discusses some possible patterns of interaction that can be used to let users interact with home screen widgets, without the need of touch-based interactions. In order to implement the following patterns, the JavaScript Sensor Service API must be used. Complete code examples on how to use Sensors in WRT widgets can be found on the following pages:
Inbuilt accelerometers allow to detect device's motions, by measuring the device acceleration in the three spatial directions. By using this data, it is possible to identify when the device is shaken, by checking for fast and repetitive motions. The sensor channel used to retrieve the acceleration values is the AccelerometerAxis (more information here: http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-A4538B4D-0D90-43F8-B1FA-72F616937760.html)
The shake pattern could be used for several purposes, depending on the specific home screen widget:
Sensors can be used to detect the current orientation of the phone, by using the Orientation sensors' channel. Depending on the device orientation, it is so possible to let WRT widgets behave differently.
A possible use-case for this scenario is a widget that periodically retrieves data from a network host, so actually doing network traffic. In this situation, it could be useful to stop the automatic data refresh just flipping the device display downwards.
More generally, this pattern could be useful in all these situations where the user could be allowed to "stop" the widget's actions by simply down-flipping the mobile device (e.g.: during night).
Constraints to be considered when implementing sensor-based interaction patterns: