OpenAI, LLMs, WebRTC, voice bots and Programmable Video
Learn about WebRTC LLM and its applications. Discover how this technology can improve real-time communication using conversational AI.
Read MoreWebRTC can be hacked-away with great results. Often though, this leads to sub-par experiences due to basic WebRTC mistakes.
WebRTC as a VoIP technology is the best thing ever. It “democratizes” this whole domain, taking it from the hands of experts into the hands of the masses of developers out there. Slapping a bit of code and seeing real time video is magical. And we’re now starting to add it to more and more businesses using web technology.
While this all seems easy now (and it is a lot easier than it used to be before WebRTC), there are a few mistakes that many beginners make in WebRTC. And to be honest, these mistakes are not only made by beginners. That is why I am sharing a couple of common (beginner) mistakes in WebRTC that I’ve seen for a couple of years now.
This happens all too often. You start by wanting to build something, you search github, you pick a project, and with WebRTC - it just doesn’t work. It might for the simple scenario but it won’t handle edge cases, or scale nicely, or accomodate for the more complex thing you’re thinking about.
The truth is, that today, there’s no single, goodly, off the shelf, out of the box, readymade, pure goodness, open source, signaling server for WebRTC that you can use. Sorry.
There might be a few contenders, but I haven’t seen any specific project that everyone’s using (unlike TURN for example, where coturn definitely rulz). The sadder truth? SFUs offer better signaling than signaling servers with WebRTC (and almost always I’d suggest against using their signaling directly in front of your WebRTC client).
This should have been trivial by now, but apparently it isn't.
A few rules of thumb to avoid these WebRTC mistakes:
This is such a basic and common mistake that I even created a free video course for it: Effectively Connecting WebRTC Sessions.
This one’s also a basic WebRTC mistake.
Locally things tend to work well. Due to different network configuration, but also due to fairy dust that I am sure you sprinkle over your local router (I know I do every morning).
Once you go to the real world with real networks, things tend to break.
Test in the real world and not on your machine using 2 tabs, or being professional, from a Chrome tab to a Firefox tab.
The real world is messy and messy isn’t healthy for naive deployments.
Need help with automating that? Look at testRTC, but don’t neglect real world testing.
WebRTC is a great specification but it is rather new.
This means that:
And I haven’t even started about getting WebRTC browser implementations to be spec compliant with 1.0.
This all boils down to you having to work out a strategy in your code where all that if/then directives to deal with these differences takes place.
The alternatives?
Guess which one I prefer?
Two reasons for you to forget about security:
Both reasons are won’t lead you to a good place. In 2019, security is coming to the front, especially with communications. You can ask Zoom about it, or go check what Google’s Project Zero did recently.
Want a good starting point? I’ve got a WebRTC security checklist for you.
You can also dive deeper and learn more about WebRTC security.
You can’t. Not really.
Need a design for a whitepaper? An article written? A Wordpress website created? Find someone on Upwork, Fiverr or the slew of other websites out there and be done with it.
With WebRTC? Don’t even think about it.
WebRTC is ever-changing, which means that whatever you deploy today, you will need to maintain later. If you are outsourcing the work - some of it or all of it - assume this is going to be a long term relationship, and that for the most part, you may be able to outsource the development work but not the responsibility.
Going this route? Here are 6 things to ask yourself before hiring an outsourcing WebRTC vendor.
No. WebRTC is much more complicated than that scenario above. There are a few different servers you’ll need to deploy and use, there’s geography sensitivity to consider, and lots of other things.
You need to understand WebRTC if you want to really use it properly. Even if all you’re doing is using a 3rd party.
Note: See also the FAQ for WebRTC beginners.
Be sure to review these to see if there’s anything you’re doin’ wrong:
Check out my free WebRTC Basics course, or the bigger Advanced WebRTC one.
Learn about WebRTC LLM and its applications. Discover how this technology can improve real-time communication using conversational AI.
Read MoreGet your copy of my ebook on the top 7 video quality metrics and KPIs in WebRTC (below).
Read More