I wrote a long while ago about standards compliance and how the ACID2.0 test really is a valid thing to strive for, but today's experiences with Safari, which is ACID2.0 compliant, have shown me the other side of this argument. Standards, when you're talking about the world wide web, are by this point a constantly fluctuating near-consensus. This consensus, like any, is derived from the collective feelings of a lot of different users, web developers, and application developers. Since these can't agree (I'm looking at you, Microsoft) or can't keep up (that's right, Mozilla Foundation), what you get to develop for is a "standard" that is really just a mean value of everything everyone is doing right now. Browser vendors can't break existing, non-compliant sites by being too strict and web developers can't either. So things slowly, slowly, crawl.
Here's a conversation I had just earlier with Brandon while fighting with a web site that looked flawless in Firefox 1.5 and in IE6/7, but looked unbearably ugly in Safari. (Some editing was performed to clean up language and protect the innocent.)
Max: I cannot stress this enough. Real people with real lives shouldn't use Safari. It's shit.
Max: Standards-compliant my aching ass.
Max: No I'm serious here.
Max: I do very little testing in Safari because every fix for Safari breaks everything else because nothing else complies to the standards like Safari does.
Max: So all the tricks I have to use to get things to work in IE totally break in Safari.
Brandon: ok, well that's IEs fault :P
Max: doesn't matter.
Max: You can't just sit back on your ass and be all like "Well, *we* comply with the standards" because it's not that simple anymore.
Max: Like . . . Safari almost flawlessly conforms to CSS 2.0 and the XHTML 1.0 and 1.5 standards. Rockin'. That's great news. It still renders every non-compliant page out there worse than Henri Matisse without his glasses on.
The lesson to be learned here is that standards-compliance isn't everything, and until everyone in the whole world can bite the bullet and conform to just one standard, the internet's going to continue to be a frustrating place. I will say, however, that Brandon's right: this isn't all Safari's fault. It's IE's fault, maybe moreso than any other culprit out there. IE is always just far enough off the mark to make it really challenging to make richly styled pages work in both IE and Firefox. My point with Safari is that Firefox manages to be off the standard in similar enough fashion to IE that you can develop for both much easier than you could develop for Safari and IE simultaneously. That's the problem I've had today.
Until later, space cadets, I hope you're having more fun than I am.