Friday, 8 October, 2021 UTC


Summary

We launched WebRTC Go a year ago to make it easier for developers to get started with WebRTC. We’ve seen tremendous growth and interest from the community, and based on feedback from our WebRTC Go developers, we are excited to announce quota increases to allow developers to build 1:1 video applications in production for free, for longer. The changes are as follows:
  1. WebRTC Go now comes with unlimited TURN usage, removing the previous 25 GB/month limit.
  2. You can now scale up to 500 concurrent participants or rooms, up 500% from the previous limit of 100.
If you missed our launch last year, Twilio WebRTC Go provides developers with a toolkit to build, launch, and run 1:1 video applications for free. With WebRTC Go, you don’t have to worry about gathering ICE candidates and relaying media — we provide the signaling and STUN/TURN servers for you. You also get SDKs, quickstarts, fully-featured reference apps, and a suite of tools for troubleshooting and diagnostics.
In this post, we’ll talk about some of the applications people have been building with WebRTC Go and highlight some of the improvements we have made for WebRTC Go developers since launching a year ago.
What developers are building with WebRTC Go
One year after launching WebRTC Go, we are truly amazed at how developers are utilizing WebRTC Go to explore and build solutions. Some developers are looking to get started with real-time video and are building fun side projects over the weekend; some are standing up proofs of concept to socialize internally or with prospective customers; and others are building and running production applications.
A few examples of applications built on WebRTC Go are as follows:
  • TalkNow - An audio-only application to connect people who want to learn and practice English.
  • aReception - A virtual assistant that connects visitors with an internal operator via video, when needed.
  • Cofocus.one - An application for students to conduct virtual coworking sessions.
Whether using WebRTC Go to build a proof of concept, to quickly validate a business idea, or to launch and run a production application, developers often start building on WebRTC directly and discover that it's a powerful yet complex technology. They want a free option that abstracts this complexity, without sacrificing programmability, and provides the developer experience needed to get up and running in days, not weeks or months. WebRTC Go fills this need.
What’s new for WebRTC Go developers since launch
Our developer community is incredibly important to us; we have been hard at work since the WebRTC Go launch a year ago to address your feedback regarding the toolkit and the support you need. Some of the highlights from the year are outlined below.

Build engaging video experiences

Virtual backgrounds and blurs

Using the Video Processors JavaScript library, in conjunction with the Video Processors API, you can now add virtual background support to your video applications to provide a professional look when working from home or on the go. Learn about getting started with virtual backgrounds in this blog post.

Textual chat added to the React quick deploy app

Chat within the video experience provides a useful channel for users to send clarifying messages, ask questions, share relevant links, and more — all without interrupting the speaker. We added this feature to our React quick deploy application as a reference to accelerate development for those looking to add chat to their video experience. You can learn more about the chat feature in this blog post.

New tools for troubleshooting, diagnostics, and debugging

Diagnostics App and Preflight API

The Twilio Video Diagnostics App is an open-source ReactJS application that tests participants’ device and software setup, connectivity with the Twilio Cloud, and network performance. It uses Twilio’s RTC Diagnostics SDK and Preflight API to provide end-users feedback about their network quality and device setup, and also includes recommendations for improving their video call quality.
You can learn more about the Video Diagnostics App in this blog post or by visiting the README.

JavaScript Room Monitor

Twilio’s JavaScript Room Monitor is a browser-based tool that displays real-time information and metrics about a Twilio Video Room. It gathers and processes information from the Room object, including information about Participants’ bandwidth, packet loss, and jitter, and then displays the information in a modal window in the video application.
The JavaScript Room Monitor can be added to any Twilio Video JavaScript application for use during all stages of development and/or for debugging in-progress calls.

JavaScript Logger

The JavaScript Logger allows you to capture logs generated by the Twilio Video JS SDK in real time so that you can monitor your application and see how it behaves in production.
Get started with WebRTC Go now
Using Twilio WebRTC Go is as easy as setting the room type to go. This means that if you ever want to expand your use case beyond 1:1 conversations or utilize advanced features offered in P2P or Group rooms, you can simply change the room type accordingly and won’t have to throw away any of your code. You can set the room type via the Rooms REST API or as the default room type via the Twilio Console.
Using the Rooms REST API:
curl -X POST https://video.twilio.com/v1/Rooms \ --data-urlencode "StatusCallback=http://example.org" \ --data-urlencode "Type=go" \ --data-urlencode "UniqueName=DailyStandup" \ -u ACxxxxxxxxxx:your_auth_token 
In the Twilio Console:
Alternatively, you can get started by deploying one of our fully-featured reference applications in 5 minutes or less:
  • Web (React) - https://github.com/twilio/twilio-video-app-react
  • iOS - https://github.com/twilio/twilio-video-app-ios
  • Android - https://github.com/twilio/twilio-video-app-android
Using the React application as an example, you can configure the application to use Go Rooms and deploy it by running the following commands in your terminal window:
# Clone the web application $ git clone https://github.com/twilio/twilio-video-app-react # Change directories $ cd twilio-video-app-react # Build the application $ npm install # Install the Twilio CLI $ npm install -g twilio-cli # Login to your Twilio account using your Account SID and Auth Token $ twilio login # Install the RTC plugin $ twilio plugins:install @twilio-labs/plugin-rtc # Deploy! $ npm run deploy:twilio-cli -- --room-type go deploying app... done Web App URL: https://video-app-1111-1111-dev.twil.io?passcode=11111111111111 Passcode: 111 111 1111 1111 Room Type: go 
Looking ahead
We are excited about the interest from the developer community around WebRTC Go and look forward to learning more about the various use cases it will support and the applications you will build in the future.
At Twilio’s annual SIGNAL Conference on October 20th, be sure to tune into the talk Twilio WebRTC Go to see a live demo of building a WebRTC Go application in less than 5 minutes. In addition, check out the session Introducing Twilio Video Insights for a look into a new toolkit for monitoring and troubleshooting that we will be launching in beta, accessible via the Twilio Console for all Programmable Video developers.
As always, we can’t wait to see what you build!