Many users have talked to us on IRC, email or via bugs and complained about wanting an "Away" status or a "Do Not Disturb" status. There's a few issues with this:
- What's really the difference between "Unavailable", "Away" and "Do Not Disturb"? Do you really need to choose them individually? (Other things that fit into here: "Not at my desk", "on the phone", "busy", "stepped out". It is amazing how some protocols have so many ways to describe being unavailable!)
- A technical issue that we often run into is trying to shoehorn different protocol implementations into our abstract protocol interface. (We already have some fairly complicated interfaces around joining chat rooms, creating different account, etc. because of this.)
- Setting yourself as "Away" or "Invisible" is a lie. Perhaps this is me being overly idealistic, but why would you set yourself as "Away"? It seems that this is something that should be done automatically (when you lock your display, perhaps?). You can't be "Away" and using your computer at the same time!
Again, perhaps being idealistic, but what is the point of the "Invisible" status? If you wish to be hidden from someone (everyone?) why not just block those users. Or ignore them when they send you a message. If you are busy, set yourself to "Unavailable" and people should understand that they should not talk to you...if they don't, well...do you really want them talking to you ever? (Are they really your friend? I guess you don't get to choose your co-workers, but still.) Now, perhaps this is just my opinion as being someone who never really hard an "Invisible" status (I actually remember it being added to the AIM client at some point).
In a meeting
|In a call|
Be right back
Not at my desk
|On the phone||Invisible|
|Windows Live Messenger||Online||Busy
Be Right Back
Out to lunch
|On the phone||Appear offline|
|XMPP (Google Talk)||Available||Busy||Invisible|