Opera’s Standards Compliance a Detriment?

There’s an interesting compatibility debate going in the comments thread of a blog post on my.opera.com.

The issue the article poses is that Opera has gone to great lengths to follow the standards that the W3 put forth. In doing so, the author has run into to a number of major sites that do not work properly due to their abuse^H^H^H^H^H use of JavaScript’s setTimeout method.

When I first got in to web development, I was one of the purists who thought that page validation and standards were really important.

Scratch that.

I still think that standards and validation are important. I’ve seen some bizarre behavior in all of the major browsers (Firefox, Opera, IE, Safari) due to even more bizarre markup. To some end, however, Joel had a point when he argued that standards don’t matter. Standards are great, until you end up with a non-standards compliant implementation that, for a long time, becomes the standard upon which others are judged (there are several issues I have with Joel’s position, but those are best left for another article). Back when IE6 was the browser and Firefox was sitting on a puny 2% market share, if a page displayed and functioned properly in IE but not in Firefox, well dammit, it was Firefox’s fault.  Eventually, however, we learned that Firefox did a much better job of following the W3 standards, and it was a little easier to develop for, and people started using it.  Several years later, the tables have flipped, and it’s the Internet Explorer team that’s taking the bad rap for not having committed to standards early on.

Opera is in the same boat today as Firefox was back then. Firefox has become the standard by which everything else is judged (though Webkit is rapidly gaining support), and as a consequence of Firefox having to implement some of IE’s quirks for sanity’s sake, Opera adheres just a little bit better to the W3 standards than Firefox does. Parsing markup is one thing, but JavaScript performance has become a huge interest lately. Don’t believe me? Ask Google.

Speed Comparison Hits

Given what John Resig discovered about timer implementations across various browsers, it’s no surprise that the sites mentioned in the Opera article have wildly different results depending which browser you’re using. But c’mon people, it’s 2009 already. Haven’t we found some sane way to work around issues like this?

Actually yes.

This is exactly why the more popular JavaScript frameworks were developed and have become widely popular. They take care of these browser differences so you don’t have to. It’s a little surprising to see large organizations such as AOL and the New York Times haven’t picked up one of the popular libraries, though I suppose it’s just as reasonable to assume that they’ve developed their own code in-house, and it’s just not quite as robust as it should be.

Should Opera get slammed for something that is apparently an oversight on the part of the web developers?