Chronicles of Swallowbush – Compatibility

In the previous installment I touched on the issue of browser compatibility, but what do I actually mean by that. More over, what do I mean when I tell people that IE is not respecting standards and therefore sucks? Above all else, Microsoft is a company that is ruled by bottom line numbers, and no one can argue that they don’t do a great job of that. The issue here – they are not willing to live by standards imposed by the World Wide Web Consortium (W3C), who exist in order to come together on web standards, and Microsoft has never liked following anyone else’s rules.

It’s actually very easy to be standards compliant, and while the jury is still out on whether you should or shouldn’t be compliant, to anyone who works in the industry my advice to you is to do just that. Compliance is more than a set of rules that are imposed on you by the powers that be, browsers expect compliance. When you choose not to close tags, or you don’t include your document tag you are actually making the browser pick up the rest of the work.

Computers are not as intelligent as you may very well think; they do exactly what they are told, no more, but certainly no less. These stubborn hunks of silicon and gold are actually worthless without an operator or program to tell them what to do, and this is the basis for most security vulnerabilities. Sticking strictly to the topic at hand, however, web standards allow you control over the canvas that the browser will render.

A great example of this is the doctype. It is actually very straight forward, and yet so few independent developers take its purpose into account when they are working on a website. A doctype is a set of rules that your browser is able to parse, or read, in order to know how to display your HTML content. When you declare your page as strict, you have certain features at your disposal; likewise when you declare it as XML or DHTML your options change. There are no drop downs, but the truth is in the details.

Is it better for you to declare your doctype or for the browser to make an assumption? This is a matter of style, in some people’s eyes, but from my experience declaring your doctype can often allow the browser to display things in the wrong manner. I have not cared so much about the benchmarking, but when it comes to the actual content being displayed, you can see drastic changes from doctype changes.

I do all of my development on the Mozilla Firefox browser, if you don’t have it and you like to surf the web, you should get it. I won’t bother giving you the speech, but rest assured that especially for development its benefit is clear. One of the advantages to Firefox is that it has a healthy respect for W3C Standards. This means that what works on Firefox, more than likely, will look and work just as it does on any other browser who agrees to use the standards (this includes most of the GUI web browsers on Linux). Where does that put IE? IE is terrible about adhering to most anything; as such, it is terrible for web development. Considering that there is an increasing market share of people moving to the Firefox and other browsers (konquerer for instance), and the recent update of IE 7 has moved towards the standards, but it is still pretty far from where everyone else is.