Microsoft has announced the availability of the ORTC API preview for Microsoft Edge as part of the latest Windows Insider Preview release. Developers can now build advanced real-time audio and video communication applications on top of the Microsoft Edge browser using the ORTC API. According to the announcement post, Skype will be using the ORTC API to enable real-time communications such as group video calls, simulcast, scalable video coding (SVC), and much more.
At the time of publication, Microsoft Edge is the first and only browser to support the ORTC API. Chrome, Firefox, Opera, and Android currently support WebRTC 1.0 and RTCPeerConnection, a component of WebRTC that is responsible for establishing the stable channel over which real-time communications (ie: audio or video) are streamed. It should be noted that some implementations of WebRTC do not include RTCPeerConnection. It appears that the Apple Safari browser supports neither ORTC nor WebRTC 1.0. Although ORTC API support is currently only available as part of the Windows Insider Preview release, developers should start considering how Microsoft Edge ORTC API support could impact the future development of their applications.
Communication service providers such as Sinch, Skype, and Twilio, are planning on supporting both WebRTC 1.0 and ORTC. However, implementing ORTC API support does depend on when Microsoft moves Edge with ORTC API support out of the Windows Insider Preview. It is expected that Microsoft will officially release Edge with ORTC API support around the end of this year.
Sinch, Skype, Twilio, and other communication service providers are planning on releasing SDKs that will allow developers to build communication applications that support both ORTC and WebRTC 1.0. Skype SDKs for example, will allow for plug-in-less audio and video experiences for Microsoft Edge users and will offer similar plug-in-less experiences (via existing WebRTC APIs) when possible for most cases. For browsers that support neither ORTC nor WebRTC, Skype SDKs will allow for integrated experiences via a small browser plug-in.
SDKs will help make it easier for developers to utilize advanced communication technologies made possible via the ORTC API. However, there are some concerns that adding ORTC support to existing SDKs will introduce too much additional overhead to applications. Many of these communication service providers are aware of these concerns, and are working on adding ORTC support to their SDKs without greatly increasing resource consumption.
Developers looking to add simple RTC communications to their applications may find that using a third-party SDK is their best option, despite the additional overhead it may introduce. Building applications with communication capabilities that work across all browsers may prove to be very difficult without the help of a pre-built code base provided by a third-party SDK. Many of the SDKs provided by communication service providers include code for browser detection, ORTC API and WebRTC 1.0 API implementation, and specific communication capabilities.
For developers looking to leverage the advanced video communication capabilities of the ORTC API, third-party communication service SDKs will make it possible for developers to build advanced video communication applications without having to spend a great deal of time learning about ORTC and WebRTC 1.0 APIs or the complicated communication technology powering the application.
While Microsoft Edge may be the first browser to support the ORTC API, this is not the first time that Microsoft was the first to implement a new technology into its commercial web browser. Internet Explorer 3 was the first browser to support CSS back in the late 1990s. Today, the leading web browsers support most of the CSS3 specification. Just as with CSS, it is highly likely that FireFox, Chrome, and other leading browsers will eventually support the ORTC API as well. Google has already announced that components of ORTC will be added to Chrome sometime in 2016.
As mentioned earlier, ORTC is backwards compatible with WebRTC 1.0 which means that it is not necessary for developers to rewrite their existing WebRTC 1.0 applications; the code will continue to work as expected. Whether a developer chooses to use the ORTC API and/or the WebRTC 1.0 API really depends on the application use case. Some developers may simply opt to wait for Chrome, FireFox, and other major browsers to implement ORTC API support.