Reduce the risks of your WebRTC project failing

Watch the video below to determine your path to becoming a WebRTC expert:

Do you want to design, architect and develop your WebRTC applications the right way?

New to WebRTC? Here's something that happens time and time again. You start by building an application. To use WebRTC, you turn to... Google! and... github! oh... and... stackoverflow! You pick something up, get it to run on your machine, and launch. Only to find out things are breaking down.

Users start complaining about connectivity issues. Quality issues. Certain devices not working. The service doesn't scale.

And this leads you down the rabbit hole that is WebRTC - it is time to figure out what went wrong and why.

BUT: There's so much information out there about WebRTC. Some outdated. Others are irrelevant. Others still flat out wrong. How would you know what to do next to solve this?

Started with a github project? Now lets see what happens when you need to add a feature to it… we all know how that turned out.

Hi! I am Tsahi Levent-Levi, BlogGeek.me

I help businesses build WebRTC applications

Why are so many WebRTC apps breaking?

There are several things about WebRTC that makes it quite unique:

1

WebRTC sits right between VoIP and The Web

WebRTC is pretty confusing as a technology. One that is hard to learn on your own, since there is no single place where you can get it all in a "linear" way.


This brings about two different software development disciplines with very different software developers. And it is there where the real challenge lies.

Developers who take up WebRTC come from one of these routes:

  1. 1
    They either have a solid VoIP background, but know little about web development; or
  2. 2
    They know how to create web apps but know very little about VoIP

2

WebRTC is ever-changing

WebRTC is still a new technology, and as such it is ever-changing.

  • The standardization of WebRTC is almost complete. But there are many additions coming up in the pipeline
  • Browser implementations vary from one another in their implementation of WebRTC. The behavior, interoperability and amount of the specification they cover varies
  • Browsers work towards aligning with the WebRTC standard specification. They also optimize their code for performance. These cause deprecations and breakage of apps

Because of this, learning WebRTC on your own without professional guidance is challenging. How do you know if what you read on the internet is still relevant? Does it apply to existing browser implementations or is it a year or more too old?

3

A lot of moving parts and options

You need browsers, native applications, signaling servers, STUN & TURN servers and media servers. You need to scale them horizontally and geographically. You need to maintain and update them all the time.


Each use case is different. To work well, they need:

  • Different server types
  • Different configurations
  • Different implementations

1:1 call != group video conference != webinar != live broadcast

And that’s just listing the broad categories of use cases.

Making correct decisions in your architecture design for WebRTC is HARD. It requires a good grasp of WebRTC and media flows

Is there a better way?

I've been there many times assisting developers with their WebRTC applications. Assisting them in figuring out what architecture they should use to fit their use case. And while there's no winning architecture, there is a method to the madness. There's a way to think about these problems and analyze them to reach a winning design.


That approach is now available as an online WebRTC training course.

Do you even need WebRTC?

WebRTC isn’t for everyone. Here’s a graph showing the page loads of Chrome that make calls to AddStream:

AddStream() is one of the APIs of the WebRTC PeerConnection object. You can see that the percentage of page loads making use of it (and by extension of WebRTC) is below 1%. You can also see the huge growth in WebRTC adoption that took place during the COVID-19 pandemic in 2020.

This demand stems from the need of people to continue meeting virtually where they can’t do so in person. It uncovers new requirements and use cases that weren’t needed before. It also speeds up the adoption of these technologies known as digital transformation.

The problem? There aren't enough skilled WebRTC developers to meet this huge demand. The graph below shows the number LinkedIn profiles mentioning WebRTC:

You don’t see the x10 increase we’ve seen for WebRTC use.

Where does that lead us?

  • If you are a developer, then becoming a WebRTC expert will put you in high demand
  • If you need of skilled WebRTC developers, then they are going to be in very short supply

This isn’t limited to developing Zoom lookalike services. WebRTC is used today for video conferencing, call center calling, webinars, live broadcasting, social communication services, cloud gaming and the list goes on. WebRTC will grow significantly across all industries in the coming years.

