Microsoft Edge vs. Chrome vs. Firefox: What Should Matter to Users and Developers?

Yesterday, The Wall Street Journal published a review by Joanna Stern that was written to help readers pick the best Web browser (see Find the Best Web Browser for Your Devices: A Review of Chrome, Safari, and Edge). In weighing the value of Chrome, Safari, and Edge against one another, Stern wrote "Since [Microsoft's Edge browser is] new, Web developers haven’t really focused on it, so Web apps can be slow or erratic”; a statement that, as the editor in chief of ProgrammableWeb, caught my eye. Not only because Edge, as a browser (and Microsoft as a company), have come a long way in terms of supporting developers who want their applications and sites to run unchanged across browsers. But because the real question in my mind when it comes to choosing browsers should probably analyze performance tradeoffs in the context of Web app and site compatibility.  

For example, a browser could be lightning fast at some tasks. But, is that speed worth it if the same browser can’t support modern Web apps? Would you really prefer a browser that renders an ugly unusable page faster than other browsers that take a few more milliseconds to render the user experience correctly, as the developer intended?

Here at ProgrammableWeb, this is the sort of thing we think about every day. That’s because, compared to the days when Web APIs were pretty much all there was when it came to the Web as a programmable platform, now, the programmability of Web browsers — fueled in large part by APIs that are built into the browser -- is every bit as important as Web APIs. In fact, in the not too distant future, our API directory will include browser APIs in the same way that it covers Web APIs today. 

So, naturally, I wondered what was meant by that statement in the WSJ’s review given how a majority of Web app developers actually don’t have nearly as much to do as they used to in order to target specific browsers. While proprietary APIs remain (for example, the Wake Lock API in Firefox, which even discloses that it’s non-standard), most of today’s browsers have actually done a great job at standardizing on the underlying capabilities that are available to developers. This is largely a result of the World Wide Web consortium’s (W3C) efforts to create standard Javascript APIs for things like accessing the local device's (desktop, tablet, smartphone, etc.) audio, video, and storage subsystems (those three examples only scratch the surface of the W3C’s work in this area).

Javascript is the language that Web app developers use to develop browser-based applications (or in some cases, the browser side of their Web apps). So, if I’m a Web app developer that wants to activate the local device’s speakers, there’s one Javascript API (the Web Audio API) that I have to call with my source code and that source code will work unchanged on most modern browsers on most devices. Where such standards don't yet exist but need to (for example, in the area of Web app security APIs), Google and/or the Mozilla Foundation are traditionally involved in the startup process. This level of involvement is legitimately relevant to making browser choices because how it demonstrates a commitment to both open standards and evolution of the Web. The vendors that are pushing these standards forward will most naturally have the best support for them as well.  

To the extent that browsers on all operating systems support these standards, such Web apps can essentially work without modification across a variety of form factors like desktops and smartphones too. In fact, I’d argue that Web apps, driven by HTML 5, CSS 3, and Javascript standards (what I call “H5C3J") are the closest the world has come to the write once, run anywhere utopia that our industry has chased after for so long. Think about it. When was the last time in history that an application, driven by a single code base, could work unchanged across any operating system running on pretty much any form factor? 

But, even as this potential utopia started to take shape — particularly during the Internet Explorer years -- Microsoft trailed on the fronts of compatibility, interoperability and support. While the Web leaned in the direction of Flash, Microsoft went with Silverlight. Then, while Google and Mozilla raced ahead to enable the best possible Web experience for end users, Microsoft sought to protect its legacy. In fact Microsoft seemed to be a bit of an obstructionist to the development of such standards because of how they eroded the value-add of Windows as the underlying operating system. It wasn’t that long ago that then Microsoft CEO Steve Ballmer scoffed at the notion of browser-based applications like Google Apps (now “Google For Work”) and the cloud. After all, as Web apps get richer (thanks in part to the W3C standard APIs) and draw closer to the speed and capability of native applications, the underlying operating systems can’t help but be marginalized, thus paving a way towards a more Web-centric future of the sort that inexpensive browser-only technologies like Chromebooks cater too. It was a world that didn’t exactly fit Microsoft’s business model.

But, under new CEO Satya Nadella, Microsoft’s recent shift to be more open and standard-friendly — at the expense if not the possible peril of Windows and non-Web Office --- now puts Edge much closer to par with Chrome, Firefox, and Opera, all three of which like to stay closer to the bleeding edge of the W3C's Javascript standards march. And now, because of that shift, Web developers have even less to do — in some cases, nothing to do — in order to reach the growing slice of Web users that rely on Edge as their browser.

But, as Stern points out in her review, Edge is not totally on par just yet. Wrote Stern of Edge, “it doesn’t support feature-adding extensions. In Chrome, I use [use extensions for] a calendar, to-do list and tab manager. Microsoft is adding extensions in the next version.” Although a bit separate from the Javascript APIs for functional programming of browser-based apps, such browser extensions are exactly the type of API area where Google, Mozilla, and Opera have been surging forward with Microsoft and Apple trailing behind.

Be sure to read the next Application Development article: Windows App Studio Now Includes REST API Data Source