Since Google first laid out their plans for WebRTC, I was excited that there was going to be a next evolution of browser based communication. Before this, Adobe had actually built a pretty amazing framework for real time communications, which gave you webcam and microphone access right from the browser, support for the H.264, G.711 and Speex codecs, as well as a new low-latency UDP based protocol, RTMFP. However, Adobe failed to iterate on the technology, build a devoted developer community, open source the framework (when they actually did do it, it was too little too late), and ultimately get any real buy-in that this could be a disruptive communications framework – even though it basically did everything that WebRTC does.
Regardless, Google has now provided the world with the promise of open communications straight out of the browser, and Firefox has jumped on this wagon pledging their full support. There has been a huge amount of buzz around this technology, and everyone from chat sites to telecom carriers are trying to get a handle on the disruption that is heading our way.
However, as a developer of browser based, real-time communication platforms for the past several years, I feel like I’ve developed a bit of a 6th sense for the challenges that come with delivering enterprise grade reliability out of the browser – and I’m concerned about WebRTC’s ability to deliver on this promise. Specifically, our recent experience with implementing WebRTC based audio showed us how different Chrome’s implementation of the spec was from Firefox’s, and how this can lead to some serious reliability challenges.
Chrome’s implementation has been extremely smooth, which makes perfect sense for obvious reasons. However, Firefox’s implementation in 22 and 23 is almost completely unusable for reliable communications. It suffers from a lack of echo cancellation which can manifest itself as howling feedback, and a bug that results in an ever growing lag that can only be fixed by hanging up your call and reconnecting. For that reason, even though WebRTC is available on Firefox, we cannot roll it out to our users at this time, until these critical issues are resolved.
It’s obvious that WebRTC is still an extremely young technology, being iterated on very quickly by the browser manufacturers. However, the world is eager dive in and realize the benefits that are being promised, and this can’t be done unless there’s a very high quality standard being enforced. As the browser becomes a critical piece of communication infrastructure, any bug released can cripple communications around the world. Additionally, as communication vendors move into the browser, their business models, customer satisfaction levels, and revenues all depend on the proper and flawless implementation of this standard.
It’s inevitably challenging to roll out a disruptive new standard like WebRTC. Working as a community to deliver the highest quality WebRTC stack possible, validated with best-practice QA procedures, will help speed adoption of this important new standard by those of us creating the future communication and collaboration platforms built on it.
The promise of WebRTC is there. We’re excited and ready to innovate.