BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News ORTC and the Future of WebRTC

ORTC and the Future of WebRTC

This item in japanese

Lire ce contenu en français

Bookmarks

The first stable ORTC (Object RTC) specification is out. The questions is how is it going to impact WebRTC?

Back in 2013, Robin Raymond, Chief Architect at Hookflash, has expressed his discontent with the use of SDP (Session Description Protocol) in WebRTC. He summarized his issues with SDP as following:

  1. unneeded – much too high level an API
  2. arcane format – legacy and problematic
  3. offer/answer
  4. incompatibilities
  5. lack of API contact
  6. doesn’t truly solve goal of compatibility to legacy systems

In the following months others joined him and the W3C Object RTC (ORTC) Community Group was formed to define “a set of ECMAScript APIs in WebIDL to allow media to be sent and received from another browser or device”. The group currently has 60 members including Microsoft and Google, and has produced the first stable specification draft: Object RTC (ORTC) API for WebRTC.

Doug Mahugh (Microsoft) considers that ORTC is now “complete enough for implementations to gain experience with it, so that a ‘call for implementations’ will go out.” He outlines some of the reasons why ORTC is useful:

The ORTC API is well suited to a “mobile first, cloud first” world because it supports advanced video features such as scalable video coding and simulcast. These advanced video technologies have proven difficult to support in an interoperable way within SDP in WebRTC 1.0. By contrast, utilizing these advanced video technologies within a JavaScript object API is more straightforward.

Also, the ORTC FAQ provides more reasons for a new web communication specification:

ORTC provides greater access to more controls via JavaScript. The result is web developers have more power and flexibility in the way they build real-time communications applications and features. Some examples; Layered Video Coding, Codec Settings Per Track and…

and

The primary API for ORTC is written in JavaScript. To modify the same controls in WebRTC 1.0 would necessitate browser source code changes. When we asked web developers which they would prefer, most of them said they would like access to more control in their applications without having to wait for browser or other software vendor updates.

Now that Microsoft and Google are pushing ORTC, one might wonder what will happen to WebRTC? Since several browser makers – Google, Mozilla, Opera, Microsoft - have already invested a lot in supporting WebRTC they are not going to dump it but rather adapt it to support ORTC. According to Justin Uberti (Google), WebRTC 1.1 will integrate ORTC (see video @ 29m20s). So, developers won’t have to rewrite their RTC applications but they are encouraged to transition towards using the ORTC API which is a more natural one to use in the browser.

There are a number of libraries on GitHub helping developers to use ORTC: JavaScript shim library for WebRTC for clients, Node.js library for server apps, and a C++ wrapper for mobile devices.

According to Uberti and Serge Lachappelle (Google), some 450 companies have developed WebRTC apps so far, and there are ~1.7B devices supporting it (video @ 43m40s), the number being supposed to grow to 4B by 2018 considering that WebRTC is to be used for video chat, voice calling, file sharing in all sorts of devices, a Google team demonstrating a rover with a 3D camera operated over WebRTC (video @ 2m36s).

Rate this Article

Adoption
Style

BT