I spent some time out at the Microsoft Ignite conference in May this year (2015) and stopped in at the new Microsoft browser session – Edge Browser overview with Fred Pullen; Sr Product Marketing Manager
A drumbeat theme of the session was that the new browser should render the web just as any other browser, that Microsoft had “Learned it’s lesson years ago” and “don’t want to create support for standards that aren’t really standards. And as a result [not be] compatible with a lot of sites out there.”
Fantastic news! By the way, I am very excited by the changes in Microsoft under Satya, which I think may have been well underway ahead of his appointment.
Anyway, back to the story – the idea being that with IE, Microsoft had broken from a full standards tracks and as a result IE was not really “Compatible with the modern web” Sites had to be created, or were created, specifically for IE and the result is a mess. Any Web developer knows this.
As a result of this compatibility, Edge – Microsoft’s new, Modern browser – was born. (See session at 11m 26s)
A browser that is built specifically to “be compatible with the modern web” should not have to have any code inserted into a web page specifically in order to have the page function properly in the aforementioned browser…
If it is not built to “be compatible with the modern web” then a developer needs to go in and monkey with the page to make it work.
One of the most exciting technologies coming in HTML5 is WebRTC. WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
WebRTC mission: To enable rich, high quality, RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla,Cisco and Opera, amongst others.
By Microsoft’s own account, its got support in FireFox, Chrome and Opera – see the graphic from Microsoft’s own Status.modern.ie page:
The only browsers that don’t support WebRTC are Microsoft’s and Safari (And we never hear from Apple until they announce its shipping on-stage)… and Microsoft Edge doesn’t plan to support it.
Meanwhile, Microsoft IS going to support ORTC (Which no other browser vendor does, as you can see below) even though only 15% of people voted for ORTC vs WebRTC.
Now, a point here is that some browser vendors may get to ORTC in time, but they consider WebRTC to be the foundation with ORTC as an extension to it in order to make life easier for some developers. Google may, as an example, support ORTC as well as WebRTC.
On ortc.org you will notice that “It is also a mandate that Object RTC be compatible with WebRTC.” Herein I am sure lies all the subtlety and confusion. Does this mean that an ORTC browser includes all the goodies of WebRTC, in which case, why not just check the “WebRTC” checkbox? Does it mean something else?
From a developer perspective, can I implement an app using WebRTC and I satisfy Opera, Firefox and Chrome… and also Microsoft Edge as per the goal of being interoperable with the modern web?
So I stated (as part of a longer twitter-spat):
Alas, Google wasn’t planning on doing ORTC, and recently they have picked it up, but the developer angle remains, they already have WebRTC implemented. Which means as a developer doesn’t need to worry about Chrome…. but I apparently do need to worry about Microsoft Edge.
As a developer, my problem remains, which is exactly the problem Edge was supposed to solve for. I have to write extra code to take care of Microsoft browsers vs everyone else…
So, isn’t Microsoft starting to do it all over again with respect to real-time voice/video/data in a browser? Seems like it to me. What are your thoughts?
References to quotes in the session: Edge Browser overview with Fred Pullen; Sr Product Marketing Manager
11:26 – Break from the Past -Internet Explorer 11 is the “backward compatible browser” for Microsoft.
12:50 – “In a world where any modern browser should be able to render websites as well as any other browser”
32:00 – “Interoperability with the modern web.”
“Microsoft learned it’s lesson years ago about bringing in proprietary standards”
“We didn’t want to create new standards in our browser that weren’t broadly accepted by W3C or ECMA International or other standards bodies.”
32:40 – “We don’t want to create support for standards that aren’t really standards. And as a result we weren’t compatible with a lot of sites out there.”
“Now our focus is interoperability.”
I asked Fred directly in the Q&A: 1h:02m:17s