Last week and today took place two major conferences from Microsoft: BUILD (all things MicroSoft) and Edge Web Summit, the later focussed on the Edge Browser. Several announcements about ORTC / WebRTC have been made, especially about video Codec support.
Last year, at the W3C WebRTC Working Group face to face meeting at Microsoft HQ in Redmond early September, Microsoft, through the voice of Bernard Aboba, Principal Architect, had pledged support for VP9 and H.264, in that order.
The reason behind this specific order is that their current codec (H264UC) is already an SVC codec, and thus all the machinery to support VP9 SVC is already in place.
In the meantime, VP9 came and went in the preview builds, before being available in build # 14291, … for decoding only. If you want to stream VP9 video to Edge, this is now possible, but you can’t yet use it in WebRTC as you cannot encode a stream. A mysterious WebRTC 1.0 flag in edge configuration, and corresponding support “in development” listed on MS website made a lot in the webRTC microcosm excited.
Fast forward last week at BUILD, things were made official. Yes, webRTC 1.0 support is on the way, and yes both H.264 and VP8 are, logically on the way as well. ETA? Edge 15. As Warren McDonald pointed out, it’s all good news, but since Edge 15 is unannounced and since there is no information about Edge cycles, we really don’t know when that will be available.
So I took the time to speak with Bernard Aboba, to get some clarifications.
- Current version of Edge in the Preview builds is 14. That means that Edge 15 will be the next version. Usually version numbers in Edge fit roughly a one year cycle. Features in development can take more than a year, but usually don’t. Best case scenario? H264 in preview builds by May.
- The difference between “in development” and “under consideration” can vary from one feature to the other, but when it comes to H264 and VP8, it just means that the two features will be developed one after the other. i.e. that the work on VP8 will only start when H.264 will be finished.
- The webrtc 1.0 support will be both native, and through adapter.js, which has recently been updated to have better support for edge, ORTC, on one hand by Phillippe Hancke, with support from IMTC, and for Safari by myself, with (mental) support from my wife :-), in preparation for more video interoperability testing to come.
Beyond webrtc, the MS Edge summit was really interesting. We could see a real wish to push things forward with more transparency. Moreover several initiatives in favor of more data oriented decisions were presented. MS developed a DB of all the specs (or at least the IDL part of it) to be able to query APIs support across browsers. However, not all API get equal interest from web dev. Also, the simple fact that a given API is included in, say, the bootstrap library, which s included in many sites, even if the developer is not using it, would give a large bias in static measurements made at loading time. To get real time, unbiased results, MS developed a web crawler to probe the pages and make statistics of real usage of API. Different crawler can be made for each browser. To date only Edge and Chrome has a crawler. The code for this crawler has been made public today. Brilliant.
Often during this summit, MS made it very clear who they are trying to catch up with. On mobile, the de facto standard are the webkit-browsers, safari leading. On Desktop, chrome is the reference. Nevertheless, all those APIs and tools made available all contribute to have a better, more standardized web platform across browsers, and are a good thing, IMHO.