Message to the Messengers

AdiumIf there’s an indispensable kind of software that helps me keep my work and personal lives balanced during the day, it’s instant messaging. It’s absolutely integral to making impromptu appointments, clarifying questions, asking for quick-hit reactions, and planning my social calendar. Because of this, I take a very conservative view to altering my instant messaging tools in any way — I generally don’t like it. Whenever the software I use changes — whether a feature is modified or a new one is added — it can take me weeks of grumbling about its newness before I can get accustomed to it.

For the most part, my program of choice is the superb, open source Adium. As an instant messaging client, none of the others can touch it; Adium is elegant on the whole, extremely pliable in its customization options, satisfyingly capable of talking to multiple I.M. services, and a high bargain at the price of free. I also make it a habit to use Apple’s iChat while at home, more so that I can keep an eye on what Apple’s doing with their instant messaging platform than anything. If I had to choose between the two, Adium would win, hands down.

It’s likely going to stay that way, too, because I’m not particularly encouraged by what I see coming for iChat 4.0, the next major revision scheduled to ship next year with Apple’s Mac OS X 10.5 Leopard operating system update.

Let Tabs Be Tabs

This latest version of iChat introduces tabbed chats to the program’s feature set for the first time. Adium has had tabbed browsing for a long time, but in a fashion that’s regrettably typical for Apple, the company has tried to outdo its competition through interface trickery: rather than arranging tabbed chats along the bottom of the message window, like Adium does, Apple has shifted them to the left in a sidebar/pane area.

I suppose you have to give Apple credit for not stealing the work of independent developers, because it’s so clear they could have made a better decision by fully mimicking Adium’s approach. In a way, I wish they had, as it would have made iChat a more viable contender.

The problem with having tabs on the sides is that the left edge of my screen is far likelier to be occupied — and obscured — by other documents than the bottom edge. In fact, I use Adium in just this way: I position my Adium chat window low on the screen, so the row of tabbed conversations can be seen peeking out from beneath my documents. Whenever someone sends me a new instant message, I can see it right away. In the highly technical world of interface design, this is what you call “making shit convenient for the user.”

