People have a very special distaste for telecoms.
Between wiretapping, egregious data roaming and text messaging charges, the unreadability of our phone bills, and carrier lock-in, we have plenty of reasons. Add in the fact that we consider ourselves entirely dependent on them and we're all the more resentful and cynical.
But forget the traditional telecoms for a minute.
Google, Microsoft, Apple, and Facebook are truly the new telecoms—each within the last few years has built or bought a communication platform of their own.
The thing is: we'd never let telecoms do what we're letting them get away with: zero interoperability and giving them complete ownership of our ability to communicate with each other. (Can you even imagine if you had to have a Verizon phone to call Verizon customers and an AT&T phone to call AT&T customers?)
The fierceness of these tech companies' competition with one another is what keeps users largely in control, yet we put up with them growing more siloed instead of more integrated. It's been truly shocking to see Google take steps away from interoperability and federation.
It's interesting: major carriers have said they want to get away from the public switched telephone network (PSTN) and move to all Internet-based telephony services. No doubt, they see what their future competition is doing, how far ahead of them they are, and they understand plainly they're entirely hindered in putting up a fair fight by decades of regulative legislation, not to mention entirely bound to aging infrastructure.
This is not a complaint about regulation or a defense of telecoms.
It's quite simple: in the long run, traditional carriers have already lost unless they can be in a position to compete on the same grounds that tech companies can.
And as much as we think of the cool well-funded tech startups with telco APIs as "disruptive", we can still throw those in with the lot. Forget what their teams say, their paymasters' desires are for them to be bought by one of the biggest tech companies, or IPO and join them.
The fact is, there's no reasonable short-term economic incentive for any of these businesses (old-school telcos or tech telcos) to operate any differently from how they are. They're simply protecting their market share and aiming to maximize their profits.
But open communication is the heart of the web.
We should be demanding absolute interoperability of communication from the telecoms of the web, just the same as we demand it from carriers—and that communication should be as open, secure, and as free from invasion of privacy as it can possibly be made to be.
One of the valid criticisms of Prism is: even if the NSA's data collection program were used responsibly and only had benevolent intentions (doubtful), the centralization of that much power of information makes it ripe for abuse. The same is the case for our oligarchic "techlecom" silos.
The web needs an answer to this—and badly.
At &yet, we feel that the revolution of WebRTC poses a brand new turning point for the web and we have been actively engaged in taking advantage of this opportunity to the best of our ability. We're a fully bootstrapped company and we've poured an immense amount of our time, energy, and money into WebRTC because we believe in its power to fully undermine the status quo.
One of the reasons we started RealtimeConf was we were part of several web tech communities, plus the XMPP community—and we were eager to get them together for a variety of reasons.
The XMPP community has a remarkably similar spirit to those who believe in the Open Web. These are folks who want to see communication open and free-as-in-speech, if not free-as-in-beer too. Interoperability is of chief concern in the XMPP community. This community is passionate about the problem of truly open and free communication, which is why they've put years of energy into solving the problems that all of us who rely on IM every day absolutely take for granted.
But the XMPP community is decidedly not made up of web developers. Most of the community are enterprise-focused in their work and background, and quite centrally focused on Internet communication much more than the web.
This is an important distinction to understand. The web, specifically, is one of humanity's greatest equalizers. The Internet may be the wheel and the internal combustion engine, but the web is the car.
In contrast to the XMPP community, the web developer communities we've been part of absolutely detest the slow-moving and overwrought standards body rigamarole and don't want anything to do with it. And while developers who are building Internet communication services for enterprise don't feel hassled dealing with XML, to web developers, pouring XML on a complex and aging streaming API sounds about as attractive as a kick in the teeth.
Yet although we as web developers decry silos, we further participate in the siloing of the web by failing to aim for interoperability into our own experiments. Dozens of projects come and go under the guise of building open networks, but as my friend and mentor Julien Genestoux put it, "Everyone wants to reinvent the wheel just so they can put their name on it."
There are numerous "open" protocols that have emerged around WebRTC, but unfortunately it seems most are set up to describe how other systems can federate with the authors of those protocols. We've yet to see a company interested in selling WebRTC services point to documentation for using a publicly accepted standard. There are a bunch of WebRTC "standards" that essentially say, "You bet you can call us from anywhere! Just buy or build a Verizon phone first."
This isn't to shame anyone building those—they're making cool stuff, it's just that this is how we end up with 15 competing standards:
So, as we at &yet see it, the problems look like this:
- The web needs open, secure, independent, interoperable communication channels for the preservation of the freedom of the web (and, perhaps, its people).
- XMPP is foreign overkill complexity for web developers.
- Web developers have no options for standardized federated communication that's not proprietary.
- The XMPP community has historically been disinvolved from the web developer community. (This has been changing the last few years.)
- The web community has historically only built uninteroperable communication services.
The rapid adoption of WebRTC provides a dramatic opportunity for a turning point: here is the first communication API to be added to web browsers—and, even better, it's peer-to-peer (once you have signaling in place). And undoubtedly, the concerns the XMPP community has focused on for years have become suddenly and powerfully relevant to the web. An imperfect, but battle-hardened and well-distributed standard is exactly what we need to avoid the poison of 15 people reinventing the wheel.
What we need right now is unity and diversity — unity around protocol with diverse implementations.
Amazing things are afoot, even if they're out of view of the mainstream WebRTC hype:
- New abstraction libraries that make XMPP friendly to the web (like Lloyd Watkin's XMPP-FTW and our own Lance Stout's Stanza.io).
- Our team has been sharing the WebRTC knowledge we've gained building SimpleWebRTC and Talky.
- New XMPP clients are under development, and some existing ones are augmenting with WebRTC signaling.
- Some awesome demos of interoperable XMPP+WebRTC clients are starting to take shape—and we know there are others out there building on this concept who we haven't even heard of yet!
Here's the secret about building a "Skype killer" as we teased about yesterday — it's only going to happen because a lot of people are independently working together. As it's been said: It's amazing what you can get done if you don't care who gets credit.
Being part of it, you'll help define the future with the folks mentioned above and other key doers in this field.