:space
:vision
do not step out
:wire
twitter.com/mikeysan
!standards
08/Apr/2005 | 09:46

A while back, I decided that my days of designing for the Interweb were over. One last bad experience with a client, I thought, was all the excuse I really needed to drop making pretty lines and graphics. At the most, I'd do things for myself and myself only.

Something funny happened on the way to the hermit cave. Early this year, I was given the opportunity to move to a different department in the company for which I work [1][1] If a corporation is considered a person, should it be "company for whom I work"? WE MAY NEVER KNOW.. The catch—if you could really call it a "catch"—was that I'd be doing what I swore I'd never do again. If you're wondering what I'm talking about, go back and start this article over.

There were three reasons I stopped writing markup:

1. Writing for multiple browsers is a pain in the ass.

2. Clients are all "idiots" who "never know what they want". This is simply a rule you have to accept; if you can't wrap your head around it, go ask ten people what they'd like to see in a single Web site, of whatever kind you choose. When you come back with more ideas than people, you'll know what I mean. In reality, the clients aren't "idiots", but they definitely don't understand what you're doing, because they—and get this—don't do what you do for a living. This makes communication difficult, sometimes borderline impossible.

3. HTML is ridiculously limited. Tables are horribly rigid for anything other than spreadsheet-style data, as well as being terribly unmanageable. Building a design with tables is like making a rug with a Connect Four set. Cascading Style Sheets were introduced to get rid of design rigidity and open up markup to removing layout code from actual content. In separating as much as you can, you gain design flexibility as well as a more manageable code base. Wow, I only have to specify that image tags have no border once, and they all behave that way? I can automatically have all paragraph tags inside my news posts indented for me?! HOLY SHIT.

So CSS was going to be this BIG REVOLUTION, and for the most part, it's lived up to the hype. But what about things it can't do? The W3C is drafting the CSS3 spec at the moment, and that adds plenty of really nifty things like curved borders, more typesetting options for you typewhores out there, and even a robust speech module. We're all good to continue heading into the future, right?

Right?

With the exeption of security patches, development on Internet Explorer was seemingly halted ages ago. So long ago, in fact, that Mozilla had a chance to hit 1.0, Apple had a chance to develop and mature Safari, and Amazon turned a profit.

Good enough for highway work, though, right? It renders my Yahoo! page, it lets me do my on-line banking, and I can surf all the good pr0n sites all day long in my once-a-month-washed bathrobe. If it ain't broke, don't fix it!

What Microsoft have seemingly forgotten is that while your users determine your user base, if you don't have developers on your side, it doesn't make a lot of difference.

Silencing the protestors

No one ever really sleeps in Redmond. Microsoft is a company of bureaucracy and complacency, surely, but that's like saying your laziest, but meanest, pit bull never keeps an eye on the yard. If a cat comes behind the fence, Mr Pit Bull will do something about it. In Microsoft's case, it was a Mozilla's Firefox.

Internet Explorer 7 was announced a few months ago, with the beta being available sometime this summer, and it's going to have features other browsers have had for many years: tabbed browsing, robust pop-up blocking, full PNG support, and increased security, among other things. While, honestly, I'm skeptical about that last security bit, it would appear the the pit bull in Redmond is going to get its browser act together and come into the year 1999.

But take note of one very relevant thing I didn't mention:

Standards support.

I've been looking through the IE7 buzz that's been floating around the Web, and I've yet to find any sort of solid, significant confirmation of standards support that it's lacked since 1996. It would seem as though, per typical Microsoft behaviour, no one in Redmond is interested in not pissing off every serious designer in the world with broken standards support. Internet Explorer's standards support is second only to its busted security model.

All this having been said, it's not out yet, there hasn't been much (if any, honestly) official word on the matter, and the version that's being released this summer is only a beta. For all anyone knows, IE7 will come out of the gate with all of the Mozilla organization bleeding and crushed in its jaws and show the world what standards support really means.

But I don't care.

It's not that I'm lazy or some open source nutball; I dealt with sucky browsers for years before giving up and caring only about the browsers that care about me. There was a time when all the major browsers were fairly pathetic in one way or another, but around the time Mozilla 1.0 and Firefox were released and Safari began to surface, browser developers got over the "let's implement our own special tags and handle tables and shit our own way" movement of the 1990s. The new attitude gave even more indie browsers like Opera and OmniWeb a fighting chance, not that they always took it. I mean, if the big dogs are shooting for standards, and the standards are published and open, we're playing on a level field.

But Internet Explorer didn't move. It got bug fixes for security holes and patches for crashes. It had and still has been years since a real upgrade to the browser, and at one point Microsoft even stated that IE7 wouldn't exist until Longhorn. If the only reason IE is going to change is because of an organization that moves to improve itself because that's the only place to go (Mozilla, of course), what reason is there to continue IE's progress after you've quashed the competition?

Internet Explorer, at one point, wasn't substandard. Right now, it's the worst of the bunch. With a laughably incomplete CSS1 and CSS2 model alone, it's worthless to me and anyone who takes their skills—as well as the time it has taken to develop them—seriously. No browser is perfect, but if someone has to be the broken-down Pinto in the parking lot, it's Explorer.

And if the past holds up, it always will be. If anything ever changes, it'll be that another browser will outclass it [Explorer] in every corner but marketshare, and Microsoft will update it a little bit to compensate before going back to doing nothing with it.

The standards will move on, and designers will slowly get fed up with being held back by Explorer's lack of support.

A real-world anecdote

If you're not reading this in Explorer in Windows, there's something you don't see. Cracking the source, we find:


<div id="ie_greeting">

<p><a href="../exploder.html" title="Sad panda . . .">Why does this page look so terrible?</a></p>

</div>

Feel free to read the page that's being linked to, but in summary: This site does not render properly in any version of Internet Explorer for Windows, and there's no reason it shouldn't. In fact, the reason Explorer users see that message and no one else does is because Explorer will ignore a rule flagged as !important when there's another instance of the rule after it. Example:


.class { display: none !important; display: block; }

In this demo case, IE renders the element as a block element, and everything else renders nothing at all. IE gets it entirely wrong, the warning message appears for IE users, and I have effectively used a bug to display a message to a subset of users. Because this bug has existed for so long, I don't expect version 7 to fix it or any of the other issues that have been part of the IE "feature set" for so long.

So what if it does, then? What if the earlier scenario occurs, and IE7 is released to be a shining example of compliance? Well, we won't have to worry about our code breaking, and no extra work will be required on my part. I still win. That's the point of standards. But how long until the W3C ratifies the CSS3 spec and IE is again left in the dust when everyone else updates their product?

My site is standards-compliant from top to bottom: DOM structure according to DTD, XHTML, CSS. I went out of my way to write very good, very clean code, and IE tosses it out of the window entirely. This is the problem that frustrates so many designers. Hard work means nothing when 95% of the Web population is using a product that ignores it all. We have to resort to hacks, workarounds, and what's worst of all, limiting our own designs in the face of the unwitting masses who use IE.

Making the best product may not be at the heart of capitalism, but if developers are at the heart of Microsoft, continuing to push them toward hating you isn't how you win them over.

For now, I'll be ignoring Internet Explorer[2][2] Disclaimer: For the purposes of remaining employed should anyone above me read this, I only disregard Explorer for my personal site; I do consider IE in my daily work.
, and I'm forced to encourage everyone else to do the same.

0 Comments: