Unintrusive Instant Messaging

October 1st, 2006 by lucas

Most IM clients have a big problem: they seem to think they are the most important application on the desktop, or that their users always consider IM as top priority. Problem is, some users don’t! It would be great if IM clients where dealing better with two use cases :

  • Joe is working intensively on something, and doesn’t really want to be disturbed, except, of course, if the chat he would have is of extremely high importance (knowing who just sent him a message would probably help in determining how important the chat is going to be). He can’t rely on setting himself “Busy” on jabber, because people then write to him saying “ok, you are busy, answer me later, but here is my question: ….”.
  • Joe is working with Jack (a colleague) in front of his workstation. Since he has a mix of both professional and personal contacts, he needs to check if the message he just received is from his boss or from his girlfriend. (Opening a message from his girlfriend while Jack is watching might not be a good idea).

Typical stuff clients do:

  • Display incoming messages using notification-daemon (see picture below), but do not provide a way to disable this behaviour (I don’t think many clients fail this test).
  • The tooltip of the notification area icon (“system tray”) provides a fast way to be informed of important information. However, some clients (e.g Gajim) only give the number of unread messages, but don’t say who they are from (see picture below). The tooltip would be a perfect place to say “3 unread messages, 1 is from Boss, 2 are from ” in a Jack-safe way. When working intensively, it also allows you to make a quick decision about whether you want to read the messages and maybe start a chat now, or reply to them later.
  • Some clients (e.g Gajim) do not provide a way to easily read a specific unread message (and not all of them) (see picture below). Adding something event-specific in addition to “Show All Pending Events” would allow to read the message from Boss without reading the message from Girlfriend in front of Jack.

So, how does your client behave in regard to this ? I don’t really like the way Gajim behaves because it doesn’t provide much info in the tooltip, and doesn’t allow you to read a specific event (you have to open the roster and select the contact). Is your client doing better ?

8 Responses to “Unintrusive Instant Messaging”

  1. axolotl wrote on 10/1/06 at 6:37 pm :

    Kopete does everything you want, you can set notifications depending on the group of your contacts.

  2. Nikos Kouremenos wrote on 10/2/06 at 12:17 pm :

    axolotl, everything he wants also includes super extended info on the tooltip.

    Lucas, so what will the tooltip show if you have 20 unread messages from 15 people?

    About notification on specific contact or group, we have Advanced Notification Control (in SVN) which is not ready and I’m almost sure is not gonna land for .11 but we have considered this possibility for advanced users. It’s true we could do this somehow easier, when ANC is ready, it would be good to do Buddy Pounce (on online, offline, message) for specific contact and/or group.

  3. lucas wrote on 10/2/06 at 1:54 pm :

    @axolotl: I’m using GNOME, so switching to Kopete is not really an option at the moment :(

    @Nikos: If I had 20 unread messages from 15 contacts, of course, the tooltip would be quite big, but it would still be usable. However, I understand your point, but it would be easy to solve by adding a limit over which only the number of unread messages is displayed.

  4. Nikos Kouremenos wrote on 10/2/06 at 2:00 pm :

    One message from Susan
    Five messages from Mom
    13 messages from rest of contacts

    ???

    How about just Show Roster in trayicon and see which contacts have pending events icon?

  5. lucas wrote on 10/2/06 at 5:03 pm :

    > One message from Susan
    > Five messages from Mom
    > 13 messages from rest of contacts

    Something like that, yes. Or “13 messages from other contacts”. Displaying number of messages for 5 first contacts, + number for other contacts would be fine.

    > How about just Show Roster in trayicon and see which
    > contacts have pending events icon?

    Usually, my number of contacts with pending events is much lower than the total number of contacts (1-3 contacts with pending events, 50 total online contacts), so that would not scale well.

  6. Cote' wrote on 10/3/06 at 2:58 pm :

    I suppose it doesn’t help in GNOME-land, but on OS X I use a combination of Adium and Growl. When someone IM’s me, I get a small Growl notification in the lower right hand side of the screen which disappears after a few seconds. Adium then stacks up a count of unread messages on the application dock icon. The other things I do are “hide” Adium and the OS X dock. The result is, all I see when I get an IM is that notification for a few seconds.

    That said, between Adium and Growl there’s an extreme amount of configuration that can be done: the pop-up notifications can be made sticky, Adium can notify me in other ways, etc.

    If you’re interested, I’ll be happy to record a short screencast of the behavior and different options.

  7. Hal Rottenberg wrote on 10/3/06 at 5:26 pm :

    Well Psi, being the predecessor-in-style to both Kopete and Gajim (and in turn to ICQ) handles this case in a similar fashion. We’ve had this discussion in the Psi project how best to handle this but so far nothing has trickled down to the code level. Basically instead of a flat queue of pending events as we have now, the consensus is to have a slightly more complex browser; probably similar to your typical three-pane email application. Plus we have growl and systray and so on as well. Psi will let you alter which types of messages pop-up versus staying queued in the systray. Also going into DND will queue everything and will not do any tray notification events. So we have some flexibility now, but there is room for improvement in your boss versus girlfirend case.

  8. Sergey wrote on 10/4/06 at 9:59 am :

    GNOME teaches us: use good defaults instead of bad settings. So here is an idea: turn off all intrusive sorts of notifications when the user sets “Busy” status. It will also force user to set “Busy” status when he really busy. And, maybe, even do some automation.