The WebRTC Working Group has moved the Peer Connection specification to Candidate Recommendation (CR). The WebRTC Working Group with this 02-Nov, 2017 announcement is signaling to the community that the API is design-complete, which means that the community can work on both functional and interoperability testing of the API. All major browsers are actively developing the standard means that the effort is well underway. It is also a good sign, that with this announcement the two biggest hindarance touted by the community at large for the slow adoption of the standard are gone. The two biggest issues were: standard is not complete and not all major browsers (Microsoft and Apple) do not support WebRTC. Earlier this year, both Microsoft and Apple announced supporting for WebRTC v1.0.
W3C Invites Implementations of WebRTC 1.0: Real-time Communication Between Browsers https://t.co/CJ72rV8wkl
— W3C (@w3c) November 2, 2017
This announcement was made before the W3C’s Technical Program And Advisory Committee (TPAC) Week, which is currently ongoing. Although, WebRTC Working Group met earlier in the week and most of the meeting time was spent discussing open issues that affect the features in the Candidate Recommendation. To move the document to Proposed Recommendation, the main criteria is that each feature in the WebRTC API is independently implemented by at least two browsers. API or parts of the API that are not implemented run the risk of being removed from the specification.
Ergo, the major emphasis in the Candidate Recommendation phase is to test and verify that API is correctly specified. To facilitate API testing, Google announced a new project, Karoshi Interoperability Testing Engine (KITE), an automated interoperability testing system. The Japanese term Karōshi literally means death by overwork, and the KITE is supposed to save us, WebRTC developers from all the issues with browser non-interoperability by catching them earlier! The open source is available here.
At the public meeting on 06-Nov, Alex Gouaillard introduced the KITE system, which tests combinations of browsers and platforms to make one-to-one tests. Last year, about 20% of the API was testable, this year it has improved to about 70%! To further improve the numbers, the Working Group decided that all forthcoming fixes and corrections to the normative parts of the API need to now come with tests - yey, for data!
To progress the spec to the next stage, proposed recommendation, we need to get the API testing percentage into the mid-90s. Getting it to 100% is a challenge, as some parts of the spec are difficult to test because it relies on certain types of failures to occur, for example network or device, which are harder to fake or mock.
Progress on the WebRTC Statistics API
At the Committee’s Meeting Week, in addition to the peerconnection API, we discussed the status of the WebRTC Statistics API. The document has about 30 open issues, of those 12 issues need to be resolved before the document can progress to the CR state. As one of the authors of the document, I hope we can get these issues resolved as soon as possible and request wider community review. After much work and several iterations of the API, we are finally at a stable point with the API. And I can confidently say 2018 will be the year of WebRTC.
Callstats.io’s research team frequently contributes to WebRTC and networking discussion. Take a look at our latest research papers