Presentity

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:

  1. Can receive a message (online/open/available)
  2. I am not here (away)
  3. I don’t want to see messages (busy)
  4. 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.

Facebook

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…)

From http://www.szetopia.com/im-presence

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!

This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

10 Responses to Presentity

  1. bkor says:

    Busy is different from do not disturb. Busy indicates that you are working and don’t want to be bothered by trivial stuff. Do not disturb indicates that you don’t want to be bothered unless it is really critical. This distinction is widely accepted/understood where I work. In short: you want to indicate how busy you are to the other person (status description is not good enough, needs to have a different icon).

  2. menko says:

    @bkor: That’s just bla bla.

    When I am DND (or whatever you call the mode where messages don’t pop-up) it doesn’t matter what it’s called.

    And I think everybody using the computer seriously is “busy” more or less all the time 😉

    So, online, busy (no messages/pop-ups/notifications), away from keyboard, and invisible (for damn busy, do not want to be disturbed at all, but people can still leave a message, is fine 🙂

  3. setting myself as “busy” works when I’m in conf calls and/or meetings; I still want critical messages from coworkers or family, for instance. it also works for when I’m in deep hack mode. 🙂

  4. . says:

    I use the offline status to reconnect to the service without shutting the application down, therefore preserving my window layout and open conversations. It’s not entirely pointless.

  5. Joe Shaw says:

    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. […] Why wouldn’t I just quit?

    I use an IM client on both my home and work machine, and I go “offline” whenever I am moving from one to the other. I could quit the program, but that’s a lot less convenient for me — there is some state lost there, like the window position and which workspace it was on. To me, this is like saying, “Why suspend your computer when you can just turn it off?” The answer is that it’s a hassle to get everything back.

    Moreover, if you want presence to be an omnipresent part of the desktop there are necessarily times when you want to voluntarily be “off the grid”. If you can’t quit the app, you need some sort of offline mode.

  6. Johnny Robeson says:

    XMPP allows a seperation of status and various activities via PEP (Personal Eventing Protocol)
    http://xmpp.org/extensions/xep-0163.html

    Some of the more popular ones are: nickname,geoloc,tune,avatar,mood,activity

    This means you do not have to hijack the status info for such things as many common IM applications do when interacting with legacy protocols

    I have spoken with the empathy folks about this, and it turns out there is some rudimentary support within the telepathy-gabble codebase for this

    This support is based on a subset of the of the Publish/Subscribe XEP
    http://xmpp.org/extensions/xep-0060.html

    XMPP also allows one to be “available” to some folks, and “invisible/hidden” to others, either on a group or individual basis.

    There are of course even more precise ways of handling presence/messages to some folks that involve implementing the privacy lists XEP
    http://xmpp.org/extensions/xep-0016.html

  7. Lapo says:

    I think there are three basic statusses:
    “I can read you” (read online)
    “I’m away from the keyboard”
    “I can’t read you” (read offline)
    I don’t use an “I don’t want to be bothered” status, since when I’m really busy I’m just not online, or I just ignore ims, but I can understand that people may want to use it, so these 4 statysses makes some sense for me, the rest is just variations of the same stuff.

  8. I think some of your ideas here ignore some of the… er… “social subtleties” of online messaging and presence. Users have varying desires as to how much information about what they’re doing “leaks” out through their IM client. A few examples:

    I have idle notification disabled in all my IM clients. I don’t really care to let people know how long it’s been since I’ve been at my computer. More importantly, I don’t always want other people to know that I’m definitively at my computer (by the fact that I’m *not* idle).

    Many people treat the statuses a bit differently than intended. One friend of mine is ‘away’ 90% of the time she’s actually at her computer. Another (who uses the gmail chat interface) is ‘away’ when not using the browser, and ‘do not disturb’ almost always while chatting.

    Personally, I’ll leave myself ‘away’ when I just don’t feel like letting people know I’ve returned to my computer just yet.

    It’s basically just social pressure that makes people do most of this — if they’re at their computer, and their status is listed as ‘available’, they’ll feel guilty about ignoring messages from people if they don’t feel like talking. But if you’re listed as ‘away’, that changes everything.

    Anyway, I wouldn’t think automating or removing some of these options would be a good idea. Giving the users the ability to remain ‘away’ while in conversations or the ability do disable idle time reporting are a must.

    I’m also not sure I understand your beef with the ‘offline’ status. I can think of a bunch of reasons why you’d want the client running but left in an offline state, offline access to the chat log viewer, for one thing. I also might want to go offline for a while but leave a bunch of chat windows/tabs open, and not lose that state by closing and reopening the app.

  9. Walther says:

    Great post. One remark about away/idle though. I would interpret idle as ‘not using my computer’ and away as ‘not reachable’. Setting the status to away when you’re idle doesn’t really fit my usage.

    My computer is in the living room. When I’m not using my computer it will go idle. This doesn’t mean I’m not reachable. In fact, all of my family lives abroad and I would love for them to IM/skype me when I’m just hanging around in my living room.

    That said, I never take the trouble to change my status manually anyway. I let it set my status automatically (offline, online, idle). Maybe I would use invisible or offline once every two months when I’m really really busy.

  10. Philipp says:

    Kudos to you for trying to take presence information to the next level.
    I see status information to be used in two ways: the first is to give people a hint on how (quickly) they can contact you and the second one to leave messages (about anything) to others.

    For me the currently used presence messages bear the following meanings: Online = “I’m online, feel free to contact me! You’ll get an immediate reply.”, Offline = “I’m not available/the computer’s shut down”, Away = “I am online, but I haven’t interacted with my machine for a while, thus you’re not very likely to get an answer if you’re trying to contact me”, DnD = “I’m very busy atm, but you can leave me a message if you really really must”, Invisible = “I can see you, but you can’t! [You’re some little voyeur, aren’t you?]”.

    I very much like the answering machine-like behaviour of queueing up messages in Away and DnD mode. This is very similar to the “Leave a message” functionality of the screen saver, which I see to be the physical analogue.

    The second way of using status information is IMHO used to leave short messages to third parties (I see this happening esp. on Facebook). People use it to drop their friends a note about their whereabouts as well as exam results and favourite quotations of their current book.
    As these two are IMHO to different aspects (the first providing you with information on how probable it is you’re replying to a message, the second being somewhat of a 21st century’s bill-board) of communicating with others through text, they should be made available to you separately.
    Facebook does this the right way, though it lacks semantics (e.g. you could be studying [“Philipp is delving into databases”] but want to be reachable [status “Online”].

    I therefore would love to have something that let’s me do the following:
    “[Status icon/text saying “Leave me a message, I’ll call you back.”] Philipp is preparing greek salad. Yummie!”
    “[Status icon/text saying “Give me some peace”] Philipp is doing his software architecture homework.”
    “[Status icon/text saying “I’m bored, contact me! [did s.o. say “Skype me”?] Philipp is watching television”
    “[Status icon/text saying “Offline/Not available”] “He who controls the past controls the future. He who controls the present controls the past. (1984)””

    And if this works with ICQ, Skype, Facebook, StudiVZ (German Facebook clone) and msn I’d be merry as a lark. 🙂

    Finally some (quick and not very thought through) ideas about alerting the user (sound alone is not good as you may have turned that off): flash the screen (ah … may be annoying), slide in something (also annoying and not useful if your not fast enough), change background to a different picture (huh?), flash keyboard’s LEDs (no one would do that!), put sth. akin to a Post-it note on the user’s screen (remember “Leave comment”?).

    Looking forward to see all of this to be integrated in the next Gnome release. Next goal: Booting in 1 second. 🙂

Comments are closed.