Tuesday, January 16, 2007

2007: Year of Instant Messenger Unification

"Hi, Bob. This is Peter. Listen, can you send me that draft you're working on?"

...

"Sure, I've got a computer. We can send it electronically. Can you send it to my Compuserve mail account?"

...

"Oh, you don't have Compuserve."

...

"No, sorry, I don't have AOL."

...

"Hey, I've got a Prodigy account that I use to talk to my sister's family, would that work?"

...

"Screw it, can you just fax it to me?"


I'm sure that many members of the technoratti remember just such occurrences back in the day of "online services." Each of a handful of companies had it's own pool of subscribers who could happily send electronic mail, play games, and maybe even join chat rooms together. Each system had the capability to send blocks of text from one user to another; that was easy. What they lacked was the ability to send messages to any user of any other system.

Then along came e-mail to rescue us. Okay, actually e-mail existed for academics well before most people were "logging on" to AOL. Nevertheless, I can remember the liberation I felt moving from the old modem-driven BBS to the Internet and e-mail: "You mean I can type in an address and it will go to *anyone* on the whole internet? In the world? I can send a message from our little town and it will show up in my sister's university mailbox? Wow!"

Well, just the other day I had an ex coworker e-mail me asking me if I had an instant messenger account. "Sure, I've got a .Mac and a Google chat account." "Don't you have MSN?"

Argh! Why the hell should I have to provide personal information to Microsoft, remember an another username and password (as if I don't have enough), and load another bloated piece of software, just to talk to my friend? E-mail solved it in (wait, let me check) 1982. I can use SMS to send text messages from my cell phone here in New Zealand to my buddies back home in the States--no problem.

Why is e-mail universal and why does instant messaging still have this proliferation of services? The answer is standards. Back in 1982, a clever fellow devised something called SMTP, or Simple Mail Transfer Protocol. It defined the technical bits allowing you to send messages to "huggybubbles472@example.com" should you so desire.

Gee, wouldn't it be nice if there were some sort of standard like SMTP that didn't tie you and your friends to a single company or service?

There is! It's called XMPP (sometimes it's called Jabber) and it's endorsed by the same group that publishes the standards for things like sending e-mail and serving web pages.

This all sounds too good to be true. Let's answer some hypothetical questions from those devil's advocates out there:

Q: Wait, smarty pants. I already run AdiumX/Trillian/Gaim and can log into all 17 services that any of my friends use.

Software like AdiumX/Trillian/Gaim do mitigate the immediate problem of being able to talk to your buddies. Unfortunately, this is inelegant and wasteful. The additional code required to speak umpteen zillion different protocols takes up space on your computer. Maintaining connections with a number of services steals network bandwidth away from your downloads. Programmers waste time making sure AdiumX/Trillian/Gaim work with all those services. In the time saved, they could be making their software better, faster, or less buggy. They could be spending more time with their families or devising a cure for cancer. Other problems arise when you have lots of protocols too. What happens when you want to have a group chat with an MSN subscriber and a Yahoo! subscriber? Erp!

Q: Well, if XMPP is so hot, why aren't companies using it?

MSN, Yahoo, AOL, Skype etc. want to own you. You are a commodity for them. They have your e-mail address and know something about you. You are part of their network. They have exclusive access to that information about you. To keep you to themselves, they'd rather not have you be able to shop around for other service providers or software. It's called lock-in.

Now, there is one big exception to those. Notice that Google isn't in that list of selfish companies. I'm not sure I always trust Google to do the right thing, but here they did. They stepped up and supported an open, public protocol. Let's have a round of applause! Now they support chatting with anyone else who also supports XMPP. There are a handful of smaller companies that you can get an XMPP (aka Jabber) ID with too.

Q: Is the software to run it any good?

It depends on the software you choose to use! (Wow, doesn't that sound like a breath of fresh air?) Google releases a chat client that works with their service. AdiumX/Trillian/Gaim all support XMPP. iChat on the Mac uses it too. Those are the big ones, there are about a zillion others that do slightly different things. Gizmo Project (not Open Source as the name might imply) supports XMPP and another standard called "SIP" for voice chats--similar to Skype. WengoPhone also supports XMPP, SIP, and video calling on Mac, Linux, and Windows. Plus it's Open Source. Yowee!!!

Q: I don't want to just type, I want to *talk* to people.

Didn't you read the last post? Okay. Here's the deal with audio. Audio chat ideally uses a different open standard called SIP. Unfortunately, certain popular voice chatting applications don't support it (Shame on you, Skype!). The only cross-platform SIP-based products I know of are Gizmo Project (Mac, Linux, & Windows), WengoPhone (Mac, Linux, Windows, & theoretically others), and Ekiga(Linux). Google claims to be making its chat client work with SIP.

Q: Get with the times. What about video?

Video is even more problematic and standards are even less well adopted here. iChat allows Macs to video chat together if both parties have an XMPP account, but you're out of luck if you don't have a Mac. Video quality is probably the best on iChat due to the special video compression software it uses. Ekiga works well in Linux. On Windows, well, I'm not really sure what to tell you. I know Skype works across all three platforms, but it's hardly open. Again, WengoPhone stands out as being Open Source, free, and cross platform. It supports video, though I haven't tried it personally.

My recommendation here: use whatever you use for video and politely pester the company (Skype, Apple, Microsoft, whoever) to support open standards for audio and video chat.

Q: What do you use?

I use a Mac with iChat. We do, unfortunately, also use Skype a great deal for audio/video. If Skype would support open standards I could say, "I proudly run Skype." But, they don't, and I can't. Skype gets credit for running on Mac, Linux, and Windows though.

If I weren't using a Mac with iChat, I'd be using Linux with Ekiga. I would not be using Windows. Windows machines are more expensive Macs if you factor in security risks, wasted time, extra software purchases, the impending Windows Vista catastrophe, etc. Sorry if I sound like a zealot. If I didn't have the money for a Mac, were in a tinkering mood, felt only slightly more strongly about open standards, or weren't vastly more productive on the Mac, I'd be running Linux. My next laptop will probably be a Linux machine, and I'll probably be running Ekiga.

For service, I use Google's Talk service. It's reliable and works well. If you already have a GMail account, you just need a chat client to start using it.

2 comments:

Anonymous said...

Koolim is a web messenger which enables you to access MSN, Yahoo, AIM, ICQ. MSN web messenger may be blocked on your company firewall so KoolIM is the best alternative to speak with friends, family, classmates and others. KoolIM is the leading online messenger. If other web messengers are blocked than KoolIM is the perfect option for you.

Claes said...

It's really bad. And I don't see any end to it either.

What political or commercial methods should be used to make the big hawks drop their proprietary protocols and start working on a common protocol?

I have no suggestions at all.
And I don't see any economical motive from the big developing companies to help with this.

Probably if a huge amount of people started using IM at work.

Perhaps the Chinese government could create a law that only allowed Jabber.
Just like they did with Mobile phones (your charging contact must be standard USB, or else you can't sell it in China).

//Claes