Web Standards

What they are

I'll make this brief... Back in the dark ages of the internet they had browser wars. Basically each competing browser wanted everyone to use their software and not the other guy's. In those days HTML was the only language around for the web and there wasn't an organization like the W3C (World Wide Web Consortium) to sit down and come up with a set of rules defining internet markup languages, their tags, and the correct way to use them. So the browser companies filled the void. Each browser added support for different tags that the other didn't have. So some code was compatible with all browsers, some code only worked on one browser and sometimes the same function was called up by different tags depending on the browser being used. This frustrated programmers to no end. They would either have to code two versions of the same website so all users could see it or choose to support a single browser. Have you ever been to a site that had a little disclaimer saying "This site is best viewed in BrowserX"? These are relics of the dark ages. If you didn't use the browser the site was built for the site either didn't show up or if it did it came up all garbled.

Luckily today we have the W3C. Pressure from various groups around 1998-99 led to the creation of standards and the beginning of the modern web. Both programmers and users can breathe a sigh of relief knowing that the same code should render about the same across all browsers.

Why They're Important

Without web standards my job would be tough and your experience on the internet would be frustrating. If standards didn't exist support for code would vary wildly across browsers and I would have to either drop support for some or write tons of unnecessary code in order to accommodate as many browsers as possible. Pages wouldn't show up correctly in your browser either. Pages would load slower no matter what browser you used because of the extra lines of code and no one would be happy. You'd probably have to have a few different browsers on hand just in case a site didn't work in one of them just like back in the bad old days.

Why Internet Explorer Sucks

If you're using Internet Explorer I feel sorry for you. IE is the devil of browsers. In fact everything Microsoft makes is frustrating for both its users and the programmers who end up frustrating those users. Microsoft has a hard time complying with web standards or any standards at all for some reason. Coding for Windows sucks. If you're programming something and it has to be compatible with anything Microsoft or has to run on Windows you better believe you're going to end up having to write non-standard proprietary code. Proprietary code is okay with me but not when it comes to something like the web or when there are ways to do the same thing using standards compliant code. But Microsoft is still trying to get people to use their crappy proprietary technologies in order to ensnare them into an all Microsoft, no-choice digital lifestyle. What they haven't realized is that programmers are sick of it and are moving in droves to open source standards compliant projects. While OS X has its proprietary facets the underlying Unix core of it is open source and can be edited at will. The Mac is a great example of a platform that doesn't frustrate a programmer like me like Windows does. Linux is even better (though I prefer the Mac).

Internet Explorer is and always will be full of security holes just like the operating system it runs on. Internet Explorer doesn't render pages like a standards based browser. Every other browser reads standard code with little to no variation. IE on the other hand is using a proprietary box model to render CSS. Why? Just because they think they are still king and can.

I just checked out my Google Analytics account and guess what? Internet Explorer users are dropping like flies. Its all about Safari and Firefox these days.

Why This Site May Not Show Up in IE

This site is coded in XHTML 1.0 Strict with an Application/XHTML+XML Media type. Not only does Internet Explorer have trouble with XHTML but it doesn't always recognize the application media type. So if you're using IE you probably aren't seeing this page. If you are, then maybe I'm wrong and need to do a little more reading. But being on a Mac means I can't see if my site works on IE.

About the Development of this Site

This site was written in XHTML 1.0 Strict with an Application/XHTML+XML media type. Almost all of the content on each page is stored on a MySQL database served up using PHP 5. Obviously, I'm using CSS2. If you can see the rounded corners then either you have a browser that supports CSS3 or you're using Safari or a Mozilla browser as I used the "-moz-border-radius" and "-webkit-border-radius" tags to achieve this effect. The blogs are running Wordpress and each one uses a different comment system (Sezwho, IntenseDebate, and Disqus).

All of my code has been validated with some reasonable exceptions:

XHTML - This code is all valid but once my pages are uploaded the server my hosting provider adds some javascript tracking code after the final HTML tag. I don't know why but thanks to them if you enter my URL in the validator you get the ugly red screen instead of the green one.

CSS - I wanted rounded corners but didn't want to have to write extra code. I wanted to achieve it the most efficient way possible. I used the "border-radius" attribute for when CSS3 is supported by browsers but also added the proprietary "-moz-border-radius" and "-webkit-border-radius" so Safari and Firefox users could see the effect.

So you see, the XHTML thing is forgivable and as for my CSS, c'mon, its only two lines of code.

2005-02-25