Presentity
October 24th, 2008
We like to talk. Sometimes we are willing to listen. But not always. Sometimes we are busy, sometimes we sleep, and sometimes we are just sick of listening to you.
I’ve tried to look at some of the ways we indicate these things. There are clearly lots of applications that allow me to set my status.
Some of the terms defined in rfc2778 may help us understand what is going on here.
Immediately we can make a distinction between the status marker (away, busy, etc) and the explanatory text (”eating lunch”). As Facebook and Twitter have shown, status descriptions aren’t just for away messages any more. So, let’s consider that separately.
The rest of the status markers boil down to a combination of:
- Can receive a message (online/open/available)
- I am not here (away)
- I don’t want to see messages (busy)
- I don’t want you to see me (invisible)
Some notes on the specific applications
Empathy
As far as personal status goes, “offline” is pretty worthless. I’m not offline, am I? I can’t imagine ever needing to tell the system I’m offline. Sure, the application (agent) may want to tell me that I’m not receiving messages due to network connectivity but that is a bit different. The fact that the icon metaphors for offline and hidden are the same tells us something. Why wouldn’t I just quit?
Also, hidden means something is difficult to find or see. Invisible would have been a much better choice here.
I’m not sure that “away” is that useful. More on that in a bit.
Pidgin
“Do not disturb” is not my status. It is an implementation detail. In any case, you can be “busy” without being such a jerk about it. Furthermore, it is really not the sender’s fault if I am disturbed – it is the fault of my software. It should calmly queue up messages for me while I’m busy. And if I really meant “do not” then I would go invisible.
Also has the same offline and away issues as mentioned above.
iChat
![]()
Doesn’t seem to have a “busy” state. Kind of cool to integrate the music into the message but again that is a bit orthogonal to setting the status.
Has the same old offline and away issues.
Adium
Doesn’t seem to have a “busy” state. Has the same old offline and away issues.
Obviously parroting iChat.
Ekiga
Nothing original here. Some of the same issues mentioned above. Not sure what’s up with the ellipses.
Skype
Bizarro. It includes some kind of slut-mode (called SkypeMe!) where all your privacy settings are ignored.
Also, unfortunately, it forces people to choose between “away”, “not available”, and “do not disturb”. And like others has the wacky “offline” status.
Windows Live Messenger
I don’t like it.
Google Mail Chat
Apart from the custom message stuff I think it gets it pretty much right. Available, busy, invisible. Away is only set implicitly. I like it.
![]()
Only offers two states: online, offline. As with Gmail, “away” is set implicitly. This model works really well for a purely online service. There is no way anyone would confuse the online and offline options in facebook with those offered in the local computer’s wireless tool. Also, since facebook is a purely social experience – I would never be busy there. I also really like how they separate my status, notifications, and friends. Nice.
Icon Metaphors
I found this post has a nice overview of the icon metaphors used in a selection of IM clients: http://szeto.posterous.com/im-presence
(Apart from the obvious mistake that offline is not the same as invisible…)
The post also includes a description of how he uses each of the states and some good recommendations.
Icon Naming
The icon naming specifications provide for the following icons:
user-away: The icon used when a user on a chat network is away from their keyboard and the chat program.
user-idle: The icon used when a user on a chat network has not been an active participant in any chats on the network, for an extended period of time.
user-offline: The icon used when a user on a chat network is not available.
user-online: The icon used when a user on a chat network is available to initiate a conversation with.
Seems like we don’t yet have icons for these. I think that Lapo Calamandrei and others have been trying to find good metaphors to use.
So What?
Ted and the Ubuntu folks came up with some good ideas. We tried to expand upon them a bit during the GNOME User Experience Hackfest. Some random ideas include:
- Automatically set “away” status when idle
- “Hush” and queue all notifications when busy
- Keyboard shortcut for switching to busy status
- Should have some kind of highly visible indication of status
- Shouldn’t have to set status for each application separately
- Have a good way to describe what I’m doing
- Show my status text on the screensaver lock (http://bugzilla.gnome.org/show_bug.cgi?id=384509)
What do you think? Have some cool or crazy ideas? Let us know!
Talk Like That
October 23rd, 2008
It has been a long while since I posted. Let’s see what I remember.
Worked on a new gnome-session. XSMP is one step closer to the curb. Mostly worked to make the logout handling more reasonable. See http://live.gnome.org/SessionManagement/GnomeSession and http://www.gnome.org/~mccann/gnome-session/docs/gnome-session.html for more information. Hope to consolidate the various session inhibit APIs for 2.26.
Used this new, rather generic, session framework to manage the GDM greeter session. This makes it possible to trivially support sharing functionality with the normal user sessions. Things like gnome-power-manager, orca, metacity, etc. just work. This is important because it ensures that a user will have a consistent experience – and it makes the software easier to maintain and support.

GUADEC was great. A beautiful city and lots of interesting people to talk to. Enjoyed trying tripe. Sad to have missed the Boat Party because I preparing to give my talk first thing the next morning. Slides are available (evince seems to have trouble with them).
Finally moved (more or less) to the Boston area.
Attended the first Linux Plumbers Conference in Portland, Oregon. Thanks to the Linux Foundation for sponsoring me. Overall a really great conference (except for David almost falling off a cliff). It is important for us to build a solid platform. I gave a short talk in the D-Bus/Desktop miniconf. Slides are available.
Recently participated in the GNOME User Experience Hackfest. I worked in the GNOME shell brainstorming group. It was really awesome. Everyone was positive, energetic, and focused on moving things forward. We should really do more of these along the way to GNOME 3.0. I feel really good about what we were able to accomplish in just a few days time. I plan to write more about this in the next few posts.








