SystemPresenceIntegrationSpec

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This specification proposes a brainstorm and review of possible integration scenarios between the Ubuntu desktop OS and a presence system (Telepathy), along with the implementation of some proof of concept behavioural changes in the desktop based on current presence.

Release Note

The Telepathy presence system has been integrated into the core desktop environment, allowing the desktop's behaviour to adapt based on the user's current activities and to automatically update online profiles based on the user's activities.

Rationale

Many user actions can be related to each other, for instance setting one's messaging status to "Away" on an IM program and then locking the screen, or connecting to the "SchoolWifiZone" wireless network then sending messages to online contacts telling them that one is at school. Such related activities can be automatically linked together, for example after setting one's status to "Away" the screen could lock after a timeout, and a "Location" presence attribute can be set to "School" when the "SchoolWifiZone" network is discovered. This allows users to focus on the tasks they want to tackle, rather than spending time managing every program and online service they use individually.

Use Cases

  • Sam needs to write an essay for school. He changes his status in Pidgin to "Busy" and his news reader, email client, update manager and messaging programs all blink their notification area icons on incoming events rather than popping distracting message boxes up over the word processing application.
  • Sarah uses her laptop at work and at home. She has asked people not to send her messages at work unless it is urgent, but encourages them to talk to her away from work. At work she is connected to a wired ethernet, which her computer recognises and updates her presence to set her location as "Work". When she connects to her home Wifi network her location presence is automatically set to "Home". This way her contacts know when it is a good time to talk to her, and Sarah doesn't need to go through the repetitive steps of setting her location every time.
  • Bob doesn't want his housemates accessing his computer, and he wants to tell his contacts when he's not available to chat. When Bob sets his status to "Away" his screen locks, thus his housemate cannot use his knowledge of Bob's location to know when Bob's computer is unwatched and available to mess around with.

Assumptions

An assumption is made that many users have certain repetitive steps they go through on their machine, such as setting certain statuses etc. If such steps actually vary a lot then an automated solution would not be advisable, since the user may have to manually undo the steps the automated solution took.

It is also assumed that users wish to inform the world of accurate information about their activities. Some users may wish to give false information about themselves if they do not want their contacts knowing what they are doing. In this case the system's automatic setting of presence attributes may overwrite the user's false data.

For these reasons the system should be easy to toggle on and off.

Design

This specification first proposes an open discussion of possible integration scenarios. This would most effectively be done at some form of summit, where discussion between a broad range of specialists is possible to formulate workable solutions.

Implementation

Presence is managed by the Telepathy system. Telepathy communicates over DBus, thus implementations need to be DBus aware. This should be kept in mind during any discussions.

UI Changes

UI should be integrated into the preferences of the applications being used (for instance the screensaver preferences). Manual presence setting should be done via current messaging programs.

Test/Demo Plan

Depends on chosen implementations.

Outstanding Issues

Individual implementations should be created outside the scope of this specification, since this only exists to propose the idea and discuss possible uses.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


CategorySpec

SystemPresenceIntegrationSpec (last edited 2008-08-06 16:22:56 by localhost)