Look at the graph below. It shows the software categories that grew the most due to COVID-19. Categories marked green are likely to be using WebRTC technology.

Source: TrustRadius

Introducing the ALL INCLUDED WebRTC Training for Developers

A course bundle targeted at making you a WebRTC expert.

The ALL INCLUDED WebRTC Training for Developers includes 3 comprehensive courses:

  1. 1
    Advanced WebRTC Architecture course
  2. 2
    WebRTC: The Missing Codelab
  3. 3
    WebRTC Tooling

Each course targets different skills and experiences you will need. Together they will make you an accomplished WebRTC developer.

Here’s what I focus on in this training:

Well structured & easy to follow

Breaks down WebRTC to its different components, going into the finer details. Covers the necessary skills as well as the potential pitfalls.

The WebRTC Design Patterns system

Understand how to analyze a use case and fit a winning architecture to solve it.

Beginners to advanced

The only prior knowledge needed is in development. Leave the communications, VoIP and WebRTC parts to the course to take care of.

We are here for YOU

That chat widget at the bottom right corner of the screen? It is available during the course as well. There is also a Slack workspace AND office hours that takes place in rounds twice a year.

The Why’s and How’s of WebRTC

We get you to how to use WebRTC while understanding why you should do it in certain ways. We teach you how to catch a fish.

“if you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn.”

Anne Isabella Thackeray Ritchie

Advanced WebRTC Architecture course

18 Hours

8 Modules

53 Lessons

This is a theoretical course on WebRTC. It has the knowledge you need to design and architect WebRTC applications.

To understand WebRTC, you need to know and learn many disciplines:

  • How digital network swork
  • What signaling is
  • Ways to deal with NAT traversal
  • How voice and video codecs compress media
  • How to process media in large sessions
  • Which tools are available at your disposal
  • How to translate a use case to an architecture

This course answers all these questions and more.

It does that through a structured building blocks system geared towards improved learning:

Here is what you will find in each of these modules:

1

WebRTC Basics:

We'll review together what WebRTC exactly is, cover its history and current state. Review the various touch points of WebRTC and check out the APIs it offers to developers. You'll get an up to date bird's eye view of What WebRTC is and how it works.

2

Networking Basics:

WebRTC relies on computer networking. This module explains the various transport protocols with a focus on browser networking. It covers WebRTC related aspects of networking, such as NAT traversal. You'll understand why and how to use ICE in WebRTC sessions.

3

WebRTC Signaling:

WebRTC has no signaling, but it is still needed for WebRTC to work. Here we touch the various transport and signaling protocols available to you. We will discuss topics such as SDP and security in WebRTC. By the end of this module, you will be able to select the signaling module for your application.

4

Codecs:

To send audio and video means dealing with Codecs. This module covers all you need to know (and more) about the codecs that WebRTC uses. You will be able to pick the codecs you'll want to use for your WebRTC service once we're done with this module.

5

Media Processing:

Group calling? Recording? These are tough nuggets in media processing. In this module we will learn the various multiparty architectures. We will explain them in detail along with the best approaches of using them.

6

Ecosystem:

Here's a secret for you: No one develops using WebRTC from scratch these days. Everyone uses a framework of sorts, be it open source or commercial. Our goal? To understand the ecosystem around WebRTC. This will help us pick tools for our WebRTC technology stack.

7

Design Patterns:

This module acts as a summary for this course. In each lesson, we choose a use case and explain its common design patterns. Through this process we will see how all the lessons fit into a single architecture.

8

Bonus:

The "etc" module of this course. Here we have lessons that didn't fit elsewhere but are relevant and important. They range from requirements, through standardization processes all the way to media algorithms and TURN configuration and deployment.

WebRTC: The Missing Codelab

4 Hours

4 Modules

24 Lessons

This WebRTC Codelab is what you were missing with WebRTC. Diving right into the WebRTC code by way of an example has never been easier.

During this WebRTC codelab, we will build together a Node.js application. The application will implement 1:1 WebRTC video calling service to web browsers.

