LearnProduct updatesFrom Google Hangouts To WebRTC

From Google Hangouts To WebRTC

Remy from WebinarGeek

Remy

07 September 2017 - 7 min

Illustration related to a product update

The transition from Google Hangouts on Air to WebRTC for live streaming our webinars has been the largest change by far in the short history of our company, WebinarGeek.

Going live with just the push of a button, broadcast in high quality and doing all of this without any delay. It can’t get any better, can it? At the end of February the time finally came… The introduction of the new WebinarGeek! From that moment on we finally stood on our own legs.

It was really exciting. Streaming live webinars would always go through Google’s servers. But from that moment onwards, the responsibility would suddenly be totally ours. Which is great, don’t get me wrong. We like having 100% influence on all the factors of influence, such as streaming quality and stability. But the transition hasn’t been completed without problems, obviously. On our road to independence, we encountered a number of problems. We fell down, but always picked ourselves back up. It helped us improve and learn. In this article, I’d like to share a sneak peak ‘behind the scenes’ during our launch phase.

What exactly is WebRTC?

WebRTC stands for WebRealTimeCommunication and it’s a functionality on your browser that allows you to exchange audio and video in real time with another browser.

A program like Skype uses similar technology. The main benefit? All interactions happen without having to install extra software. The browser allows you to activate your camera and microphone and ensures the standard functionalities are present to exchange data with another browser.

The main benefit of WebRTC is the lack of delay during streaming. It’s known for it’s so-called low latency streaming. This means no delay will occur during broadcasts, especially between Google Chrome browsers.

Google Chrome is one of the early adopters of WebRTC. The company behind the search engine and browser aims to create a new “web standard” using this modern-day tech.

For us at WebinarGeek, we’re able to read and apply a part of the browser’s functionality and create software around it. You can look at WebRTC as if it were a toolbox we’d be able to use to create software with.

Two laptops and the WebRTC logo in the middle

WebRTC allows real-time communication between browsers

WebRTC brought us a lot of opportunities compared to Google Hangouts on Air. Like the possibility to livestream without delay, stream in high quality and stream directly from the  browser without having to install anything or using additional software. It also doesn’t require any complex integrations with third parties.

Applying WebRTC for webinars

WebRTC was originally intended for videoconferencing solutions. During a video conference, a browser will be connected to another browser. There is direct communication between two browsers, for example Skype.

This isn’t exactly ideal for a webinar, because a lot of people at the same time would have to participate. You don’t want your computer or browser to connect to hundreds of other computers at the same time. This would not only be potentially dangerous, but also practically impossible. During a webinar, broadcasting data from one computer to multiple other computers happens, instead of direct communication back and forth.

This is where a little WebinarGeek magic comes into play! We made it possible to use  WebRTC for broadcasting webinars. Without the need for delay or setting up connections between all participants.

Here’s how the magic works: you create one connection from your browser with  WebinarGeek, and we’ll take care of the rest. We will spread your connection from our  servers with all viewers, so all the "heavy lifting" within the connection happens on our end. This process also allows for recording all webinars.

This was by far to largest and most important challenge during the implementation of  WebRTC. You can imagine we had a little party in our office when we finally cracked the code and found the solution.

Data is knowledge...

One of the things that helped us the most is information storage. Here at WebinarGeek we keep records of everything, and I mean everything. The statistics for each host and viewer help us improve WebinarGeek. Every notification that pops up on someone’s screen, every aspect of the connection: we can find it in our massive pile of data. One of the things we do in the tech-department is sampling webinars for analysis:

  • How did the broadcast go from the viewpoint of the host?

  • What devices did viewers use to watch the webinar with?

  • Who wasn’t able to join and why did they miss the broadcast?

  • Was the quality tuned correctly for both the host and the viewers?

  • Who saw error messages and why?

These periodical analyses are documented discussed with the team on a weekly basis. The main things we look at are possible adaptations to the software to solve an issue, or adaptations to the app to clarify something. For example, a viewer should perform a certain action but isn’t able to find the button.

Remy from WebinarGeek testing on several devices

I’m in my natural habitat, testing is usually done extensively at WebinarGeek

