24 Mar 2011

All browsers created equal?!?

A statement that hasn’t been true since the release of Firefox 1.0 is now truer than ever. It’s shocking to think, but Microsoft have actually released a good browser (Internet Explorer 9). Now, as expected, this browser only runs on Windows (though they did drop support for Windows XP due to it not supporting DirectX 10). This is fine, as I still wouldn’t use it, but it’s still a very good thing, as it means that people who would never consider changing the default browser will have a good internet experience. And that’s a large part of the population. Once people start upgrading, web developers will be able to design much better websites that don’t have to conform to old, broken, IE6 non-standards. Even on some of my webpages, I have a check that says: Is this Internet Explorer? if so, do some stupid simple layout, else, do a cool layout (that’s too complicated for Internet Explorer to figure out). Now with IE9 this shouldn’t be a problem. So, while I wouldn’t use it, it’s still a great thing for everyone. To explain it another way, most web developers want to code a website that works across all web browsers. To do this, they have to only use the web-standards that everyone supports. If you used a feature that Firefox supported, but IE didn’t, you’d get a site that didn’t work on 50% of the population. Not practical. To put this in terms of numbers, there’s a web standards conformance test that everyone uses. It’s called the ACID test. It is basically a site that’s designed to see how well your browser conforms to HTML standards, and gives you a score out of 100. Go here to test out your browser.

Just to give you some idea of scores:

Previous versions (for comparison)
Firefox 3.0: 71
Internet Explorer 8: 20

Stable versions
Firefox 4.0: 97
Internet Explorer 9: 95
Chrome: 100
Opera: 100
Safari: 100

As you can see, All the current stable releases score >95. This is great, and a couple of points shouldn’t really matter. But, just look at Internet Explorer 8’s score of 20. It’s pathetic. (and to think that Internet Explorer 6 and 7 scored less!).

But what’s almost more surprising is how Firefox is losing marketshare (mostly to Google Chrome). I used to use Firefox for everything. But that’s because back then they were the best, and there weren’t so many options. Once Google Chrome came out, it wiped the floor with Firefox (speed-wise), and, more importantly, they have a lightning fast release cycle. They release a new version of their browser every 6 weeks. They have a really clever way of releasing too, they have a stable, beta, and developer version. Basically, and features that they want to add to the stable build, first get added to developer build. Gradually, they promote features from the developer build to beta, and then to stable. It’s a brilliant idea (and one that Mozilla is now going to copy with Firefox). This is exactly why Firefox has suffered recently. Lets say they add 50 new features for a new version of Firefox. What happens is 47 of those features are great, but the other 3 have some issues. The entire release gets delayed while those 3 remaining issues are worked out. With Chrome, the 47 working changes would get pushed quickly from the developer build to beta and then stable, while the 3 broken changes would stay in the developer build (with an optional flag to enable them). It just sounds so logical. Anyway, because Firefox pushes so many features per release, they are ALWAYS delayed. Something that has allowed Chrome to overtake them. Had you asked me 3 years ago, I would have told you that I’d never switch away from Firefox. Still, I always recommend Firefox to anyone who asks, as it’s got a lot more marketshare than Chrome, and web developers always make sure their site works well with it. If i’m taking an online test, or filling out an important government online form, I switch back to Firefox. Just in case.

I know the past is in the past, and technically now that Firefox 4 is out, it’s fairly comparable to Chrome, but it’s been lagging (particularly in speed) compared to Chrome for over 2 years. That’s a long time. Over those 2 years they’ve lost a lot of users (me included). Many of those users won’t switch back now. Lets hope they can copy some of the good ideas from Chrome and create more competition.

If any of you read browser tests (or benchmarks), you’ll hear the word ‘javascript speed’ tossed around. The inventor of javascript works for Mozilla, so you’d think that they’d do really well. but you’d be wrong. They’ve been the slowest (not counting Microsot) for years. Microsoft’s IE9 actually beats Firefox 4, which is disappointing. Also of interest, Mozilla copied the javascript engine open source code from Webkit (Safari). So not surprisingly, their performance is going to be very similar to Safari. I asked a Mozilla developer why they chose to go this route. I think they should have taken Google’s open source V8 code, but Mozilla claim that it was simpler to integrate Nitro.

As a separate, unrelated note, one thing I hate about Firefox is that they don’t prioritize Linux users. The Firefox 4 build has several features (GUI and hardware acceleration) that aren’t yet available in the Linux build. Very annoying. Luckily for me, Chrome does a great job on all 3 platforms. Google has a vested interested in Chrome on Linux because they’re developing ChromeOS (a netbook Operating System based on Linux)