This WebRTC codelab is like no other.

It comes as a clean, up to date implementation of a WebRTC P2P scenario. Developed by the one and only WebRTC expert Philipp Hancke.

We explain the code in several lessons. In each lesson we discuss the reasoning behind how the code was written. We talk through the pitfalls developers need to beware of.

The codelab itself has a set of exercises. These exercises take the learners through an investigative tour of WebRTC elements. Something you need to do in real life while working on your own WebRTC project.

WebRTC Tooling

4 Hours

2 Modules

27 Lessons

The WebRTC Tooling course offers extra materials. These offer quick and focused insights on a given framework or technique in WebRTC.

WebRTC Tooling includes two modules:

1

IN 10 Minutes or Less:

Recorded video interviews with the people behind the tools. Quickly understand the design decisions behind Jitsi, Janus, Kurento and many other open source and commercial offerings.

2

Snippets:

Actionable “how to” snippets of common problems and questions that developers have with WebRTC. From the correct TURN configuration to how to architect your high availability solution.

Who are these people anyway?

Tsahi Levent-Levi

I am an Independent Analyst and Consultant for WebRTC. Tsahi acts as the W3C Evangelist for everything WebRTC.

Tsahi Levent-Levi has over 20 years of experience in the telecommunications, VoIP and 3G industry as an engineer, manager, marketer and CTO. Tsahi is an entrepreneur, independent analyst and consultant, assisting companies to form a bridge between technologies and business strategy in the domain of telecommunications.

Tsahi is the author and editor of BlogGeek.me, which focuses on the ecosystem and business opportunities around WebRTC. He is also a co-founder of Kranky Geek, a conference for WebRTC for developers, sponsored by industry leaders such as Google, Intel, Twilio, Vonage, RingCentral and IBM.

Tsahi is also the co-founder and CEO of testRTC, a company providing self-service testing, monitoring and support solutions for WebRTC applications.

You can learn more on my about page.

Philipp Hancke

Philipp Hancke has been tinkering with WebRTC full-time since 2012 in various roles.

As a result he has learned a couple of strategies for filing bugs with the browser vendors, in particular Google’s WebRTC team and getting them to actually fix the issues reported. Filing close to 300 issues of which 40% were fixed taught him quite a lot about what works and what does not. Philipp is the #1 external contributor to the WebRTC library and has contributed a lot in Chromium as well with a particular focus on testing and preventing regressions from happening.

Philipp is taking part in my WebRTC the missing Codelab course.

What people are saying about the courses

We’ve signed up our team to the course and the immediate feedback was very positive. The content and the flow make it easier to learn WebRTC, and there’s a good balance for beginners as well as intermediate level of engineers.

Pankaj Gupta

Founder & CEO, EnableX

Tsahi is very knowledgeable in the WebRTC space and the WebRTC course shares this valuable information. There is also a slack community around this space which is great for reaching out and asking questions. The course breaks down the different components of the WebRTC architecture and goes into the finer details, for example the codecs. This is a helpful start with material aiding in which requirements to gather and the pros and cons of building a self-managed services.

Francois Greeff

Senior Software Developer, Global Relay

Tsahi's course was tremendously valuable to our company. From what we learned, we were able to add passive monitoring for our proprietary platform that's comparable to paid services. I revisit his content for fresh insights.

David Pautler

CTO, Modality.ai

Join my community of 1,000+ students across the globe that have enrolled in my WebRTC courses

“it helped us to improve the quality of our WebRTC architecture platform. It also gave us more understanding towards building the platform to the next level.”

Imagine the feeling of finally understanding and grokking WebRTC.

Are you trying to figure out what is wrong with your application? Got a problem you can't explain? Have you attempted different approaches to solving this problem?

Start looking at such problems with a different set of eyes, analyzing what needs fixing and how.

Better yet - make more calculated design decisions. Steer away from pitfalls and save your company precious resources.

Oh - and did I mention I am here to help you out with WebRTC through the chat widget, Slack workspace and office hours?

ALL INCLUDED

