Where are the standards when it comes to the WebRTC App Development
There are many misconceptions about what exactly is in the scope of WebRTC and what isn’t. As a result of that, there are different opinions about the parts in WebRTC that should be standardized. This arises mainly when speaking with VoIP and telecom people as we (yes, I’m one of them) are used to the case where everything is standardized, from top to bottom.
Looking at this in perspective of the Web. When a Web developer builds an application there is only one area where standards apply to him, the things that need to run in the browser (i.e. HTML, CSS and JavaScript). Browsers must be compatible in this area, implement the same APIs and yield the same user experience. How information that is exchanged between the browser and the server is structured is completely up to the developer building the application.
This reality of a closed client-server world with standards for client side implementation that allows users to use whatever browser they choose is one of the things that enabled the speed of change and innovation we are all used to in the Web. This stands in contrast to the slow rate of advancement in the telecom world where all needs to be standard.
WebRTC is all about the Web
Taking the Web application example above and implementing it for WebRTC makes it seem very clear that communication between the client and the server doesn’t need to be standardized. How SDP, session context information, user specific data… are sent from the browser to the server is rightfully left for the application, as every application will have different requirements.
Having said that, things related to making sure WebRTC will run on all browsers must be handled through standards.
WebRTC Architecture
The diagram above shows this quite clearly. The areas in WebRTC that are and should be standardized are only those related to the interfaces and capabilities of WebRTC itself. This in essence means:
The JavaScript APIs (northbound) – this makes sure a WebRTC application will run in any browser that supports WebRTC
On the wire protocols – in essence, this is how voice, video and data streams are exchanged peer-to-peer between browsers. Examples of such are transport protocols, security mechanisms chosen and mandatory voice and video codecs. If this wasn’t standardized, communication between browser of brand A would need to go through some mediation box in order to communicate with browser of brand B.
Top comments (1)
Though WebRTC depends on web technologies like HTML and CSS, many companies consider WebRTC in mobile app development services.