Still, I think there’s a larger lesson here for designers with regard to fighting the cliché of tabs as a visual organizing principle. In the eight years or so I’ve been doing design for the Web, I’ve seen — and admittedly have also personally attempted — more unnecessary re-inventions of the basic tab metaphor than I care to recount. For some reason, we designers find the basic visual construction of tabs (perhaps most prominently displayed at to be dissatisfactory, but there’s no denying that they work. I’ve come to grips with this, and now I tell any designer I work with: let tabs be tabs.

Apple’s interface stumbles aside, instant messaging is far from perfect. There are at least a couple of tweaks on my wish list for the ideal instant messaging product. Here are two of them:

Minimum Character Safeguards for Messages

During just about every instant messaging chat, I accidentally hit the Return key while reaching for the apostrophe key on my keyboard, often as many as three or four times before the chat is over. The result is that I’m constantly sending messages with just one or two characters, like “I” and “We,” when I mean to send “I’m” and “We’re,” to cite two examples.

This seems profoundly unnecessary; an enterprising iChat or Adium programmer could just as easily require a minimum of three typed characters before allowing the Return key to actually send a message. So that if I accidentally hit that Return key while typing a contraction, the program will prevent the errant message from transmitting — thereby cutting down the vast majority of my errant chatting. And in instances wherein users really need to make their point with just a single character — like when the occasion calls for just an exclamation point — this minimum requirement is easily worked around by typing two trailing spaces. Everybody wins.

Buddy-Specific Clipboard Area

The nature of instant messaging is such that, even between two people, users often run multiple conversations or threads simultaneously, tripping over one another’s questions and confusing the flow of the conversation. Often, in the midst of typing an answer, I’ll have to cut my text and save it to the clipboard in order to reply to a more immediate question. The problem is that if I’m engaged in other chats at the same time, or if I’m doing work in other programs that also call for the clipboard, then I can easily lose that text I had intended to cache until later.

Of course, this might be solved by a system-wide service that allows for multiple, simultaneous clipboards. Failing that, the incorporation of a clipboard — or even a simple scratch area — for each conversation would be ideal. This could be manifested as an additional, retractable pane, or it could be invoked with a key combination, much as pushing the Up Arrow button will recall the last bit of text a user messaged in an Adium chat.

Texting Killed the Video Star

There, those are my two big requests for instant messaging. You’ll notice one thing that’s not on my list, though, and that’s any kind of enhancement to current video chatting features. I just don’t use video chatting. However, I do fully accept that one day we’ll have as many video chats as we do, say, telephone calls today, but I just can’t believe that number will ever approach the amount of text-based messaging we do. Even when we see the third or fourth generation of Internet users roaming the Earth and making us all feel ancient, I still believe that text will be a more comfortable medium than video.

  1. In Adium you can put multiple messages in a holding area separate from the clipboard. Hit ctrl and the down arrow to push a message onto the stack. A circle with a down arrow is the visual cue that you have something on this stack. Hitting ctrl and the up arrow will bring the contents of the stack back.

  2. I’m not nuts about the idea of adding two trailing spaces on the single character message, and personally I accidentally send things near constantly that are longer than just 3 characters. Any contraction in an entire sentence is a likely false sender in my case.

    Not sending sentences that end in capital “i” or “wouldn” or “shouldn” would be nice (how often do you end a sentence in I?), and maybe making the override just another return would be the most natural way to implement it.

  3. Caleb beat me to it – Adium’s “hold message” feature is something I constantly miss whenever I use iChat, which I seem to only use mostly these days to either a) receive a file from someone I’m chatting with, or b) do a video chat.

  4. Adium is potentially cool, but not quite there. While it does boast some good “named” features, it’s been my experience that they generally don’t work. While the software works as described some of the time, it is certainly not reliable. I’ve been following and using adium for 4 years now, and it’s never changed. They have yet to release a solid version that follows Apple’s spirit of “just working.” But it’s not entirely their fault, it mainly has to do that they are dealing with closed networks and have to use other libraries to connect to them, which means when those services go down, so does Adium. And lately, it hasn’t been very elegant out of the box. Brown and green? But you are right, it is very customizable and for anyone who likes twiddling around with their software preferences, it’s a good shot.

    You mentioned that all you do is text, which Adium is very good at. But for people who rely on other features of IM, such as file transfer, it’s shoddy at best.

    I think like anything, most of your wishes are highly personal preferences.

    For your comment on tabs, I couldn’t disagree more. I think tabs, especially in an application sense at their current state are totally flawed. Ever have more than 20 tabs open in Safari? It’s a pain to navigate them. And this goes the same with almost every tabbed software I’ve ever used including Textmate, Safari, Adium, etc… Over the last few years, there has really been a strong push for widescreen displays. While you may keep your instant messenger tabs showing at the bottom of your screen, I would venture to say that many users have literally no vertical space left to do that. Items like web browsers, text readers and editors, image editors, etc… all need to bee full length to receive their maximum size, especially on widescreen. Which leaves only one direction to go for background visible apps… to the side. Side elements to apps have always been a good safe bet. I loved the drawer when it was a prominent interface element, even with it’s inherit flaws, and the sidebar is great as well. I think it’s a good move to take multiple conversations to a sidebar. And of course I’m assuming that people using widescreen displays aren’t keeping their apps “maximized.” Horizontal tabs probably work great if you are on a 30″ display and stretch Safari from one end to the other, but I think the key advantage to widescreen is have as many apps as possible within view-sight but still retaining maximum view of vertical reading content. Also, as for setting it to the bottom for notification of new items, etc…, I think a really great solution is a notification system such as Growl. I have it set to whenever Adium is not the font application and I receive a message, it pops up (music video theme) telling me I have a new message with a preview of the message. Extremely well executed.

    Colloquy, an awesome IRC client recently did this, before Leapord even previewed. They used to have Adium style tabs and they went to sidebar tabs that look exactly like iChat 4’s. (So if anything, Apple did steal this interface element from a 3rd party chat program, but it just wasn’t Adium.) And it was a great move. There is so much they can do with the sidebar that they just could not accomplish with tabs, it’s an amazing interface enhancement and they really pulled it off well. Which leads me to the single greatest reason why side “tabs” work better than horizontal tabs. The scroll bar. Scrolling is pretty much natural to anyone who uses a computer by now, and as soon as any list of side tabs gets too long, scrolling is a completely natural way to see beyond the current visible items. Especially with scroll wheel mice and Apple’s scrolling trackpads. It really is completely superior to the horizontal method of having a “more” link that just creates a tear off menu of the extra items. OmniWeb’s tabs for instance, what an amazing combination of vertical tabs, previews, scrolling and usability. Another great example is Safari vs IE. A common complaint I hear from relatives that have switched to Mac is about their favorites collection. They don’t understand the whole bookmarks bar and bookmarks menu thing. They simply want a list of all their most visited sites that they can see in a glance and click to visit. The bookmarks bar can hold what, 20 at most individual links? So they have to split everything up into categories, make folders, and constantly spend time organizing their favorites, something they do not have the time to do, do not want to do and do not care to do. IE really has it right in this regard. Just create a simple list and allow scrolling as it gets bigger. For us geeks, toolbars are great, but for the commoner, they are really limiting.

    As for your minimum character safeguard suggestion, I think many people would find that highly annoying. Just to the nature of IM itself, an informal way of chatting, I would venture to say that a fairly good percentage of all IM messages are equal to or less than 2 characters. Emoticons? Many are two characters. I’m sure that something could be engineered to check whether or not what you are sending is a common word, emoticon or something, and it might make a good addition to a very customizable program like Adium, but It’d probably only be good as a preference that people could easily disable if they were unhappy with the behavior.

    And finally as for the clipboard, I do have this problem every once in awhile, but I’m not sure I’d want a buddy specific clipboard to handle it. What if I was typing something and realized it was to the wrong person, so I quickly cut the text and paste it to the right person, but now I can’t? I really think that this whole situation is completely fixed and better situated for a system wide clipboard service as you mentioned, and there are some amazing and cheap ones out there. Maybe a nice way to implement this would be select-only sends. For instance, say you were typing a reply to someone but then had to quickly respond to a more immediate question. You could just character return down a few spaces, type your reply, highlight it and then press enter. In this case, if any text is highlighted when you press enter to send a message, only the highlighted text is sent, and the rest of the text remains in the writing area. And of course it wouldn’t send the “typing” notification until you actually start typing again.

    Phew, that was a long post. Sorry about that. I don’t mean to be an ass either and disagree with almost everything, but I think that just goes to show just how personal and different everyone’s workflow is on their computers, especially on Macs. It must be so hard to design an app and try to meet everyone’s needs. I think this is a strong reason why Adium hasn’t had the success rate it could have, because it simply tried to please everyone. There was a great interview recently with one of the top developers where he talked about how they are getting more focused about doing things well and not doing “everything.” They mentioned that most of the features that are either added or agreed upon simply just come from their girlfriends and stuff they say casually about how they wished chat programs would work. I think that’s going to be a good move for them and the app. The 1.x bets are coming along nicely and should be the best release in a couple of years.

    Oh, and for anyone who would like Adium style tabs in iChat, Chax does a really great job of this and comes with a bunch of other great features as well.

  5. Wow, Caleb… thanks! … I love it when I learn a new feature of a beloved product.

    As for the RETURN key… there’s a preference to switch RETURN to a line return and making ENTER the key for SEND… Saves my life on many an occasion.

  6. Wow. It’s amazing to hear someone put all the problems I face using instant messaging every day into words. These fixes you explained are perfect and I hope both the developers of Adium and iChat are reading this.

  7. As for unintentionally sending snippets of text before done, I wonder if it wouldn’t be a better idea that you would have to ‘double-click’ the enter key? That way you’d next to never ‘accidentally’ send anything, and the ‘strain’ would be minimal.

  8. Also please something that prevents you from hitting Return after typing an apostrophe. I am constantly hitting apostrophe and then return when typing contractions.

  9. The problem with having tabs on the sides is that the left edge of my screen is far likelier to be occupied — and obscured

    Perhaps the reason for Apple’s simultaneous introduction of Virtual Desktops Spaces?

  10. One bothersome part of any IM client is that it is hardly ever one’s focus on a desktop. It feels like it should occupy a collapsable dock-like area that is only a click or keystroke away. Instead IM, like most other apps, requires a full application switch.

  11. Copy something that already works? Bah! Where’s the creativity in that! 🙂

    Maybe by changing something like that, no one will notice they are just playing catch up…

    And I agree with Raafi, it’s rarely the sole focus unless it’s an extended conversation. Something that can hide itself elegantly and only comes forward with pings would be a better solution.

  12. I’m responsible for some minor UI work on Adium, but even if I wasn’t, I could tell you that while your heart is in the right place, the “minimum characters” thing won’t work. Most of the time when I’m personally sending “half a message”, I’m in the middle of a long message, not a short one. Placing the limit low won’t help anyone simply because it’ll prevent short answers – “ok”, anyone? – and because it won’t prevent slip-ups on long messages.

    However, like Silus said, you can specify whether Enter or Return (or both) sends IMs, so you can bind it to the key that’s farthest away (I forget which is which).

    Voice IM is on its way for the Jabber protocol with the implementation of some techniques in Google Talk’s public Jingle libraries. This is an exception – AV is so hard to implement that it’s not even funny, and it’s a hard place to be when you’re a popular IM client with the crowd shouting for more. It’s arduous to keep up with the normal IM protocols (text, file transfer), and the audio/video protocols are even more advanced. Consider the MSN protocol that actually uses Windows Media – would we need to require everyone to have the bad-ass version of Flip4Mac?

  13. I must say that I find tabbed chat using both Adium and Chax dissatisfying, and Apple’s plans for “tabs” in iChat 4 sound quite a bit more useful (in theory, anyway). It’s pretty much the same reason I generally prefer vertical navigation on a web site to horizontal:

    1. Scanning a vertical list is a lot easier than scanning a horizontal one.
    2. A vertical list is much less likely to break the design if it needs to grow.

    That second point is especially important for tabbed chat, since I don’t like my chat windows (or any line of text, for that matter) to get very wide. The more people I’m chatting with, the more tabs I have, and the wider my window needs to be to keep track of it all. Apple’s proposal solves this problem.

  14. I consider chat (along with email, calendar, and todo lists) long running transient apps. If I were on a mac, I’d want them on the dashboard, which I see as the ideal container for long term transient apps.

    Widgets? meh. gmail+todo/calendar+chat one click away? awesome.

    Notification for new mail and chat messages in the area to the left of the clock.

  15. Oh, forgot the original reason I was commenting: Tabs to the left isn’t original. The current version of the official AOL messenger for Windows has tabs to the left.

  16. I absolutely love adium, and its tab implementation. I think Chax comes a long way to making iChat useable in regards to tabs, but it doesn’t allow for as many tabs within a small area, a feature that I think adium does very well with.

    One thing that makes either program more useful for me when I’m confined to a laptop’s screen is growl. With growl, you can just completely hide your application (thereby eliminating the problem of whether or not you can see a horizontal list of names, or vertical for that matter), and still be notified in an unobtrusive, customized message above your entire ui of whatever program you’re using. I find that often times while messaging, its not important to switch right away to the program you’re using, its more important to receive the information from the post without completely losing focus of what you’re doing. And it saves screen realestate by being able to hide the program, as a bonus.

  17. I see some validity in Rob’s points on vertical lists, but it seems to me there’s a pivot point — if you generally have open a few conversations, the horizontal tabs and the efficiency of space gains are paramount; if you’re constantly running say 5+ chats regularly, then that efficiency of space becomes a hinderance (as in when Amazon started sprouting multiple rows of layered tabs).

    I don’t know that there’s a (static at least) UI model to allow for optimum layout in both cases. Maybe it needs to be user-configurable — messaging app usage is not done “one way by all” so there’s no reason to expect one UI design to fit “one size for all”. Or perhaps an adaptive UI, which re-orients when a threshold is reached. That seems like it might kill the rule of consistency though… overall it’s not an easy problem or we’d all be agreeing how perfect XXXX’s messaging app is!

  18. I use all sorts of chat clients.
    And while i wish they were all better, including iChat with all the 3rd-party goodness attached, it still isn’t Adium, and Adium still isn’t iChat.
    It’s a shame. Perhaps the conglomerates will take over.

  19. I use all sorts of chat clients.
    And while i wish they were all better, including iChat with all the 3rd-party goodness attached, it still isn’t Adium, and Adium still isn’t iChat.
    It’s a shame. Perhaps the conglomerates will take over.

  20. With the point of a clipboard for every single chat session you hit a good point I am thinking about too: No matter which application, offline or online, web based or installable application. imho everything needs sort of a notes area you can use for small notes, clipboard needings or similar tasks. Think of a CMS or blog software having a small notepad in the backend or an irc chat software so you can note down some basic infos you are asking about or something. It simply would make life easier… and would free the desktop from Microsoft Windows(tm) Notepad generated .txt files you don’t find when you need them.

    Found a petition for this one 😀

  21. Re: “Minimum character safeguard,” I think this is a good example of a Really Bad IdeaЎ. As has already been pointed out, your proposed fix would do nothing to help your typing errors that occur after the first few characters. So, to avoid a small subset of your typing errors (which could be completely avoided if you, um, learned to type better), you propose a change to a universal UI behavior, which could lead to any number of unforeseen consequences. That’s a Really Bad IdeaЎ. (That’s a registered trademark of Microsoft, BTW. Any more ideas like this, and you’ll be getting nasty phone calls from Redmond.)

    I’m guessing I’m not the only one that responds to a significant number of IMs with “k” — as in, “Okay, I understand.”

  22. I’ve always found Fire to be more enjoyable than Adium and the interface can be made very minimal which suits me very nicely indeed.

  23. “Buddy-Specific Clipboard Area”

    Type something and before you send it hit ctrl+s and you message will be saved to a little arrow in the right of the input field

  24. I can’t say “asinine” but you can say “shit”?

    Your errant-keystroke problem disappears if only Enter sends a message. Enter and Return are two separate keys on Macs. Fire does this well.

    Tab notifications do not really work for all users, viz me. I tried Adium and it drove me nuts. I can tell at a glance when Fire has a new window (sic) for me, and not just because a window appears. (A status line lists available windows, using different colours and number of new messages.) I tried to explain the superiority of this approach to the Adium developers but, true to form, was heckled.

    You can use any of several multi-clipboard programs for that problem.

Thank you! Your remarks have been sent to Khoi.