Courses

  • Architecture
  • Codelab
  • Tooling

Features

  • 12 months access
  • Office hours
  • Slack workspace

$1,400    $1,100

OTHER OPTIONS

  • Group/corporate plans
  • Individual course plans
  • Support course

If you don’t like the ALL INCLUDED WebRTC Training for Developers for any reason, if you feel it wasn’t worth your investment - we’ve got you covered. Purchase today and you can simply ask for a refund anytime within the next 14 days. We will process your refund, no questions asked.

Frequently Asked Questions

CONTENT

When was this course last updated?

June 2021. I try to keep it fresh and up to date.

Does the course cover practical code learning?

Within the ALL INCLUDED bundle, you will find the WebRTC Codelab course. This course is focused around a simple 1:1 video calling application with a Node.js backend. The codelab includes both explanations and coding exercises to enhance your learning and get you up to speed with the WebRTC APIs.

I don’t know anything about WebRTC. Is this course for me?

Definitely.

The course is advanced in the sense that it brings to light a lot of areas that are never discussed or taken for granted. Oftentimes, these areas are quite basic in nature, but tend to be very important. I designed the course to fit audiences who are just beginning their journey with WebRTC, but know a thing or two about technology; as well as for people who already know WebRTC.

The course and video tutorials are split up in a way so that the introductory content can be easily skipped if needed.

 

Am I expected to have VoIP or SIP experience?

No. Most definitely not.

WebRTC is a VoIP technology, but the courses doesn't assume you know and understand VoIP. SIP is lightly touched upon in the course, as one of the signaling alternatives for WebRTC, but that's about it.

The course will also guide you through the main terminology and concepts of VoIP and of digital communications as part of the training.

What if I am new to WebRTC? Can I do this?

Sure! The purpose of my courses is to teach WebRTC. This means I will guide you through the steps necessary to learn WebRTC from scratch.

Only thing needed is for you to have some programming skills - that part I don't teach.

I am not a developer. Is this course for me?

That depends. You need to have some software development skills to make use of this course. The course requires understanding of how computers work in general and an understanding of how to use programming languages in general.

If you aren't a developer and want to start developing with WebRTC, my suggestion to you is that you first go and learn web development - preferably using Node.js.

What difficulty level are we talking about here?

My WebRTC training courses have been developed for people with little to no experience in WebRTC as well as those who have been working with WebRTC for some time already. This is why even even those well-versed in VoIP or WebRTC will find a significant amount of the information useful. The courses and video tutorials are split up in a way so that the introductory content can be easily skipped if needed – you are not forced to watch specific lessons in order to move forward.

 

What secret information am I going to learn that nobody else knows?

None. You can learn everything in this course through blog posts, forums, and trial-and-error. There is nothing secret here. That said, there is a lot of information (and misinformation) out there. Advanced WebRTC Architecture course is designed to make WebRTC tech as digestible as possible, but it won’t be teaching you anything you can’t learn on your own.

What I do is put structure in to it and share my experience and best practices that I have seen successful companies using. The unique part is the process. I explain how I look at architectures and how I break down scenarios into requirements and designs.

What is WebRTC anyway?

WebRTC is a technology enabling real time voice, video and data transmission in web browsers. It is also available on mobile, native and embedded environments. It is used for anything from voice and video calling, through webinars, to live streaming and cloud gaming.

You can read more here about what is WebRTC.

 

Is there translation or transcription available?

Unfortunately no.

The course is comprised out of recorded English videos along with explanations and links (all in English). You can slow down the playback speed which can help if English requires more attention from you.

SCHEDULE

Will you offer this course at a later date?

The course runs 365 days a year, 24/7. You can enroll in it and study whenever it is suitable for you.

There are office hours that take place twice a year - each time for a round of 12 weeks. Past office hours are also archived and available, while during office hours you get to chat with me live.

I live in Singapore. Can I join the course? Will the hours be convenient for me?

Yes. You can definitely join!

