WebRTC is heralded as an easy way to access the camera and microphone from javascript and build peer-to-peer video chat applications with no downloads needed–and no expertise beyond javascript skills. This is a completely true statement for the simplest of scenarios.
But as any technologist knows, the real world is rarely as simple as even the best of blog posts portray it. The truth is, learning WebRTC is not easy. And the many changes and improvements to WebRTC over the last decade makes it even harder, because not all sources are up to date and accurate.
You don’t have to spend much time scrolling through the discuss-webrtc list to appreciate that WebRTC is not always as simple as an intro blog post might suggest. STUN and TURN servers, video codecs, media servers, CPaaS’s, native libraries or mobile use cases, scaling to larger broadcasts or bigger group calls, recording …. There are so many considerations beyond the standard peer-to-peer video call that most blog posts highlight. Our Senior WebRTC Engineer, Alberto Gonzalez Trastoy makes this point superbly in his recent post, Things I Wish I Knew Before Building My First WebRTC App.
Pointing the way
At WebRTC.ventures, our team is often asked to point people in the right direction for building their own WebRTC applications. Or, for help answering questions about problems in specific applications or architectures. Since the interest in building live video applications has never been stronger, time is our most precious commodity right now. We unfortunately just can’t help everyone.
So, if you can’t wait for our team to free up or if you just don’t have the funding to hire us, we’re including some resources below to help you learn more about WebRTC development. There are a number of very good resources out there to start learning about WebRTC. The trick is finding the one appropriate for your use case and which contains up to date content.
Step one
The first place to start, of course, is WebRTC.org. Here, you can find background information on WebRTC and samples from the Google team. It also includes a link to the discuss-webrtc group referenced above if you want to see what people are asking and join in the discussion.
Personally, I think the best place to go to learn an introduction to WebRTC is a paid course from Tsahi Levent-Levi. Tsahi is a well known industry expert who will teach you all the basics at an architectural level. His WebRTC courses don’t go in depth into the code, but they’ll teach you what you need to know in order to architect your application and to understand the code you need to build. You can also sign up for his WebRTC Weekly newsletter to get regular technical updates and business articles about WebRTC.
You can also check out the videos we have posted on the WebRTC.ventures YouTube channel. In particular, a couple of our engineers (Alberto and Hector) made a series of videos a few years ago that can serve as a basic course for WebRTC/VOIP applications. They are listed in order on the playlist.
We also have our WebRTC Tips by WebRTC.ventures video series that go over some common architectural questions we are asked about in our work. And finally, our WebRTC Live videos are a series of interviews with industry experts that may touch on the topics relevant to your use case.
Another great option is WebRTCforthecurious.com from Pion.ly founder Sean DuBois. This is an open source e-book covering many topics around WebRTC. After you learn more yourself, you can also contribute content back to it! It’s not limited to WebRTC using the Pion libraries, it’s useful to anyone curious about WebRTC.
Close the book
Unfortunately, there’s no book on WebRTC that everyone recommends, because all the books you’ll find on WebRTC on Amazon are a bit out of date at this point (though if you want to check any of them out there’s a nice list of WebRTC books here).
Likewise, there are video courses out there on sites like Udemy–including one that I myself made back in 2015! However, I don’t recommend buying that either and so I won’t link to it here. It’s out of date and the publisher doesn’t answer my requests to take it down. Don’t waste your money on anything older than a couple of years, things have simply changed too much.
Still, there’s no substitute for experience
When it comes down to it, WebRTC based applications are simply different from other web applications. If you are talking about building a production-ready application, you need an experienced team that works in it everyday and understands its unique challenges–and opportunities! When you are ready, contact us.