On the State of Instant Messaging.
Instant messaging is in a bizarrely fractured state right now and what strikes me as odd about it, is that on the whole people are happy with it.
I started being active on the Internet in a serious capacity around ‘96 or ‘97, at the time the vast majority of folks I encountered were on ICQ or AOL Instant Messenger. These protocols were by and large closed and proprietary (That is somewhat of an over simplification of AIM’s history considering the nature of the OSCAR vs TOC protocols, but that can be tabled for our purposes.) Half my friends were on one, half my friends were on the other.
Needless to say toggling back and forth between both clients was a bit of a nuisance, when Yahoo Messenger arrived on the scene in ‘98 and MSN Messenger arrived in ‘99 I merrily ignored their existence not wanting more balls to juggle.
By the late 90s I stopped using Windows and switched to an operating system known as BeOS. This effectively meant I couldn’t use any official AOL approved client for AOL Instant Messenger or ICQ. However by then these proprietary protocols had been reversed engineered by programmers, and the rise of third party clients came to pass. Wikipedia leads me to believe it was in 1999 that GNU/Linux users first got GAIM (Now known as “Pidgin.”) Similarly in the same time frame, BeOS users got BeAIM to fill the same nitch.
Likewise there existed other clients for other protocols. However, the companies who invented these frameworks and ran these servers, did not like the idea of folks connecting to them with unapproved clients. There was for a time a kind of rolling protocol war across many of these services. I actually remember reading at the time that AOL altered their protocol such that it demanded hashes of parts of the client binary at certain points, in an attempt to block third party clients (who could not legally redistribute AOL’s binary.) As a user I had to juggle how I connected to these servers which allowed me to talk to my friends on a monthly, and at times a weekly basis.
During this period two solutions to the problems faced by the instant messaging ecosystem came to pass.
- The folks doing the reverse engineering more or less won the war. Third party multi-protocol clients like GAIM/Pidgin became common place.
- We had the rise of Jabber/XMPP.
Jabber/XMPP is an open, extensible, standard instant messaging protocol run by an open and transparent governing body. By design it can be upgraded to include practically any feature of any instant messaging service. It also supports federation, allowing different people on different jabber/xmpp networks to interact with each other.
In short, multi-protocol clients were the quick short term solution and Jabber/XMPP was the better long term solution. For the better part of a decade or more this was the established truth. By and large if you were on a jabber network you could talk to any other user via the xmpp protocol on any other jabber network. If you were still using AIM or something else then by and large you didn’t have to bounce between half a dozen different apps for half a dozen different protocols, you could just use a multi-protocol client from a third party.
Instant Messaging was something of a win for open standards, free software and the open web. Jabber/XMPP never completely won the game, but they dominated the landscape with Google adopting it with complete federation in 2005 and Facebook adopting it (sans federation) in 2010.
Much to my surprise this did not turn out to be a permanent win. In fact we are in serious troubled times for interoperability and open web standards when it comes to Instant Messaging.
The Rise of Mobile Messaging
In the past two to three years the we have seen the rise of all encompassing mobile instant messaging systems. Examples include: WhatsApp, Blackberry Messenger, iMessage, Google Hangout
From the point of view of desktop computing this is a return to closed proprietary protocols hostile to third party clients, with little interoperability. Also the launch of Google Hangouts also marked Google Talk for death. Google Talk is/was arguably the worlds largest Jabber/XMPP network, but now it is depreciated living on borrowed time, it is unknown how long Google will allow it to exist. They have been quite silent on that front.
This particular reversal stings, as proponents of XMPP flocked to the service evangelized the service and helped co-develop and popularize things like it’s video chat infrastructure.
I run my own Jabber/XMPP server and talk to a handful of friends and family from my own server to their Google Talk accounts today. People who log into Google Hangouts tantalizingly appear as present to me in my Jabber Roster, but cannot receive instant messages from me nor can they see me. Very likely, one day in the future, my friends and family who still use Google Talk in lieu of hangouts will go to login to their clients and will be instead given an error message. I will log into my jabber server and my roster will be empty. At which point I will have a bit of thinking to do.
As more people flock into these new services, the more it feels like things are returning to that chaotic state in the early ages of the Internet. Though by and large the users moving to these services are being lead down a primrose path by companies who want to own every aspect of their online communication and are being compensated by convenience and the polish of vertically integrated services. Its the same phenomena as before, but far savvier packaging.
I can’t help but think that the pendulum will swing back the other direction given enough time. WebRTC looks as if it will be a complete game changer in the video/voice over IP game. With any luck it and GNU Sip Witch can be sufficiently disruptive in that sector.
The attitude on the XMPP Operators Listserv when everyone had realized what direction Google had switched to was very much one of: “you’ll be back once you relearn why interoperability is a good thing in a few years.” Then they then went about discussing security improvements to the XMPP standard and existing network, improvements that Google had previously been holding them back from doing.
What frustrates me a bit is that the lessons learned previously in the prior decade of the Internet, are so quickly forgotten by so many, even technical people in my field who lived the previous decades worth of history on the subject. Perhaps it is not forgotten, but if not forgotten then it is deemed no longer important or relevant in the face of new shiny packaging and convenience.
I was linked to something of an interview with Eben Moglen, one of the leaders of the Freedom Box project. Its not new, but its quite apt. Its leveled more at social networking than instant messaging, but its lessons are applied to any kind of closed system with network strength. In it Eben Moglen pleads/demands passionately and asks the journalist just to exercise their self control and not buy into such systems.
I don’t quite agree with how starkly Moglen frames it as a moral choice. But I do think, how people choose the technologies and companies that mediate their communications in our digital world, reveals something about themselves. Namely, how important things like openness, privacy and freedom actually are to them.