I had a number of things I wanted to write about that are pretty interesting to me, but I am currently in that state of mind in which I can't write what I want to write and have been for almost a month now.

One theme you may have noticed on The Right Glue is my general dislike of the Mozilla Firefox browser. It's there in the footnote on every page, and a few comments some have made on related subjects.

Firefox is a fine browser. It's got plenty of nice features, it's got a good rendering engine. It eats RAM like a bloodthirsty vampire, but I don't really hold that against it. What I can't stand is its users.

Because they like compliance, even in the face of pragmatism.

Now I'm not going to go very deeply into validation, because, luckily, Jeff Atwood (who may actually be a bloodthirsty vampire) has recently written a post about it. Read that post. I'll wait for you.

The W3C has gone out of its way in many cases to make HTML harder to get right. Something as simple as opening a page in a separate frame using the target attribute simply can't be done in strict HTML! If you want to keep your website's HTML valid, you need to re-implement already basic functionality in JavaScript. This is called reinventing the wheel, and not only is it a terrible idea in general, it's even worse in the specific case of HTML because in order to be compliant, you necessarily have to be less accessible by relying on a wider variety of less-than-omnipresent technologies like JavaScript. In order to be compliant you necessarily have to violate the third most important rule of Web design:

3. Do not require the use of JavaScript, applets, ActiveX controls, Flash or any other technology that your end users may not have. Requiring these things will just label users lacking them as outcasts.

The only thing that I can ask is how can someone possibly think this is a good idea? How can anyone think a browser that adheres to such impractical standards is good software? Compliance for the sake of compliance is foolish if the standard to which you're complying is flawed.

Firefox, to me, represents this general idea of castrating browser functionality in the name of compliance; of overcomplicated standards that serve no purpose other than the feeling of satisfaction of having jumped through hoops to accomplish what is possible to accomplish with a lot less effort. It's probably unfair of me to use Firefox as a scapegoat (scapefox?) in this manner, but Firefox does not have feelings so I don't really care.

Because of Dupe's comment I have experimented with making The Right Glue compliant with HTML 4.01 transitional. There is very little that I need to do to make the site compliant. The only thing I really need to do is add a doctype to the page, which, if you don't know, tells the browser what standard with which the page is trying to comply. In my tests, I have found that setting this doctype causes IE6 to not support JavaScript statements within CSS, which I rely on to overcome IE6's inadequate support of true CSS. What this means is my site stops working appropriately in IE6 if it is compliant.

Firefox users would say this is IE6's problem. I don't share their detachment from reality. Statistics vary, but somewhere between 18.5% (W3C) and 35% (The Counter) of users are using IE6. It may be IE6's fault that it can't handle CSS properly, but it's definitely my problem if a third of my users don't see the site properly.

Ideally, all browsers adhere to the same standard. Ideally, I whip up a design that will work perfectly in modern browsers and degrade gracefully in older browsers without having to expend any extra effort. The Firefox mentality is to waddle around the world with headphones on and eyes closed. Reality is far from ideal.

I don't have control over what browsers my users use. No one does. Compliance isn't what makes websites display properly across browsers — good design is. I will take a working site over a compliant site any day of the week. As soon as standards writers write a Web standard that is practical and widely supported (not by browser makers, but by users), I will conform to it. But not a day sooner.