Redmond Review

WebKit and the Render Wars

Microsoft needs to consider adding WebKit to Internet Explorer, or it could suffer painful consequences.

On Feb. 13, Opera Software, maker of the Opera Web browser, announced it would be ditching its own Presto HTML rendering engine and adopting WebKit. WebKit is the rendering engine first used in Apple's Safari browser and, after being open sourced by Apple in 2005, was adopted by Google for use in its Chrome browser. WebKit's growing momentum impacts all Web developers, but especially those on the Microsoft platform.

In the 1990s, Web developers had to test their markup on Netscape Navigator and Internet Explorer (IE). Eventually IE won out (it was even the official browser on the Mac, for a time), and developers could effectively target a single rendering standard. Firefox, Safari and, later, Chrome changed that, forcing developers to test their HTML on multiple browsers once again. But it's a fair bet that most developers would prefer a single standard. Opera's decision means that just such a single standard could emerge, and WebKit could be it.

At first blush, Web developers on the .NET Framework platform don't have much to fear from this. In fact, it could be good news, as their browser testing surface area may be reduced. But this is not good news for Microsoft, given that IE 10 is the default browser on Windows 8 and the exclusive browser on Windows Phone 8. If the Web at large targets WebKit and doesn't care about Trident (IE's rendering engine), that could disenfranchise Microsoft in the mobile market, where it's already seriously challenged.

The Last Straw?
Let's be clear: Opera's adoption of WebKit, by itself, is not especially significant, given that its market share by most accounts is less than 2 percent. But Opera's decision, in the context of other factors, helps WebKit immensely. Chrome's significant growth in market share, coupled with the dominance of Apple's iOS and Google's Android in the mobile space, has made WebKit a contender on the desktop and a champion in the smartphone and tablet space. Even the browsers on BlackBerry and Samsung's Bada operating system use WebKit; add Opera and it's a lock.

So while Opera is a small player, its decision gives WebKit majority control of desktop browsers and a near monopoly in the mobile arena. In last month's column, I explained how Google's Chrome OS and Chrome packaged apps pose a real threat to Windows. Both of those technologies are based on WebKit and Google's V8 JavaScript engine, which Opera is also adopting. So WebKit's new power makes Chrome even more feasible as a platform, threatening Windows that much more.

I wrote another column almost three years ago that's also relevant to this predicament. In that column, I explained that while Microsoft participated in the World Wide Web Consortium (W3C), a body that determines HTML standards, it did not have a seat at the table in the Web Hypertext Application Technology Working Group (WHATWG), the body truly calling the shots on HTML 5.

Many view the WHATWG as being heavily influenced by one Ian Hickson, a Google employee, who has also worked for Opera and Netscape. Interestingly, many of Hickson's proposed standards were promptly implemented inside WebKit, and made available through Safari and the WebKit nightly build. That process was hardly democratic, and it practically assured WebKit's status as the engine most compliant with the WHATWG's HTML 5 draft standards, leaving Trident, IE and Microsoft in the lurch.

Realpolitik Response
No matter the process, WebKit and its dominance are here now and quite real. So where does this leave Microsoft and the developers in its ecosystem?

For starters, any Microsoft Web developer not targeting WebKit as a primary rendering environment should remedy that policy very quickly; WebKit should now be at least as important to you as IE/Trident. And however blasphemous this may sound, Microsoft should consider standardizing on WebKit itself or at least embedding WebKit in IE to implement a compatibility mode for sites incompatible with Trident.

Adopting WebKit would allow Microsoft to contribute code to the project, thus wielding greater influence in the HTML 5 conversation. It would also keep Microsoft ecosystem developers more in the Web mainstream. And even if Microsoft continued to maintain Trident, it could do so with a more informed sense of HTML 5 compliance.

When Microsoft decided to embrace HTML 5, it should have committed to a frequent release schedule for IE to keep it highly competitive, especially on the HTML 5 front. Microsoft also should have protested the WHATWG's undemocratic process vehemently. Redmond did neither of these, and so put developers in its ecosystem at a disadvantage. Those developers should now take matters into their own hands by targeting WebKit to maintain their competitiveness. And Microsoft should follow suit.

About the Author

Andrew Brust is Founder and CEO of Blue Badge Insights, an analysis, strategy and advisory firm serving Microsoft customers and partners. Brust is also a Microsoft Regional Director and MVP; an advisor to the New York Technology Council; and co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press, 2012). A frequent speaker at industry events, Brust is co-chair of the Visual Studio Live! family of conferences and a contributing editor to Visual Studio Magazine. Brust has been a participant in the Microsoft ecosystem for over 20 years, and has worked closely with both Microsoft's Redmond-based corporate team and its field organization for much of the last 15. He is a member of several "insiders" groups that supply him with insight around important technologies out of Redmond. Follow Brust on Twitter @andrewbrust.