The course itself is online and available at all times. I have created all the content in advance, pre-recorded, so everything is there whenever you need it – you just need to find the time to sit down for a lesson.

The Office Hours are designed to allow for each student to join at least once a week to ask questions and listen in to the group discussion. For that reason, there are two hours every week, one covering Asia and Europe and the other covering Europe and the US. On top of that, office hours are recorded and available for playback.

Is there a place where I can ask questions about WebRTC?

Sure.

The courses come with a Slack workspace that is used for that purpose exactly.

There's also a chat widget (the one in the bottom right corner of the screen right now? It is available inside the course as well).

During office hours (these take place in two rounds each year) you are encouraged to ask questions on things important to you.

And if all else fails, you can always contact me directly.

When does the course start? When does it end?

The course runs throughout the year. You can join at any point in time if you wish. The course is self-paced and online, so you can start and finish when you want.
Office hour sessions take place in 2 launches every year. If you aren’t part of that launch you still have access to the recorded office hours from the previous “course launch” as well as access to me via the course forum.

Can I take the course at my own pace?

Yes. Definitely.

The course is designed to be at your own pace.

This is why all lessons are open and available, so you can skip directly to the lessons you want, or take them based by going linearly (the suggested approach).

You can even speed up or slow down the video playback to fit your need.

ENROLLMENT

Why is it more than $200?

A lot of effort is being put into these WebRTC courses to make them the best WebRTC training programs available on the market. This work requires constant updates and tweaks.

If you check any other course out there, you will find that it is either outdated, created years ago and neglected. Or that it is brand new, and quite thin in the content it covers. It will probably stay that way and become irrelevant in a year or two.

The BlogGeek.me WebRTC courses are meant to get you from little or no knowledge about WebRTC to having all the tools necessary to becoming an expert in this field. Consider this an investment you are making in yourself.

What payment options are available?

You can pay online using credit cards or PayPal. Wire transfer is available as well, though suitable for bigger groups or corporate plans.

 

Are there group or corporate discounts?

Yes there are.

Look at the course syllabus (PDF). It details available corporate plans. To enroll your company, contact me.

Will I get future updates for this course?

The courses are licensed for 12 months. During these 12 months, you will be receiving all updates made to the courses.

After that period of time, you will be able to purchase a continuation for the course subscription for a discounted price.

Why is the course limited to 12 months?

The course runs throughout the year. You can join at any point in time if you wish. The course is self-paced and online, so you can start and finish when you want.
Office hour sessions take place in 2 launches every year. If you aren’t part of that launch you still have access to the recorded office hours from the previous “course launch” as well as access to me via the course forum.

What if I don't like it?

Then I will be truly sorry.

We offer 14 days money back guarantee, no questions asked.

That said, I will ask why, and I'd appreciate if you'll answer. The purpose isn't to not return your money, but for me to understand how to improve the courses moving forward from your feedback.

Can I expense this for my company or write it off for my business?

No accountants were involved in the making of this advice, but a number of former students have given feedback saying their companies let them expense stuff like a WebRTC training course that’s helpful for work.

There are also special corporate plans for companies who look to send multiple employees to the course.

MISC

Is there a classroom or live training option available?

Yes. From time to time I conduct custom training of WebRTC and its adjacent technologies either face to face or online.

To inquire more about this option, contact me.

Do you offer any other services related to WebRTC?

Yes.

I offer consulting services, helping businesses succeed using WebRTC. There's also a WebRTC Insights service.

I am also serving as CEO and Co-founder of testRTC, a company offering self service testing, monitoring and support solutions for WebRTC applications.

What are the office hours?

Office hours are simply online sessions that I conduct for the purpose of the course. They occur twice a week to accommodate as many time zones as possible: usually at 07:00 and 14:00 EST.

Office hours are also recorded and available for playback as part of the course.

During office hours I may raise issues I’ve seen throughout the week related to the course, but the main purpose of the office hours is for the students to ask questions about the content of the course. The office hours run for ~3 months.

Got a question not covered here?

Just fill out my contact form and I’ll get back to you with the answer to it.

[]