Viewers follow webinars from hundreds of different circumstances. From The Netherlands or another country. From a computer, laptop or tablet. Wireless or cable. Using Internet Explorer, Edge, Safari, Chrome, Firefox, different browsers, different browser versions, the combinations are endless. This makes periodical analysis and improvement a must.

Apart from the samples, since August our system automatically gives a notification when something went wrong during a webinar. For example, a malfunctioning microphone, a poor connection, or a (too) large of a percentage viewers with issues. That’s how we can improve WebinarGeek with even more precision.

Notification of a WebinarGeek event

In the WebinarGeek system we literally get “dinged” when a webinar is live (or has been live) that requires our immediate attention

The challenges since introducing WebRTC

Since introducing our new streaming solution, we made many hundreds of improvements and changes. Below, you’ll be able to find some examples of the things we encountered during this time:

Changing the quality

After introduction, it seemed like most of our customers were able to give a webinar with high quality. However, some customers encountered quality issues: pieces of missing video, audio cutting off. After research, it seemed like these issues were caused by the instability of the network (for example, wireless internet from an attic), or a lower than average internet speed.

As a result of the issues encountered by our customers, we implemented an automatic network test on the broadcast page. As soon as the page loads, some speed- and network tests are performed behind the scenes, in order to determine the optimal quality for the webinar.

Low internet speed? We got you covered. In cases like these, we’ll slightly bump down the quality automatically to make sure your webinar can be broadcasted without any problems.

Tilting the screen

Our viewer analysis showed us something interesting. Some mobile users opened the page to watch the webinar, but ended up never actually starting the webinar. For mobile devices it’s usually the case we aren’t allowed to start the video. This is a limitation the mobile software publisher places on websites with videos. After some more research, the problem seemed to have two components:

  • Not all viewers understood they had to actually press 'play' to watch.

  • Some viewers encountered an image with the request to tilt the screen, to watch the webinar in landscape mode. This image wasn’t always understood.

As a result, we provided clear and intuitive guidance on the page to start the video. We also redesigned the image for tilting the screen from scratch. Ever since we changed these two small things, we never encountered these problems again!

Picture of rotating a mobile device

Our research showed the left image wasn’t intuitive enough, the second seemed to work a lot better

Android browsers

Viewers who watch on mobile using an Apple device are always welcome. It’s fairly easy to spot when we’re dealing with Apple devices, and we’re usually always dealing with the same type of browser. For Android, it’s more challenging. Not only are there dozens of devices and versions out there, there’s also a wide range of available browsers and browser versions.

Our viewer analysis showed some Android viewers had issues with watching streams. The managed to play the content, but sometimes the stream was buffering a lot (this is the stream lagging out), or the stream simply cut out before it actually ended. After some additional research, it seemed like some Android browsers and devices supported our type of live streaming (using HLS), but it was generally known as ‘mediocre’ or 'buggy' (loads of errors).

To control the situation a bit better, we limited watching from Android to Android OS versions 4.1 or higher. We also chose to only support the Google Chrome browser (included automatically for all our supported devices). In our Help Center we maintain a updated record of the browsers and versions we support

In the weeks to come, we’ll focus on scaling up and improving quality

The support for WebRTC in browsers is ever-expanding. This enables us to make webinars more stable and it helps us offer a higher broadcasting quality. One of the upcoming versions of Google Chrome will implement a brand new 'noise cancellation' technique that helps improve the sound quality of especially built-in microphones. Our ears are thankful.

But wait, there’s more. In the coming 6 months, the support for WebRTC in browsers like Firefox and Safari will be implemented in a way that can enhance WebinarGeek. At this moment in time, we put a delay on webinars for viewers that watch using browsers that aren’t supported. We are aiming to remove the need for this in the future.

Last but not least, a lot of our current technological development is aimed at scaling up more and more. Offering support for higher view counts, using an even better video quality in the smoothest way possible. A combination of technological developments within browsers and innovative developments within WebinarGeek will make this possible. I’ll keep you guys (and gals) posted!

If you have some feedback or questions for us after reading this article, don’t hesitate to contact us through customer support, which can be find in the bottom right of your screen.

Related articles