comments powered by Disqus

Reader Comments:

Wed, Mar 13, 2013

MS should not give up Trident, the competiion is required. However, to really compete, MS should open-source Trident!

Sat, Mar 9, 2013 greg Bala

We are developing heavily in HTML5 for mobile platform, so from my experience, I would echo the words you will find on the internet : "There is no webkit browser" on mobile. This was true a year ago and is true now - the fragmentation is so significant, that it really gives you little confidence that "this is a webkit" browsers on mobile. You need to test separately on all devices and honestly, adding IE8 is not making much of a difference. Although I agree with your general message, I thought this would be good to mention

Fri, Mar 8, 2013

Web advocates have spent the last 10 years trying to get the browser vendors and web developers to focus on web standards instead of browser specific quirks and features. But now that the entire industry has rallied behind html5 and all the major browsers have good implementations of html/css/ecmascript standards (Yes, even IE), the author of this article wants to create another monopoly to rival the one that IE had 9 or 10 years ago. No thanks. Been there, done that. Terrible idea.

Thu, Mar 7, 2013 Sergey

WebKit wasn't open-sourced by Apple, it was forked by Apple from the open-source KHTML project, which is a part of KDE, that's why Apple had to keep it open source. Also, if history teaches us something, having just one platform is a path to stagnation (although I agree that IE rendering engine must die)

Thu, Mar 7, 2013 Rod US

As a web developer constantly fighting to make sure websites behave on IE it would be a relief to have Microsoft ditch Trident and embrace Webkit. It would be a huge benefit for Microsoft too because there are so many contributors to the engine (Google, Apple and now Opera).

Thu, Mar 7, 2013 Samik

Nope - don't agree. We need more competition, not less. Webkit, IE/Trident and FF/Gecko is a nice balance, and as long as all browsers implement the HTML5 standards, things should turn out good.

Thu, Mar 7, 2013 Ryan Foster Portland, OR

Sure this is great in theory, but it would break all of their existing software. Sharepoint, CRM, etc. Do you think microsoft would throw these huge existing enterprise products under the bus?

Thu, Mar 7, 2013

what about FF?

Thu, Mar 7, 2013 Corey US

Do not agree. It sounds like IE6 all over again. There must be checks and balances in order to maintain standards. That's why multiple browsers exist.

Thu, Mar 7, 2013 Nicholas

I don't think that every browser should use the same rendering engine as there will be a lack of competition in the end, which might then slow innovation. I think it is more important that Microsoft focuses a lot more on implementing the html5 standards. Webkit (indeed every rendering engine) has a lot of "experimental" stuff in it which might never get standardized or which they hope to standardize to evolve the html5 standard (which will for the time being always be a "work in progress")

Thu, Mar 7, 2013 neverhome

Completely agree. Trident is a mess. Embracing Webkit would relieve many developers' headaches.

Add Your Comments Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Please type the letters/numbers you see above

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.