WebRTC Explained

Real-Time Voice and Video Communication Between Browsers

The conventional way in which voice and video communication is carried out, and also in which data is transferred, is based on the client-server model. There needs to be a server something to service both or all communicating devices and put them into contact. Communication therefore has to pass through a cloud or a main machine.

WebRTC changes all that. It brings communication to something that happens directly between two machines, however near or far they are.

Also, it works in browsers – no need to download and install anything.

Who is Behind WebRTC?

There is a team of giants behind this game-changing concept. Google, Mozilla and Opera are already working in support to it, while Microsoft has shown interest but remains rather passive, saying it will enter the ball when the thing has been standardized. Speaking of standardization, the IETF and WWWC are working to define and shape it into a standard. It will be standardized into an API (Application Programming Interface) that developers can use to product simple communication tools that can be used in browsers.

Why WebRTC?

What it is trying to achieve has been possible so far only in large organizations through the use of expensive license fees and expensive proprietary plugins. With the WebRTC API, anyone with basic programming knowledge will be able to develop robust tools for voice and video communication, and data web applications.

  Web RTC will bring around several benefits, including:

  • Users will no longer be required to download and install proprietary applications. They only have to use their WebRTC supported browsers.
  • Lower bandwidth will be required, since the distance covered during communication will be reduce through the elimination of server and cloud connections.
  • As a result, there will be less latency and higher quality of audio and video.
  • Data will be channeled more efficiently through the technology.
  • There will no longer be need for plugins like Flash.
  • It will be easier to develop tools for communication. Native HTML5 elements will be used.

Obstacles Facing WebRTC

There is a number of issues that teams working on WebRTC have to address in order to get something conclusive. Among them are the following:

  • Which codec to use? Since the players come from different different with different interests, they haven’t yet agreed on whether to use the H.264, VP8 or other codecs.
  • Since the technology will be based on browsers, browser compatibility will be an issue. Only Chrome, Firefox and Opera support it currently. Lack of browsers with WebRTC support will be detrimental.
  • The standard isn’t yet fully defined, which is posing problem in its adoption by key players.

An Example

A good example of a WebRTC app is Google’s Cube Slam that allows you to play pong with your remote friend face to face, irrespective of the distance between you. The game’s graphics are rendered using WebGL and the soundtrack if delivered through web audio. You can play the same at cubeslam.com.

You can however only play it on your computer as, as at today, the mobile version of Chrome does not yet support WebRTC. Such games have been designed both to promote Chrome and WebRTC. No additional plugins are required to play the game, not even Flash, provided of course you have the latest version of Chrome.

For Developers

WebRTC is an open source project. The API that will be provided for real-time communications (RTC) between browsers is in simple JavaScript.

For a more in-depth understanding of WebRTC, watch this video.