KTp/Tasks/NonGlobalPresence

From KDE Community Wiki
< KTp‎ | Tasks
Revision as of 00:31, 10 November 2012 by Drdanz (talk | contribs) (Drdanz moved page Real-Time Communication and Collaboration/Tasks/NonGlobalPresence to KTp/Tasks/NonGlobalPresence: As discussed at IRC meeting Real-Time_Communication_and_Collaboration is too long, we are moving all our pages to KTp)

Non-Global Presence

Currently if an account is 'available' and another is 'busy' or even offline everything breaks.

The situations/Goals

A user has two accounts, a personal account and a work account. When at work they want to be marked as online on their work account, and "busy" on their personal account. When at home they want to be online on their personal account, and offline on their work account.

Another user has 5 different accounts on many protocols and wants to easily set all of them to either "online" or "busy" to represent their current state.

It is important a user knows at any moment how they appear to others and see if they are online or not simply and easily.

What's broken

We don't know how to show these presences in a different state whilst keeping it easy to modify all the accounts, so (also due to a code problem in a different module) simply disabled the possibility to have accounts in different state. This stops us moving forwards with activity integration and other ideas.

The presence plasmoid

This only shows global presence and has a menu for changing presence in all accounts.

The contact list?

This initially only shows and controls global presence in a dropdown, but a mouseover tooltip will show the state of each account. We have a hidden method to revert this to "per account" buttons which can be enabled by adding:

selected_presence_chooser=unsupported to the end of ~/.kde/share/config/ktelepathyrc


Auto Away plugins brings in extra complexity, as we are automatically putting the user to away if they're online or busy and the computer is inactive after N minutes. However this can be fixed with code.

Currently we have a concept of "Global Presence" which changes all accounts, and shows the highest currently online presence.

Tasks

We need to:

  • Fix the kded to work on an individual account basis.
  • Work out how to display "your accounts are all over the place" in the presence-plasmoid etc.
  • Work out how to set different accounts from the different interfaces?
  • Code it

Ideas

drdanz: We could add an icon user-mixed (something like user-mixed.png ). The global presence will return this icon if not all the accounts have the same presence When we have presence based on activity we can return the activity icon instead (perhaps with some overlay, otherwise the user won't understand what is the icon for)

Scotty: To handle mixed state information it would be necessary at least to open the contact list. My idea is to enhance the list itself.

The mockup was scribbled with Balsamiq [1]. There is a fully functional web demo available where you can import this code [2] to hack the mockup.

drdanz: Another option is to handle it from the account kcm, I implemented this some time ago: