Battle of the Web browsers

Chrome, Firefox, Internet Explorer, Opera, and Safari square off on speed, features, and HTML5 compatibility

1 2 3 4 5 6 Page 2
Page 2 of 6

A good place to begin comparing the browsers is to look at a checklist test like The HTML5 Test, a slick piece of JavaScript that grades your browser as it loads the page. The HTML5 Test gives out points for the availability of a long list of features, then totals up the score.

The HTML5 Test

 Raw scoreExtra points
Chrome 10.029013
Opera 11.102587
Firefox 4.02559
Safari 5.02287
Internet Explorer 9.01305

Although these scores vary widely, it's a big mistake to assume they mean Chrome is twice as good as IE at HTML5. The website checks for support of a feature by looking for objects in JavaScript. If the objects are there, the browser earns a point.

IE9, for instance, implements what I think are the most important parts: the local storage, as well as the canvas, video, and audio tags. It falls behind because it gets only 4 of the possible 90 points for the way it doesn't implement the new features for testing input to a form. Granted, these 86 points that IE didn't earn correspond to real features, but I don't think they're the most important features. Furthermore, while smarter forms sound like a good idea, their allocation of 90 points distorts their importance. Features like Web Workers get only 10 points, but they may be even more useful for writing client-based code.

There are more sophisticated trials like Philip Taylor's extensive collection of tests that push every part of the canvas specification. Because it creates a canvas object for you, Chrome gets a perfect score of 20 in that field from the HTML5 Test, but it passes only 636 of Taylor's tests and fails 141 of them. IE9 does better here, failing only 67, half as many as Chrome.

Is this gap important? Many of these missing capabilities may not be essential for creating great games. Many of Chrome's failures seem to involve parsing some of the numerical parameters. I'm not sure whether to chuckle about or salute the news that the browsers are supposed to be able to parse octal. In another test with a 2D transformation, Chrome left a pixel with an alpha blending value of 254 instead of 255. IE, on the other hand, also seemed to fail a random test here or there.

What's the overall message? The big new features like the canvas or the local storage are finding widespread adoption. Even the failures by Chrome aren't that serious. While certain individual features may not pass every test perfectly, the core is ready for JavaScript programmers to churn out more games and slick presentations that write directly to the canvas.

For all of the attention lavished on the canvas object, other features are getting little attention from the browser programmers. Microdata formats that provide a standard structure for dates and other common data aren't getting implemented. Local devices like video cameras and joysticks are also largely ignored -- not that this matters because they've just changed the standard to be more flexible.

My advice is to not think about this too much unless you plan on using an application that works with features like forms that are implemented by only some of the browsers. The days when there were many practical differences between the browsers are now behind us. IE has caught up nicely, and I expect Microsoft will continue to push compatibility because the company understands it doesn't have the domination it once enjoyed.

1 2 3 4 5 6 Page 2
Page 2 of 6
How to choose a low-code development platform