Like many folks, I’ve grown to depend on instant messaging (IM–it’s also a verb, to IM is to ‘instant message’), in the workplace. It’s a fantastic technology, but two years ago, I turned up my nose at it. (Of course, 5 years ago, in a similar manner, I turned up my nose at a cell phone, and now I wouldn’t be caught dead without it, so perhaps I’m not the best prognosticator.) What can it possibly offer that email can’t? I’m going to examine it from the perspective of a software developer, since that’s what I know; from that perspective, there are two main benefits IM offers that email doesn’t, timeliness and presence:
I didn’t think it was possible, but email can be too formal at times. When you have a question that needs to be answered right away or it becomes superfluous, IM is perfect. If it’s a question about consistency of API or an area that you know the recipient knows much better than you, sometimes 30 seconds of their time can be worth 15 minutes of yours. Of course, there’s a judgment call to be made; if you’re constantly IMing questions about the API of java.lang.String, you risk breaking up the answerer’s flow. However, used in moderation, it can greatly increase the communication between team members, especially when it’s a distributed team.
Presence is also a huge benefit of most IM software. This means that you have a list of ‘buddies’ that the IM software monitors for you. When each signs on or signs off, you’re made aware of that fact. This means that you can tell whether it’s worthwhile calling someone with a deeper question, or if you should just compose an email. The technical details of presence are being codified at the IETF and I foresee this becoming more and more useful, because it’s a non intrusive way for folks to manage their availability. It fulfills some of the same functions as a ‘door closed/door opened’ policy in an office, extending worldwide.
I use Yahoo IM because it fits my needs. Russell Beattie has recently written an overview of the main competitors and their clients, but technical geegaws like integration with music really don’t matter all that much to me. Much more important are:
1. Does everyone I need to talk to have an account? How easy is it for them to get an account?
2. Does it have message archiving? How searchable are such archives?
3. How stable is the client?
That’s about all I considered. I guess I let my contrarian streak speak too–I’m not a big fan of Microsoft, so I shyed away from Windows Messenger. There are some nice additional features, however. The ability to have a chat session, so that you can IM to more than one person at once, a la IRC, is nice. Grouping your buddies is great–each company I’ve consulted/contracted for has their own group in my IM client. I just discovered these instructions to put presence information on a web page. Combined with Maven and its intranet, or just put on any intranet page, this could be a useful tool for developers.
(I just read the Terms of Service for Yahoo, and I didn’t see any prohibitions on commercial use of Yahoo Messenger; however, there are a couple of interesting clauses that anyone using it should be aware of. In section 3, I found out that Yahoo can terminate your account if your information is not kept up to date (not really enforceable, eh?). And in section 16, “[y]ou agree not to access the Service by any means other than through the interface that is provided by Yahoo! for use in accessing the Service.” I wonder if that prohibits Trillian?)
One issue I have with the Yahoo client is the way status works. Presence is not a binary concept (there/not there); rather, it is broken down into various statuses–(not there/available/busy/out to lunch…). What I find myself doing is being very conscientious about changing my status from available to unavailable. However, I rarely remember to change back, which degrades the usefulness of the presence information. (If you have to ping someone over IM to see if they’re actually there, it means you might as well not have status information at all.) I spent some time browsing the preferences of Yahoo’s client, as well as googling, but didn’t find any way to have the client pop up a message the first time I IM someone when my status is not available.
IM is very useful, and I can’t imagine working without it now. I don’t know what I’m going to do when Yahoo starts charging for it.