About Context Aware Applications

Emanuele Leomanni emanuele183 at gmail.com
Tue Jul 1 17:43:24 CEST 2008


Hi all,
   I have read some suggestions about context aware applications (
http://lists.linuxtogo.org/pipermail/smartphones-standards/2008-June/000093.html
).

I like a lot Steve's proposal on the wiki (
http://wiki.openmoko.org/wiki/Proposal_for_context_management) and I think
that the right approach to make developers life easier on developing context
aware applications is to decouple a signal manager daemon and the
application GUI that exploit it.

See this image for more details:
http://www.bitbakery.org/~lele/daemon-approach.png<http://www.bitbakery.org/%7Elele/daemon-approach.png>

A central signal manager daemon, in my opinion, should be able to collect
and analyze all the low level context signals sent on D-Bus (like GPS
coordinates or signals from the accelerometer) in order to create an higher
level context signal set (not only based on profiles)  that is more useful
from a context developer point of view.

Possible examples of High level signals are:

   - profile changed
   - position changed
   - city left
   - user on movement
   - user is fix at one point
   - user in a meeting
   - bluetooth neighbor detected
   - wifi connection found
   - gprs off
   - low battery
   - user is calling
   - call received
   - etc...


Inside this way of thinking come up my effort for the community:

I have developped a Context Aware Search Engine application with the intent
of making easier local and remote researches on Openmoko device.

My application is divided into a daemon (the real core) which loads and
manages all the keywords needed into the engine. It takes care of computing
a rank value for the keys inserted basing on context information (for the
moment just time and gps coordinates).
The goal is to retrieve the results on user input ordered by context
importance. So, just to give an example, if you are near the main train
station and you enter the key 'T' it is more likely to have as first results
the keywords "train" or "taxi" rather than "tomorrow meetings".

This daemon called "Intuition" comunicates via D-Bus providing the
applications a 'lookup' method and some signals in order to retrieve back
the results requested.

In my implementation I have also developed a simple GUI to test the engine
and I have provided a plugin header file to let developers adding their own
plugins to improve the capability of the search engine (actual plugins
implemented are 'contacts','calendar','default items','file
search','application search').

It is still a simple prototype but I hope it could be useful as a starting
point for further implementations.

The sources are available here: https://www.bitbakery.org/svn/intuition/

Emanuele
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxtogo.org/pipermail/smartphones-standards/attachments/20080701/6e5546f3/attachment.htm>


More information about the smartphones-standards mailing list