A while ago I wrote some thoughts on WebRTC and I’ve been seeing more and more hype (albeit from just the same few people) about WebRTC, and now a recent post about how a company changed over somewhat pushed me over the edge on whether to write a follow up or not. So, here we are. I’ve decided to write some thoughts that I’ve been thinking for a while now as I watch WebRTC grow at a borderline snail’s pace.
It’s a bit disappointing, as it has potential obviously, but at this time WebRTC is just about useless for most use cases in this world of video/audio and data communication in a live environment. As far as I can see, it meets one need so far reliably: To be able to communicate from Chrome to Chrome without server side tech to get in the way via p2p, which gives you low latency and pretty good compression. I get it, Firefox has it too, but sadly the two can’t really talk to each other. Thanks browser manufacturers for not getting on any bandwagons and blazing your own trails. Then there’s licensing. Another topic altogether.
While I like the fact that there are pioneers out there that want to go back in time by about 8 years to struggle through the growing pains of such a crappy makeshift concept of live communication from one browser to another browser of the same make and version, I can’t imagine being a big part of that again outside of some cheering and minor messing around “just to see where it’s at”. To understand why (if you’re curious), we have to walk back in history ever so briefly.
Back in 2006 I was part of a growing group of people getting excited that Flash with Flash Media Server could do live communication. I was at the first Flash Forward conference in New York when it hit and I have been stuck on it since. While it was cool, it was cutting edge, nobody knew about it nor how to develop for it, and for the most part it kinda sucked. Sadly, it sucked for a while and pioneering that tech had it’s struggles, as expected. While there are still downsides to it now, there are so many more upsides that to this day it is the dominant technology out there, and for the foreseeable future as far as I can tell. There is absolutely no shortage of work in this area.
Here is a very recent post on how a one-trick-pony service switched over from Flash. I’m not trying to put down what they are doing when I say “one-trick-pony”, but literally, their service seems to offer one thing as far as I can see: anonymous video calling. Which in fact they can’t actually do in the browser for mobile anyways! Same complaint with Flash. The writer then states that they can’t manage the fact that you can’t do echo cancellation (true, it’s a big deal) on iOS with AIR and has turned to WebRTC to handle that while moving away from a server based communication system to go to p2p.
The funniest thing about it is that so many people ran away from Flash because it wasn’t supported on iOS. Here are two recent articles (here and here) on the relevancy of Flash that I liked, but to add to that, I would say also that at least Flash isn’t a technology that is so hobbled that it doesn’t run on *slightly* older browsers and doesn’t have issues with cross browser compatibility, let alone working with native apps built with AIR for mobile. Those two articles cover a lot, definitely worth reading.
The upside of WebRTC so far, it has the possibility in very narrow circumstances to provide low latency p2p video and audio streaming at pretty good quality. The major downside, which is the primary show stopper for 99% of our clients, is that you can’t control it in a central location, you can’t record, you can’t transcode and offer to other devices/platforms, you can’t really get it to hook up to a central system without some serious efforts and you would have a hard time billing for it other than just having an account, as you can’t monitor it.
The question is always going to be, “how do we make money with this tech?”. WebRTC is neat. It’s a bit shiny and it has potential, but it’s frail and fragile, almost setup to fail and unproven. Let alone the lack of great examples/code/tutorials/help/developers that come with the fact that it’s new and ever changing. I would say that it still needs time to prove itself and prove that it can reliably make cash and until then, it’s still f’n useless, but I look forward to being wrong in the future.