ralphm's blog

Friday, 1 August 2003

User Activities JEP


Last monday I talked with offline offlinestpeter about another kind of extended presence. We formalised this in the User 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 text.

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 have dinner 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 Chandler 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 phone. Handy!

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.