A brief history of electronic connectedness

In an attempt to explain what Google Talk is all about, and why it's something that people should at least care about if not understand, taking a look at what happened with email over the past ten years or so is informative.

Everyone uses email now, and everyone takes for granted that they can send email to anyone else if they know their email address. It doesn't matter whether it's an @aol.com address, an @gmail.com, an @columbia.edu, or anything like that–there's (for all but the few degenerative edge cases) universal addressing for email.

Back in 1994 when I first started connecting to online networks, I had an AOL account (and I kept that AOL account until a few months ago, which necessitated my change in screen name). At that time there's wasn't much going on of interest on the Internet Internet, but AOL had it's own online community, with proto-web pages full of content and files to download only available to AOL customers. AOL also had it's own email system. To email someone else, you entered their screen name as the To: header, with the @aol.com portion assumed–there was no way to email someone who didn't use AOL, and there weren't too many people one would want to email who didn't use AOL at that time, save for the handful of CompuServe or Prodigy customers.

This worked fine for a couple of years, but soon the Internet Internet took off, and people started getting accounts with Internet Service Providers instead of AOL, and other people got Internet access from their school or work, and suddenly only being able to email other AOL users was a serious limitation with the AOL client's software. At some point (I forget which year; perhaps 1996 or so) AOL decided that they needed to give AOL users the ability to email non-AOL users, and vice versa, and they created some rudimentary email gateways that exposed their internal email system to the Internet as a whole.

Technical digression: In order to "expose their email system to the Internet," and in fact in order for any two computer systems to talk to each other, there has to be some agreed upon language (or protocol) for the two systems to speak. AOL's email system was developed in isolation from the rest of the Internet's email, and the protocol it spoke when passing messages back and forth was different from the language spoken by other systems–think of it as a new dialect, or even and completely new language, springing up from a civilization that developed in isolation from any other people. In the case of natural language, the human brain is usually advanced enough to figure out that, for instance, "y'all" means "you all" or even that pamplemousse means "grapefruit" (if someone gives you a hint), but computers aren't good at that type of educated guessing. There needs to be a well-established, unambiguous protocol for two computer systems to speak to each other in a reliable fashion, and in the case of email SMTP (Simple Mail Transfer Protocol) was formalized in 1982 via the RFC process. So when AOL opened up their email systems, what they did was tack on a server that spoke SMTP to the rest of the Internet.

Further technical digression: SMTP is just one of the standard protocols for email that are relevant. It's used to route email from one system to another, but once an email is properly routed from the sender to the recipient, the recipient needs a way of actually fetching the email from their mail-provider's server to their computer screen. The two common protocol that email clients (such as Thunderbird or Apple's Mail, or even web-based clients like GMail's web interface) are also RFC standards: POP and IMAP.

Digressions aside, after a number of years AOL (and CompuServe and some other online services) realized that their users needed to be able to email arbitrary people on the Internet, and made a business decision that speaking the standard email protocols and letting their users communicate with the outside world was worth it, lest they lose users to an ISP that would give them more control over whom they could talk to.

While the SMTP standard for email communications has been in place for over twenty years, and enough computer networks on the Internet agreed to speak it that it is now indispensable, we haven't seen the same thing for instant messaging. AOL and Yahoo! and MSN haven't seen any financial incentive to do so without demand from their user population.

Another technical digression: Universal email exchange relies on email servers speaking the same language (SMTP), but even more basic than that, it relies on email servers speaking to each other in the first place. Looking at the current state of instant messaging, not only do each of the major providers use a different dialect for their servers (AOL uses OSCAR, which has been reverse-engineered but is not an open standard–think of it as a secret code that someone has managed to decipher for now, but which might change on AOL's whim), but their servers effectively refuse to talk to one another. So even if I were to run a server that also spoke OSCAR, AOL's official instant messaging server would refuse to speak to (or federate with) my server, and people who connected to my server for instant messaging wouldn't be able to speak to people who use AIM. So universal email works because we have both a standard protocol and federation amoungst the various email servers out there, but as of right now we have neither in the instant messaging world.

Except that's not completely true: there is an RFC-approved standard for an instant messaging protocol, known as XMPP (Extensible Messaging and Presence Protocol). It was adopted in October 2004, so unlike the twenty-three year old SMTP standard for email, it's brand new. Right now, the most popular piece of software to run on a computer server somewhere to provide instant messaging using the XMPP standard is called Jabber; it's a free, open-source system, and it's so prevalent within the nascent XMPP world that "Jabber" and "XMPP" are sometimes used interchangeably, but you should think of Jabber as something that implements the XMPP standard on the server-side.

The Google Talk announcement is, I think, significant for only one reason: Google decided to run Jabber on their servers, and Google is taking the stance that federation with other Jabber servers is a Good Thing. Protocol standardization and server federation is necessary if instant messaging is ever to become truly universal like email, rather than split up into massive AOL, Yahoo!, and MSN islands like it is today.

Right now I use Adium on my Mac, which is a wonderful chat client and which allows me to connect to AOL's servers (via libgaim, the reverse-engineered implementation of the OSCAR protocol), but it also supports connecting to Jabber servers like Google's. So I'm running one program on my computer that behind the scenes is talking to two servers at once, requiring one AIM account and one Jabber account. This is rather silly, but it's going to go on that way indefinitely unless the big instant messaging providers are somehow compelled to federate their servers and speak a common protocol. Universal instant messaging exchange is just as inevitable as email exchange, but I think it's going to be the big corporations who rely on instant messaging for internal and external communications that manage to compel the instant messaging providers to open up their systems rather than consumers. It might take ten years, but it will happen.


  1. That was actually wonderfully lucid. Thank you.

  2. I agree. This is also extremely clear, relevant, and prescient. But seriously, you must have failed hard on your spelling tests in French class. And in English, for that matter. Amoungst?

  3. I am tempted not to defend Jeffy, because he has hung me out to dry for typos in the past, but I think much like Google, we should strive for universal standards. One of them is not to pretend we have never hit the wrong button on the keyboard and critiquing others on their spelling.

  4. Mistyping is one thing, and I agree we're all human, most definitely. I draw the line at some of the contractions created by the laziest of typists using instant messenger which are slowly finding their way into common language (at least in post-internet age people, which I seem to be at about the oldest age of, 22).

    Embrace the occasional mistakes, it lets you know you aren't speaking to a machine!


Post a Comment

Popular posts from this blog

Eddie Vedder is Still an Incoherent Drunk

Are you acquainted with our state's stringent usury laws?