Chris Kranky

Recent Posts


Is WebRTC Hard? It depends

Chris KoehnckeChris Koehncke

difficultNormally, I’m in agreement with my pal, Tsahi Levent-Levi, who writes the popular bloggeek.me (though he refuses to give me the secret ingredient to his grandmother’s humus recipe). He wrote recently that WebRTC wasn’t really that hard in his aptly named post, “Is WebRTC Hard?.” I respectfully disagree (I’m never gonna get that ingredient now).

I’m older than Tsahi, my earliest communications technology was banging two rocks together. So from that perspective, WebRTC is indeed much easier. Unfortunately, I moved into the heart of Silicon City (downtown San Francisco) and it’s been an eye opener for me. Technology is on around the clock. Nearly every night of the week, I can attend some technology briefing, seminar, meet-up or company open house (all with free food and drink) which explains why my Safeway bills are low.

The problem is there is this too much technology for the average developer to keep up with. Education becomes important but there is also a “follow the crowd” mentality, do what others are doing with the assumption someone else must have thought thru the details. They make it easy. Sadly, WebRTC is missing easy, yes it’s easier but not easy. It’s rare I find a SV developer who even knows what WebRTC is.

Put on some new eyeglasses and let’s enter WebRTC as a newbie. You hear about this technology (somehow) and arrive at the WebRTC front door ready to enlist in the war. Basic training out of the way. You start to ask questions. What are the real components I need to make a real production service? Ah, you have lots of choices, which ones, we can’t tell you.  I obviously need some signaling methodology, what should I use? Ah that’s the beauty of WebRTC you can use whatever you want. What are you serious, I have to “invent” my own signaling? Yeah, we didn’t want to start the religious war normally associated with signaling (some of us still recovering from SIP). What’s this offer/answer debate? Beginnings of religious war, try to ignore. What are the arguments about video codecs? Financial war, try and ignore. What about client libraries? A pile of JS libraries sit on GitHub but we can’t really recommend one over the other, start with an empty IDE screen and pray. What about Microsoft? Coming, but will be totally different, we’re excited about it though. Apple? Never heard of them. Is there a mobile SDK? Yes, but you’ll need to do a lot of work to make it really work. STUN/TURN seems scary? You don’t know the half of it.

On the other end, we have WebRTC vendors, good people, trying to do the right thing, but also trying to make a living. Their line – just use all of our own stuff and you’ll be fine. Forgetting however that no one vendor has the total solution nor the risk of committing my production service to a provider who is small themselves.

Correct me if I’m wrong, but hasn’t the fine line between sanity and madness gotten finer? – George Price.

Ah but some of you have told me you have the answer to this problem. Commercial vendors. They lean over and whisper two magical words that make even the worse boo boo go away. Open source. “We’re going to open source {our product name}”. If you’re thinking this and haven’t whispered it to me already, guess what, you’re not alone in this “great idea”.

Open source?  I’m some newbie developer on WebRTC and you want me to go walking around in your dark partially tested code room filled with razor blades? All by myself? At night? I can’t even figure the code I wrote yesterday.

Don’t get me wrong. The Internet is indeed powered by Open Source. But it requires a community of support. A community willing to work together, devote energy and have commitment to reaching the goal. This is not one company doing something, this is multiple interested companies and individuals working as a team.

2015 is nearly upon us (particularly for those who observe daylight savings time) and I am circulating some ideas about how to move the needle forward (your comments/emails welcome). No one has said I’m crazy but the idea requires some fleshing out from people smarter than me. Voices should be heard and the best ideas need to rise to the top. More to follow.

I won’t end with the cliche, together we can make a difference. So I won’t.