Inside every web browser is something called a rendering engine. The browsers get most of the glory, but it’s actually the rendering engines that do the heavy lifting. Firefox uses Gecko, Opera uses Presto, Chrome and Safari use WebKit, and Internet Explorer uses Trident. There are a few others as well, but those are the main ones. Gecko and WebKit are open source, Presto and Trident are proprietary.
Much was made of the fact that Google decided to use WebKit inside Chrome instead of building yet another rendering engine. I agree that it was the right move. Should Microsoft follow suit and replace Trident with WebKit? Steve Ballmer made some interesting comments today on the topic:
"There will still be a lot of proprietary innovation in the browser itself so we may need to have a rendering service," Ballmer said, adding, "Open source is interesting. Apple has embraced Webkit and we may look at that, but we will continue to build extensions for IE 8."
That prompted more than a few people to wish for Ballmer’s comments to come true, including Steve Hodson who said:
This idea of IE switching over to using the WebKit engine is interesting on a couple levels. First this would put two main browsers on an equal footing as far as rendering ability which would make for a much easier development cycle. It would also make for a better browsing experience for the users as developers would no longer be forced to program against the vagaries of IE.
I hear that last point all the time and it drives me nuts. Yes, Internet Explorer 6 was a nightmare to code for. But that’s simply not the case for Internet Explorer 7 or the recent Internet Explorer 8 beta. At least not in my experience.
I’d hate to see Microsoft adopt WebKit, for a few reasons:
- Competition is good, and WebKit needs worthy competitors to continue to push the boundaries.
- There’s nothing wrong with Trident. Why throw away something that works well and is continually improving? And I’m not just talking about the version of Trident in IE8. Microsoft has had full support for things like contentEditable since IE6, something Mozilla/Gecko still hasn’t gotten right.
- It’s not like the existing versions of Internet Explorer would magically disappear! This would be yet another browser/rendering engine combo that developers would need to test against.
And there are good reasons that Microsoft won’t adopt WebKit too, not the least of which is licensing. Backwards compatibility is a concern also.
It might sound appealing at first, but I don’t think it would be a good thing if all the major browsers used the same rendering engine.