Nearly a week ago Google announced that their new messaging app, Hangouts, would not have support for exchanging messages with users of other systems using XMPP. My first thoughts on this were: Google dropping XMPP from their new messaging platform is a big deal, definitely bad for customers, and may or may not be a good idea when looked at from their own perspective. Since then much smarter people than I have written many more words about this and I don’t need to re-hash those, but I do think that there is a bigger picture here.
Google have a track record of making a positive relative contribution to our industry; they employ smart people and historically appear to have encouraged them to act with technical integrity rather than suppressing this for short term product marketing goals. This approach generally produces good outcomes. I think that they are doing the right thing for example with WebRTC and their attempts to ensure the next generation of internet communication infrastructure is built out of open technology in spite of spoilers from patent trolls.
No matter how noble individuals are and how much latitude they are given, like any company, when push comes to shove they have to act in what they perceive to be the best interests of their business. I suspect that Googles Hangouts team didn’t wake up one day and collectively think: “I know lets throw a spanner in the works to stop everyone leaching off our messaging service”. More likely they faced a tough engineering call because they couldn’t get some neat killer-feature to work well within an XMPP architecture (my bet is on the conversation “watermarks”). The choice was probably killer feature which we think will help us achieve consumer market domination for our cloud application vs key interop protocol that will improve the utility of this class of application across all vendors. The former clearly won.
The problem here is that in a cloud environment where total dominance of one service provider is possible, there are only limited commercial incentives to play nicely. If a provider thinks their communication service can achieve critical mass then its own user interface becomes the only interop point they need to care about and communication over the public network is demoted to the role of delivering eyeballs to them. This promotes a form of collapsed backbone architecture for applications where the communication actually takes place in the core of proprietary implementations rather than on a distributed basis.
Nobody is surprised if a context free startup with megalomaniac plans pushes this kind of architecture, but the fact that Google have found this logic inescapable may be a key marker of a shift in direction that could be set to reverse decades worth of progress in the communications industry.
As an example from history, SMTP achieved traction because it was necessary for vendor e-mail implementations to exchange messages in order build a network of a usable diameter. Even back then there were what would now be called “hosted” or “cloud” implementations (Compuserve anyone) but also “premise based” solutions. Eventually the hosted solutions that were holding out for market domination had to give in and admit that being an island is untenable when the service you are providing is communication.
After many years of consolidating this shift to open federation and interoperability as the default way of doing things, it looks like those assumptions are now being re-tested in a very different commercial landscape.
Customers may have to work hard if they want today’s dominant cloud providers to come to the same conclusions about the benefits of open federation. I don’t think it is being dramatic to say that we stand to loose the “inter” bit of the Internet if they fail to do so.