Answers to common questions around the public ORTC API

Q. How does this compare to the work being done in the W3C WEBRTC WG?
A. The W3C WEBRTC WG is working toward locking down the functionality in WebRTC 1.0, in order to bring that work to a conclusion. Rather than distracting the existing WG from its mission, a separate ORTC Community Group was formed, with the charter of developing a next generation API.

Q: Do you see the work being done in the ORTC CG converging with the WebRTC WG?
A: We are not sure if this work will end up in the WebRTC WG or if it will manifest itself in another Working Group in the W3C or if it will continue on in the current CG. The general thinking is that once we are far enough along with ORTC that our CG members and our peers in the WebRTC WG will see value in merging the two but that remains to be seen.

Q: What is the approach being taken to enable developers to transition to use of the ORTC API?
A: The ORTC CG envisages that Javascript “up shim” libraries will be developed to enable applications written to a subset of the ORTC API to run on browsers implementing the existing WebRTC 1.0 API. Conversely, “down shim” libraries will be developed to allow application builders to delay transition, but at the same time enable new features to be taken advantage of below the app level by manipulating the shim layer.

Demonstrating the feasibility of the “shim” approach is an important milestone for the ORTC API prototyping effort that has not yet been achieved. Since an important goal of the ORTC API is to enable advanced functionality not currently available in WebRTC 1.0, it should be understood that not all features of ORTC API would be available within such a “shim”.

Q: What is the biggest difference in approach between ORTC API and WebRTC API?
A: 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..

JavaScript API
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.

Q: What advanced features is the W3C ORTC CG looking to support with ORTC API?
A. By using separate send and receive objects, the ORTC API potentially enables a number of advanced features. These include support for simulcast and layered video coding. Also, developers working with legacy systems may very well find ORTC an easier fit to their systems than the current WebRTC 1.0 approach.

Q: What features do the ORTC API and WebRTC APIs have in common?
In a number of areas (such as the Data Channel and DTMF), the ORTC API utilizes a very similar approach to WebRTC 1.0. The ORTC API does not require any changes to getUserMedia or MediaStreamTracks.

Q: What is the level of participation within the W3C ORTC Community Group?
Currently the ORTC CG has 60+ members ranging from independent developers to very large companies, with membership growing steadily.

Q: Are there implementations of ORTC API?
Several prototypes have been developed, based on different versions of the specification. So far, these prototypes have been aimed at verifying the basic feasibility of the specification. With the release of the most recent ORTC API revision, enough details are now nailed down for in-depth review and thorough prototyping to begin. We expect the prototype implementations to result in refinements to the specification as time goes on.

Q: Is ORTC API ready for use in commercial products and services?
The ORTC API is still very much under development, so that use in production environments is not advisable at this time. However, use for experimental or prototyping purposes is encouraged.

An early implementation of the ORTC API for mobile can be found here: https://github.com/openpeer/ortc-lib

Q: How does the ORTC API relate to CU-RTCWEB?
ORTC API was originally proposed by Robin Raymond, Chief Architect @ Hookflash. Although it has no direct relationship to CU-RTCWEB, ORTC API is also Object oriented, which means web developers would feel right at home.

Q: Where can we go to learn more about ORTC?
The W3C ORTC Community Group web page is located here: http://www.w3.org/community/ortc/
ORTC Portal and Dev Tools at http://ORTC.org