The browser wars are back on.
Remember the browser wars of the late nineties? Half the online population thought “Netscape” actually was the Internet and Microsoft was just starting to take the Internet seriously.
Of course, Internet Explorer emerged the victor and whether you’re in the camp that faults Microsoft’s heavy-handed tactics or the camp that recognizes Netscape’s failure to innovate, there’s probably some truth in both.
But now the war is back on. Except it’s not a browser war, it’s a “rendering engine” war.
What’s a rendering engine?
So, a browser is a program on your computer that you use to access websites. You probably know this and that may seem simple but Google went to the streets recently and found many people don’t grasp that concept.
But the browser program is fundamentally just the window, the menus and buttons, your bookmarks, etc. What’s really running the show is the part of the browser that actually displays or “renders” the website, and that is called the rendering engine.
Internet Explorer’s rendering engine is called “Trident.”
From Netscape’s ashes sprung a rendering engine called “Gecko.” That’s what’s inside Firefox for the rapidly growing population of Firefox users out there (me included).
So those are two major browsers, er, rendering engines, in use. But what about Apple’s Safari? And the new kid on the block, Google Chrome? Two more browsers? Kind of. They both actually use the same rendering engine: an open-source software project called “WebKit.”
Each of these rendering engines is updated from time to time so we have different versions and frankly, these different rendering engines make it very difficult to develop websites and software for the web!
They are all supposed to work in roughly the same way but they each have their quirks and nuances and it’s often difficult to get them all to behave the same way. Particularly when your goal is to work on some of the older versions.
Let’s get back on topic: The first browser war was about features. The rendering engine wars are about performance. For the sake of accessibility, however, let’s keep the rendering engine in mind but switch back to talking about browsers because rendering engines just aren’t what people use directly.
When the rendering engine can’t keep up, things tend to be a little slower to transition — you might see animation that isn’t as smooth as it should be or other hesitations that detract from the task you are trying to accomplish.
Given Firefox’s rapid growth in market share, its ability to be extremely competitive (if not always the fastest) when it comes to performance and its add-on ecosystem, it’s hard not to crown it the best all-around browser.
Chrome and Safari seem to hang on primarily because they both use the same rendering engine, which by all accounts is well written from a software engineering perspective (the same engine also powers the iPhone browser); plus they have some niche markets like Macintosh users and Google junkies.
And what about Internet Explorer? In my opinion, it’s got the worst rendering engine. It has the most quirks, the worst performance, the worst standards compliance and the most “versions” in use. Don’t get me wrong — we develop web software almost exclusively on Microsoft’s platform so I’m not a Microsoft hater. But I’m also not an apologist: Their browser’s rendering engine sucks! They like to say you have to use a slow-motion camera to see the difference between their browser loading a page and some “other” browser loading the same page. But it’s not about loading CNN.com today. It’s about loading an immersive and interactive “search-as-you-type CNN.com news interactive web application” tomorrow. And I don’t mean tomorrow next year. I mean tomorrow tomorrow.
So the good news is that there is renewed competition in this space and while that’s a royal pain for web developers like myself, it’s good news for the future of the interactive web.