Author(s): Marius Vollmer
A lot of information is available from sensors and other sources that can make applications more 'aware' of the situation that a mobile device is in. The current location is an obvious example, which can be used to automatically place newly taken pictures on the map. Another example is the 'usage mode' of the device, such as whether the user is interacting with it, whether it is used to idly play media, or whether it is used 'hands free' while riding a bicycle.
We are developing a new "ContextKit" for Maemo that we are going to host on freedesktop.org.
It collects these information about the environment of a device, combines many of them into something more abstract and exports it all in the form of simple key/value pairs to applications and other consumers. A long list of 'standard' properties is provided already, and we hope that we can gather enough participation to bang that list into something really useful.
There are connections to other components that deal with contextual information, such as the DeviceKit and GeoClue, and content handlers, such as the Meta Tracker that will want to import contextual information when tagging objects. The ContextKit hopes to be a helpful glue between all of them and be a central place for coordinating a stable set of contextual properties.
Due to the perfectly uniform API to key/value pairs and proper attention to the types of the values, the properties exported by the ContextKit can be trivially accessed from all kinds of programming languages.
Author bio: Nokia
Marius moved to Helsinki some uncounted years ago to work for Nokia on the Maemo platform. He would like to be remembered for putting apt-get into the platform and for bootstrapping the first over-the-air OS updates for Maemo. He recently discovered Git and wrote a Emacs mode for it, Magit, which is pretty nice, if he might say so himself.