WebRTC Worrywarts: Let's Get to Work Already!
WebRTC might be young, but it offers developers plenty of power.
We're becoming ever lazier.
I'm not that old -- even though I do have a few white hairs on my head (and bristles on my face). As a kid, I had to walk to the TV to change the volume. Today I ask my daughter to pass me the remote from the other side of the table.
WebRTC is all about reduction of barriers. Developers jump-start use cases that made no business sense before but are now simple to achieve. And yet we want more.
In a recent interview here on No Jitter, SIP evangelist Andrew Prokop had this to say about WebRTC: "If you write an application for one browser, it might not work on another browser, and that's really, to me, unacceptable. It needs to be the same code on all browsers."
I think this statement is wrong in so many ways. Here's the truth for you.
1. Browsers aren't interoperable, and neither is SIP
Really. They aren't. Interoperability is a nice enough word, but it fails miserably each time.
Hmm. So we need jQuery to get APIs to work across a multitude of browsers.
I'll tell you a secret. If you ever want to launch a Web page, make sure to tell the company converting your design to HTML exactly for which browsers you want it to work. You'll pay by the number of browsers, but your content won't look as good on browsers you don't mention.
Interoperability is hard to achieve, and with fast-moving technologies it never really happens.
I had my share of this with H.323 and SIP. They also break each and every time you try to do something that isn't the most basic of use cases. This is why the session border controller (SBC) market is so lucrative -- SBCs provide interoperability across SIP implementations.
WebRTC in browsers is no different. WebRTC gets better with each iteration. And it does that a lot faster than other communication technologies with which I have experience.
2. Don't like it? Don't use it
This one is easy. If it doesn't work for you, then please move on.
Use Flash, or write your own plugin for your media engine... but let's sit down together later to check how much time and energy you've exerted on that effort instead of trying to use WebRTC.
You see, there is no real alternative to using WebRTC these days.
3. We're living on the cutting edge
People talk about WebRTC's instability. Such talk reminds me of a blog Trello co-founder Joel Spolsky wrote in 2012 about the technologies used in Trello:
"We use cutting edge technology. Often, this means we get cut fingers. Our developers bleed all over MongoDB, WebSockets, CoffeeScript and Node. ... Besides, we're creating a product that we'll be working on for the next ten years. Technology that's merely 'state of the art' today is going to be old and creaky in five years. We tried to go a little bit beyond 'state of the art.' It's a calculated risk."
Now that Microsoft announced support for Object RTC, or ORTC, I believe there's little doubt that WebRTC is the state-of-the-art technology today.
If we are to develop and adopt a technology for the next 10 years, should we use WebRTC or should we go back to the old ways I grew up with as a kid?
Might as well go back and write code in assembly.
Why Is It Important?
Communications is a tough technology to master. I've been at it for the last 15 years.
WebRTC has reduced the barrier of entry so much that we are now lazy and complacent. We want WebRTC to solve all of our problems and worries -- all the things that bugged us for many years -- magically. And if it fails to solve a tiny bit of our problems? Then it's no good for anyone.
It's time to stop whining and get to work. Let's close the gaps and solve the challenges ahead of us.
WebRTC is a young technology and it's already capable of so much. Never have we had so much power in our hands as developers.