Microsoft have devised a new way to prevent open standards from taking over the Internet...
If don't know what the fuss is about, read Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8.
In this post I refer to the meta tag as "hack tag" because that's exactly what it is, and also for reasons that will become apparent later in this post.
A friendly alternative to get started...
If you've read the article and are sat there thinking Hey, that's a good idea!, please humour me and think of an amicable alternative...
Why don't they make IE8 be standards-compliant by default (it's not caused problems with all the other browsers, has it?) and have a hack tag that says "run as IE7" for bug-dependant sites?
A great number of sites that work on IE7 will already work on IE8 and therefore not need the tag at all. Some might need subtle CSS changes and the really bad offenders can beg for IE7 with the hack tag.
This would:
- reduce the number of sites that need the hack tag, as I dare say the vast majority will just continue to work
- clearly flag bug-dependant websites for all browsers, allowing all browsers to be standards-compliant by default
- let the site owner know that they are falling behind the rest of the world, but give them plenty of time to address that issue
I think free software would appear very quickly to add the "beg for IE7 hack tag" to all HTML files in a folder structure and any form of CMS can very quickly be tweaked to add it in as well.
There are a finite number of existing web pages on the internet. There are an infinite number of future web pages that will appear for the rest of time. Why is the hack tag being imposed on the latter when it would only be needed on a fraction of the former?
Ok, now let's get on to the more contentious issues...
Let's clear some stuff up...
The article posted on A List Apart makes some very misleading as John Resig points out in his blog:
– John Resig, jQuery founder
What is he referring to?
- The article states that Microsoft worked with the Web Standards Project - misleading
- The article gives the impression that other browsers are somehow taking part in this madness - unlikely
Make no mistake, this is a Microsoft only feature designed to generate Internet Explorer lock-in and disadvantage other browsers, but I'll discuss that in more detail later.
Worse still, Microsoft also try and pin the blame for this on to existing web developers, as isolani points out:
– Chris Wilson, Microsoft
Ok, so it's us web developers who've been crying out for standards compliance in Internet Explorer for years that are to blame? I think not! If IE wasn't utterly broken from the outset, the problem would never have existed in the first place!
But there is some truth in Chris's statement...
How did we get to this sorry state?
One of the biggest mistakes of the web development community was to struggle to try and make sites work on old or buggy browsers.
You see, we're all really determined to give our end-users the best experience possible, even if it causes us vast amounts of pain trying to hack around Internet Exploder to try and convince it to do things properly.
We start by developing websites and online applications based around open standards. Then, about 60% of our project time is spent trying to make them work on Internet Exploder - a process that mandates adding all kinds of hacks and cludges in to our markup, style sheets and code.
Unfortunately, our efforts have backfired on us. By supporting buggy browsers, we've actually prolonged the life of them and the sites that came to rely on those buggy browsers.
We've created a rod for our own back. A self-fulfilling prophecy of doom and despair. As web developers, we have to accept some of the responsibility for these problems.
But then again, every single web developer I know develops for standards-compliance first and foremost. We are only forced to add cludgy and crufy hacks because Internet Explorer still has the dominant market share (because it's installed by default on the dominant operating system, Windows).
Imagine for a minute...
If we all stopped supporting browsers with bugs, across the board, guess what will happen...
If the browser used to view the site is broken, then the person using that broken browser will be seeing lots of "broken" sites. They're quickly going to realise it's not the sites that are broken, but their browser. That's going to be a rather good incentive to upgrade to a browser that isn't broken.
That in turn will make people with sites that break on standards-compliant browsers wake up and think "hey, I need to fix my site ... now!". It's not going to take as long as you think for the world to adapt to a standards compliant nirvana.
This creates a positive feedback cycle: Users switch to standards-compliant browsers, more sites become standards-compliant, more users make the switch to standards-compliant browsers...
Do you take the blue pill or the red pill?
So, Microsoft have been raving about standards-compliance in Internet Explorer 8... It's strange, then, that Microsoft would do all that work at great expense and then by default run the browser in non-standard mode.
Why would anyone do that? There must be a reason...
– Morpheus, The Matrix
So which pill do you think Microsoft took?
Why would you take the blue pill? It's obviously the wrong option. Well, as with so many "wrong options" that get taken, there's ulterior motives behind it.
You see, Internet Explorer is losing market share because all the other browsers are innovating at an ever increasing pace. That's bad for Microsoft.
But what if Microsoft could slow down the adoption rate of other browsers? Perhaps they can – if they can keep the internet filled with bug-dependant sites that don't adhere to the open standards...
With practically all web developers now utterly sold on the idea of standards-compliance and semantic markup, there needs to be some incentive to make them do things that they don't want to do?
Enter the hack tag - the nemesis of standards-compliant nirvana.
This tag does three key things:
- it allows Microsoft to say they have a standards-compliant browser (when in reality, 99% of sites won't have the meta tag and therefore still be viewed in the buggy IE7 mode),
- it allows Microsoft to assure worried business men that their existing web pages will still work (when in reality, most of those sites will still work in IE8 regardless), and most importantly of all...
- it promotes the retention of bug-dependant web pages long past their sell-by date, thus calming the desire to promote standards-based design and hindering progress of competing browsers which thrive on standards.
Oh, there's actually a couple more things:
- you'll only be able to view those bug-dependant websites using Internet Explorer
- most sites won't use the tag, and therefore run in "buggy" mode, but you can bet that all the Microsoft platforms use it - then you'll start hearing how you have to use Microsoft technologies like .net and ASP, etc., to make reliable sites
I'm starting to see why Microsoft took the blue pill. It works out great for them and real bad for everyone else.
Some show-stoppers
Here's just a brief summary of the blatantly obvious nightmares that are going to ensue should Microsoft actually include the opt-in standards support:
|
From John Resig...
|
From Robert O'Callahan...
|
We are not amused
As you'll see from the vast amounts of comments on the article (and indeed practically everywhere else on the web that discusses the proposal new proprietary standard Microsoft is forcing on us), web developers are less than amused by the idea.
As a web developer, I'm not prepared to keep wasting 60% of each major project on "making it work in IE" and I'm sure as hell not going to implement anything that prolongs the existence of broken sites and broken browsers.
This is a blatant divide and conquer technique from Microsoft. They are actively going to screw up the Internet in a bid to reclaim their once total monopoly on the browser market.
The entire web development community needs to come together and say:
What can you do to help?
Simple...
For developers:
- Avoid using the hack tag in your sites, instead use the HTML5 DOCTYPE (which Microsoft tell us is dead, but then quietly confirm is alive and kicking)
- Develop your sites for standards-compliant browsers. Only change things if people complain - and when they do, ask them to try a modern browser and see if that helps.
For end-users:
- Stop using Internet Exploder NOW! Use Firefox, Opera, Safari, Konqueror or any other standards compliant browser.
- When you see a site that only works in IE, complain to the site administrator




