My Profile Photo

Joshua Colp


#VoIP enthusiast, #FibreOP evangelist, #Fintech newbie, #VideoStreaming experimenter


WebRTC: My thoughts and opinions

This blog post serves as my personal opinion about WebRTC and does not reflect any company I have done business with or am doing business with currently.

SDP as an API? I’d rather have Visual Basic.

I’ve posted only briefly about WebRTC on this blog, in fact I believe the only mention was when I stashed away Matt Jordan’s IRC conversation about it. There’s two reasons for this:

  • I’m not an active developer using WebRTC
  • I’m not a participant in the development of WebRTC

The first one is sort of a lie, though, as I was the person who wrote the original support for Asterisk for WebRTC and as of recently I’ve updated the support to work against the current implementation within browsers. In the end it’s not my day to day.

Despite all of this I thought it was time I made my thoughts more known about WebRTC and the things revolving around it.

Specification

I’ll keep this short because I’m more interested in the business side of things but the specification for WebRTC and development of it has been really… disturbing to watch. Sometimes I just sit back in disbelief at what is going on. The most sad part to me is that there are people trying to make it sane (hi Tim Panton aka @steely_glint!) but concessions have to be made. Like really, SDP as an API? How could someone defend that? Doesn’t matter, it is what it is. Interop has also been interesting to watch. In recent times it has improved but people still have to manipulate the SDP to gain wider interoperability.

An example is Chrome using RTP/SAVPF instead of UDP/TLS/RTP/SAVPF as the media transport. A little manipulation of the SDP and everyone is happy, though. Usually. Or just ignore the media transport… but then why do we have it in the first place? Oh, right, SDP.

APIs

This is an area I’m not qualified to speak about. I haven’t used them. What I can say though is that there seems to be companies, projects, and javascript libraries based around making them easier… if that’s telling at all.

Business

This is where it gets more interesting. I’m dividing businesses using WebRTC into three categories: Old school, obvious, and radical thinkers.

Old School

These are companies who have existing products but want to add WebRTC to make sure they remain relevant. Their use of WebRTC is an extension of their feature set but is not truly revolutionary in and of itself. It’s a value add for their customers. > An example of this is a standard PBX company adding click-to-call using WebRTC.

Since the features already available from these businesses were generally very similar to begin with they all end up providing similar WebRTC functionality.

While useful to existing companies to prevent them from jumping ship if they get into a “WebRTC? We must have that!” state of mind I don’t foresee the addition to old school products really increasing customer base. A customer doesn’t have to decide because almost any choice they make will have it.

Obvious

These are the companies who see the obvious things that WebRTC allows you to do and build completely around it. They don’t think beyond that or try to be radical. As people naturally drift towards doing things in similar ways the companies and service offerings end up being very similar. It becomes hard to differentiate. > An example of this is a company allowing you to establish calls between people.

What they all seem to capitalize on is the ease of use, scalability, and reliability of their offering.

As this is quickly becoming a saturated market how does a customer decide on what company to go with for what they need? Is it strictly driven around price? What’s REALLY different between them?

I err on the side of a customer not actually deciding. They jump on the first company they find or can remember, develop, and most likely stick with them. Sort of sounds like Amazon Web Services doesn’t it? A subset may also find it so easy to change (because the companies try to make it as easy as possible) that turnover occurs at a noticeable rate.

Radical Thinkers

These are the companies who see the fundamentals of what WebRTC can provide and leverage it in new and unexpected ways. They don’t try to do what others have done and realize that if it’s easy to do… others will do it soon enough. > An example of this is a company using WebRTC to lower origin bandwidth costs in a CDN by using P2P to exchange data between visitors.

Since the companies who are radical thinkers have less competition it becomes easier for a customer to decide. While they usually still have to make a choice they can focus more on what each provides.

The Future

Old School

These companies will continue to exist until a fundamental shift in communication completes. What they provide is still required because people have been conditioned to communicate a certain way in situations. This is changing as the old generation ceases to exist. Once done they either have to adapt and leave behind their old thinking or disappear.

Obvious

The number of companies in this space will continue to grow. Unless everyone gets a healthy share of the customers some will either have to innovate and become radical thinkers or disappear. Projects will also continue to be developed which will provide the same functionality for those who want a self-hosted solution. This is an easy place to be in, but a hard one to stay in long term.

Radical Thinkers

The number of companies in this space will continue to grow but competition for each will remain small and they will continuously innovate. Change and being different is not something to be feared, it is natural. This is where you want to be.

Despite being a radical thinker still look at leveraging existing concepts, ideas and solutions to accomplish what you want to do. Some things that have existed for a long time are good at what they do. Don’t reinvent them.

YOLO

You’ll notice a lot of the above isn’t really WebRTC specific. It applies to anything really but for some reason people and companies are forgetting it when it comes to WebRTC. Since you only live once… be a radical thinker.