Standard storm

23 January 2008

First read this (although you probably have already):

Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8

Then take a look at these:

Broken (If you only read one of these, make it this one)
From Switches to Targets: A Standardista’s Journey
Has Internet Explorer Just Shot Itself in the Foot?
Predicting the Past
Not your father’s standards switch
The versioning switch is not a browser detect
Code Happy
Best Standards Support
In defense of version targeting
Standards mode is the new quirks mode
The Internet Explorer lock-in
META HTTP-EQUIV=”X-BALL-CHAIN”
Who loses out to X-UA-Compatible?
IE8 and the future of the web
Versioning, Compatibility and Standards (from the Safari/WebKit devs)

Needless to say I’m not sure if this concept of version targeting has gone down too well.

I’m firmly on the side of those saying this is a bad idea. It strikes me that this is Microsoft trying to push something that solves a problem specific to them (namely that IE6 was so bad that when IE7 came out lots of things broke) onto the shoulders of web developers. While it’s not particularly pragmatic to say, I think this is really not our problem and the proposed solution has all sorts of downsides; it breaks the concept of progressive enhancement, bloats rendering engines and slows the adoption of new html/css features in the IE userbase.

I also have the feeling that like the the strict doctype before it, in practice this won’t work anyway. Like all good developers, Microsoft are proposing a loophole in the form of setting the X-UA-Compatible tag to ‘IE=edge’, which means you just get the latest version of the IE engine (like you would right now). I can’t see anyone not using this, outside the Microsoft-only devs that got pissed off with IE7, so the whole concept becomes a bit of a red herring. In fact, one of the ways that this could be improved would be if it defaulted to this setting, so the default behaviour isn’t being changed – as Jeremy points out, it’s crazy that unless you tell IE8 to behave like IE8, it’ll behave like IE7; surely that’s not the default behaviour we want?

All that said, there is the kernel of a problem trying to be solved here; namely how to write CSS code (and we are talking just CSS, not HTML, as this discussion is all about presentation) that doesn’t break when newer browsers come out.

Here’s what I’m thinking would be a good way of fixing it: Firstly, with the release of IE8 bring in either a new doctype (‘Standard’?) or a meta tag that announces that this page is expecting a standard compliant renderer. IE8 apparently passes the ACID2 test so should hopefully be on par with the other major browsers, and this flag will prevent IE8 ‘breaking the web’ again from Microsoft’s point of view.

Next, we need to have some way going forward of coping with new advancements to CSS without effecting older browsers. I see two ways of tackling this (possibly in combination): 1) Add a ‘version’ attribute to the CSS link tag, and then browsers can alter their rendering based on this (which is a similar solution to the X-UA-Compatible one, but seems a more appropriate place to do it). 2) Add conditionals to CSS that can detect what features a browser has available. I see this second one working roughly like this:


/* if( text-shadow ) {
p {
text-shadow: 1px 1px 2px black;
color: white;
}
} */

You could then supply different CSS to browsers based on whether they supported a specific feature, and using the cascade supply ones that didn’t something else. I’ve wrapped it in comment tags so that any older browser that doesn’t understand the conditional will just ignore it; this is quite purposely like the IE-specific conditional comments tags, which I think are also a good solution to this problem (which already exist!) and would be good to have adopted by the other browser manufacturers.

Here’s hoping that this loud reaction will give Microsoft some pause in rolling this out; they look like they’re moving in the right direction with IE8 so I hope that don’t screw up on an issue like this.

Further reading:

Sex, data and rock and roll

It’s not all sex, drugs and rock and roll this music lark, you know. I’m not sure exactly which of those it replaces - pessimistically probably both the first two - but if you’re talking music in 2014 there’s also data to think about as well.

I’m typically not fond of...

Different Slices Of Sky

So, in shock news it turns out the album is going extinct.

That’s a shame isn’t it?

I’m not what the exact protocol is in this sort of situation; do we need to start a kickstarter or something? I mean, there’s quite a few albums I was looking forward to. Why...

Scratching The Itch

I don’t think there are many people that know that once, what seems like an age ago, I did a computer science degree. At that point in time I couldn’t for the life of me figure out how to get into music – my teenage band failing dismally to even...

Indie Schmindie

I’ve been thinking about the concept of indie record labels all week after an article on the Guardian about everyone’s favourite currency-related rapper 50 Cent signing to “independent distributor Caroline”. Now for those that don’t keep up to speed with the coming and goings of the many, many major...

X Meets Y

I hate writing about music.

Chiefly I, myself, take great displeasure in writing about the stuff, but then also quite frankly – and with no disrespect to anyone reading who does write about it – I am no fan of any writing about music.

I mean, what is it good for?

Permit me...