Last monday I talked with
about another kind of extended presence. We formalised this in the
Moods JEP. User Moods tell what a user is doing at that
moment in time. This can range from
having coffee to
on vacation. There are three pieces of information here:
a general activity, a more specific activity and a natural language
I think people can more effectively communicate with each other when they know what the other person is doing. Sure, you can use away messages (as part of presence) for that, but having it formalised with fixed values, you can have clients that do something with it. This is easier that scanning natural language text.
A way of presenting this information to the user is using icons. For example, you can have a cartoon character (like a smiley face) and attire that with items. If you are on the phone, the client of all subscribers to your user activity, can display a phone with the cartoon. If you are busy with working, you can give it a builder's hat. And so on.
Other things you could do is use the activity to have the client warn you when you start typing a chat message to someone. If I am in a meeting, it will probably not read your message for a while.
Setting your current activity might be tedious. A client
should try and present extended presences together when you want
to change one of them. If you are going to
you'll obviously be
away, so your presence can be
altered, too. Keyboard shortcuts can come in handy here.
If your client has access to your calender (like with the
project, it can also set user activities for you. If you have an
appointment scheduled, your client can set your activity to
having_appointment. If you have a scheduled
holiday, the client can show that, too. Note that you do not
necessarily have to be online yourself (presence) to set your
activity. Maybe your client can also detect when you are on the
The JEP still needs a bit of work. We have to clean up the possible values a bit, and I also want to have a way to communicate how long the current activity is going to last. Stay tuned.