GeoLocDesktopService

Revision 7 as of 2006-01-18 07:45:25

Clear message

Summary

This spec defines a desktop service for announcing user geo location and also a component for aggregation of this announcements to be displayed on the user's desktop

Rationale

In out days may users are constantly on the move, moving from project to project (physically) or from meeting to meeting in other towns. To let other users know where I am an announcement service could be helpful, having announced my current or future geo location other users may interact with me in the same place in the real world.

Use cases

Tom is currently in Munich and made a new appointment with a client at Stuttgart, he makes this appointment in Evolution. Tom would like to have the geo location of this appointment announced as soon as the appointment begins.

John is in Stuttgart, at some point in time his desktop notification for geo location pops up and notifies him that Tom is in Stuttgart starting at 08:00 and until 18:00.

Paul wonders where Georg is and opens up his desktop notification application to see the history of received geo location announcements.

Scope

This spec covers A. the architecture, B. desktop notification application and C. interfaces to other applications.

Design

A. Architecture

The geo location service is based on a publish-subscribe infrastructure [1]. Every user participating in the service is required to have an account on a geo location serivce providers server. Any user willing to receive geo location announcements subscribes to the publishing users account. The desktop notification component may store received announcements for local exposure or retransmission.

B. desktop notification

The desktop notification component is a GNOME [5] based application that shows received geo location announcements to the user in an unintrusive way. The user may configure how to display the announcements. Received announcements may be stored locally.

In addition to the receiving aspect, the desktop notification component is responsible for sending geo location announcements to the server infrastructure. For security reasons the geo location announcements may be encrypted.

C. interfaces to other applications

A number of differnet desktop applications may provide data that relate to my geo location, e.g. Evolution Calendar, a GPS daemon... Other application may receive notification or retransmitted announcements via a local messaging infrastructure like D-Bus [6].

D. security considerations

Send out geo location announcements may be gpg encrypted to a number of GPG [7] key IDs.

Implementation

The geo location service is based on a publish-subscribe infrastructure [1]. Every user participating in the service is required to have an account on a XMPP [2] Server that supports JEP154 [3] and it's depending JEPs. For the geo location service only section 6.3 'Geolocation Data Aspects' of JEP154 is used.

Code

It is proposed to implement a JEP163 [4] and JEP154 [2] compliant server component and client library, preferable using Mono or Pyhon.

Outstanding issues

Comments

References

  1. http://en.wikipedia.org/wiki/Publish-subscribe

  2. http://www.jabber.org/jeps/jep-0154.html

  3. http://www.xmpp.org/specs/

  4. http://www.jabber.org/jeps/jep-0163.html

  5. http://www.gnome.org/

  6. http://freedesktop.org/wiki/Software_2fdbus

  7. http://gnupg.org/


CategorySpec