Welcome to MSDN Blogs Sign in | Join | Help

Compatibility and IE8

In Dean’s recent Internet Explorer 8 and Acid2: A Milestone post, he highlighted our responsibility to deliver both interoperability (web pages working well across different browsers) and backwards compatibility (web pages working well across different versions of IE). We need to do both, so that IE8 continues to work with the billions of pages on the web today that already work in IE6 and IE7 but also makes the development of the next billion pages (in an interoperable way) much easier. Continuing Dean’s theme, I’d like to talk about some steps we are taking in IE8 to achieve these goals.

I’ve been on the IE team for over a decade, and I’ve seen us apply the “Don’t Break the Web” rule in six different major versions of IE in different ways. In IE 6, we used the DOCTYPE switch to enable different “modes” of behavior to protect compatibility. When we released IE 6 in 2001, very few pages on the web were in “standards mode” (my team ran a report on the top 200 web sites at the time that reported less than 1%) – few people knew what a DOCTYPE was, and few tools generated them. We used the DOCTYPE switch in IE6 to change the box model to comply with the standards and enable developers to opt-in to the new behavior. We’d already seen so much content written to IE5.x’s non-standard interpretation of the CSS2 spec that we couldn’t change it without causing a slew of problems.

In IE7 we made a lot more changes to improve IE’s standards compliance, particularly with CSS. We limited these behavior changes to IE’s “standards mode” only, and we expected that this would help limit compatibility problems as it had in the past.  Unfortunately, and somewhat surprisingly to us, this wasn’t true; many of those changes made IE incompatible with content that was already part of the web. It turned out by the time IE7 shipped in late 2006, roughly half of the top 200 US web sites were in “standards mode”. Many of those sites had been “opted in” to standards mode by a tool that generated their content; many of them had probably been hand-coded by someone who was trying to do the right thing, and make their HTML code valid according to the W3C. Regardless, users of those sites expected them to keep working the same, even when they downloaded a new version of IE.  Unfortunately, that didn’t happen.

But wait, a lot of people say at this point, why isn’t this a problem for Firefox, or Safari, or any other browser? The answer is that developers of many sites had worked around many of the shortcomings or outright errors in IE6, and now expected IE7 to work just like IE6. Web developers expected us, for example, to maintain our model for how content overflows its box, even in “standards mode,” even though it didn’t follow the specification – because they’d already made their content work with our model. In many cases, these sites would have worked better if they had served IE7 the same content and stylesheets they were serving when visited with a non-IE browser, but they had “fixed their content” for IE. Sites didn’t work, and users experienced problems.

In short, there was an expectation that even under standards mode, IE would keep working the same way.  Because sites expected IE6 behavior, the DOCTYPE switch failed to protect compatibility in the real world when we changed behavior under standards mode to become more compliant. We realized that “Don’t Break the Web” should really be translated to “Don’t change what developers expect IE to do for current pages that are already deployed.” (Of course, for content that is developed to a later standard that isn’t deployed yet, you can expect different things.)

With this painful and unexpected lesson under our belt, we worked together with The Web Standards Project (in the WaSP-Microsoft Task Force) on this problem.  I can’t give them enough credit for this work; it’s tough to step into the shoes of a browser vendor that ships to half a billion users to figure out what the best thing to do is, when you really just want to sit down and write code to the standards. We started from a simple statement of “enable (and encourage) interoperable web development, but don’t force IE to break pages that work properly in IE today.” I think we all want to converge to a world where a web developer doesn’t have to spend much time at all testing and recoding their site for different browsers.  At the same time, we can’t break the web experience on current sites for users like my mom, even for as good a reason as improving standards compliance.  With all the great styling and layout changes we’re working on in our new engine for IE8 to be much more standards compliant, that’s a lot of potential breakage. (More details in the near future, but the Acid2 announcement gives you some idea.)

We realized that the model for web development was really “write to the standard, then test against and fix problems in the most popular browsers.”  This meant that the web developer had one crucial piece of information we could make use of – what version of IE they had tested against, and after much discussion in the WaSP-MS task force, we ended up with a <meta>-based “opt-in to the browser version I tested with” strategy. 

Aaron Gustafson, one of the members of the WaSP-Microsoft Task Force wrote an article detailing where we ended up that was posted on A List Apart today; I highly recommend reading it for a different perspective. I’ll summarize, though, that:

  1. “Quirks mode” remains the same, and compatible with current content.
  2. “Standards mode” remains the same as IE7, and compatible with current content.
  3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.

We believe this approach has the best blend of allowing web developers to easily write code to interoperable web standards while not causing compatibility problems with current content. We also think this approach allows developers to opt in to standards behavior on their own schedule and as it makes sense to them, instead of forcing developers into a responsive mode when a new version of IE has different behavior on their current pages. I’m excited by all the standards work we’re doing in IE8; I’m even more excited that we won’t cause a lot of compatibility problems for our users and web developers.

Chris Wilson
IE Platform Architect

Published Monday, January 21, 2008 9:01 PM by ieblog

Comments

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:13 AM by Rowan

Thanks for posting this, let's spread the news around.

Digg This: http://digg.com/tech_news/IE8_Super_Standards_Mode

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:48 AM by Cory Nelson

I wish this wasn't needed, but backward compatibility is important and it does seem like the best solution with that in mind.

I'm curious why a whole working group was needed to come up with such an obvious solution though!

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:06 AM by tShao

It's really no fun to switch the <meta> tag in the source code for the purpose of testing. At least, it could be a switch in IE configuration or IE Developer Toolbar to turn the IE8 standard mode on/off.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:48 AM by Xepol

Enough nonsense.  Point the finger where it belongs - squarely on the webdevelopers and site owners for having their heads lodged firmly up their posteriours.

It isn't like they didn't have any notice.  IE7 was in beta for a good long time, the IE team was VERY vocal about what was going on and coming down the pipe.  

I say enough of this bloody nonsense.  Break the bloody web, and maybe, just maybe, we'll finally be able to break free of the morass of the pre-IE7 days.  

Quirks mode be gone.

Just put in standards mode and be done with it so that everyone can more forward to a stable, standard platform and finally be convinced that they need to get off their duffs and fix up their websites for new versions instead of assuming that nothing will change.

Heck, if you want quirks mode, make it so they have to have the meta tag for that.

Trying to fix around the fixes for problems that aren't even there anymore isn't going to do anything but cause more problems.

LET THEM BREAK IF THEY CAN'T BE BOTHERED TO MAINTAIN THEIR SITES!  

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:04 AM by Nemeseri

@Xepol: if they break the compatiblity with older sites they will lost market share instantly.

wow... quirks mode, standards mode, super standards mode... :D

In IE9 we will see the super duper standards mode... this will be the ABBA release... hehe

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:05 AM by jm

This is retarded. If you've learned anything in developing IE, it's that new versions don't encourage developers to use standards. They'll open their site in IE, and see that their IE5 code looks the same now. If it looks the same, then why change coding techniques? I thought IE8 was about advancing the web. I thought advancing the web didn't include stuffing your head with useless meta tags.

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:07 AM by EricLaw [MSFT]

@tShao-- Good feedback, thanks.

@Xepol-- If only it were that easy...

Pointing fingers does nothing to help the end user, who just wants the yesterday's content to keep working.

Even assuming that all sites on the Internet have active development teams (a large and incorrect assumption), what is to be done about all of the content which is no longer editable for myriad other reasons (e.g. burned on CD/DVD/etc being the most obvious)?  

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:09 AM by Peter Michaux

It is simple. From the point of view of CSS hacks and JavaScript, kill the IE brand. Call it IF or something but just don't identify as IE anymore and make sure none of the popular sniffs or hacks work. Problem solved. You can still market it as IE. Only developers will notice the difference.

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:25 AM by Brandon Bloom

Peter Michaux beat me to it!

If this problem only affects Internet Explorer due to the fact that sites check for the agent string or whatever, then just radically change the agent string!

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:33 AM by Stifu

As some people suggested, I hope you'll make it so the meta tag won't be needed in some cases. Like if the doctype is for an HTML5 document, or if the page is served as application/xml.

That wouldn't break the web at all, and would spare us the extra tag in the future.

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:34 AM by Sami

I'd prefer having the superstandards mode on by default. Let the user switch to quirks mode, if the page is not displayed.

IE7 gives an enormous warning about invalid ssl certificates, why not to do the same about invalid markup?

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:51 AM by Little Dave

I think the additional meta tag is a very good idea. Another suggestion though, would be the ability to enable ABBA standards mode from external documents, such as CSS files (Maybe in the form of a CSS comment). Then, we don't have to clutter up our HTML with code that isn't necessary.

e.g.

CSS File

/* @IE8:supermode=true */

#normal

{ rules-go:here;

}

And, while I'm here, one more suggestion:

The conditional comments feature of IE6 and 7 is good. It solves a lot of problems. However, it also means we still have to alter our document structure JUST FOR IE. Would it be possible to enable conditional comments directly within our CSS? You already do this with Javascript. Then we don't have to maintain two different CSS documents, which is a right pain in the space between </head> and <body>.

Dave

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:55 AM by kimblim

For me personally the best thing would to drop the backwards compatibility and let all the webdevelopers and companies who didn't care about standards pay the price. However, the META-solution seems like a reasonable compromise although by v9 it must time for quirks-mode to die. By that time it will have been at least 8 years since IE6 was launched, and 8 years must be long enough for people to learn about doctypes.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:11 AM by AC

Well, how convenient for you. So what you're saying is that you're going to allow people to write says it's standards compliant when it isn't because you've screwed up in the past. Well, guess what, this is the present and you're screwing up again. You'll "suffer" this decision at some future point when you'll come back with another point and analysis that will justify further leaving the web in a b0rked state. And it's convenient as it continues to keep standards compliant browsers at bay through your monopoly of the market. Good work.

# Ein neuer IE, eine neue Art Standards zu fordern

Tuesday, January 22, 2008 3:18 AM by TheUndeadable entwickelt

IE 5 -&gt; IE 6: Quirksmode -&gt; Standardsmode per DOCTYPE IE 6 -&gt; IE 7: Es wurden eher nur offensichtliche Bugs in der bisherigen CSS-Implementierung gefixt. IE 7 -&gt; IE 8: Standardsmode -&gt; Best Standardmode per &lt;meta&gt;-Tag http://blogs

# Compatibility and IE8

Tuesday, January 22, 2008 3:19 AM by DotNetKicks.com

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:27 AM by M T

I completely agree with Sami - SuperStandards should be ON by default. If IE7/quirks mode is needed, the meta tag should be used.

And backport this meta tag to IE7 and IE6.

This would make a lot more sense.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:31 AM by Rowan

Will it be possible to target IE6 with this new meta tag as well? For instance, using IE8, could we use content="IE=6" to see how the page would look in IE6? I won't complain if it's not implemented, because IE6 should be forgotten anyway.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:32 AM by Yves

Standard should be on by default, or just call your browser 'IE 7 extended'.

You're not going to break anything, all the web works fine on Safari, Firefox, Opera & Co.

What's actually breaking the web are deprecated browsers like yours :)

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:39 AM by virtualblackfox

You guys totally and utterly SUCKs.

I'm bored to add "I want IE to support standards" tags everywhere (DOCTYTPE, meta, what next ??? a special comment <!-- I wish for microsoft to do the right thing at least one time in their life --> ?).

Nice to see that at least IE8 will follow vista with the philosophy : http://garywiz.typepad.com/trial_by_fire/2006/03/windows_vista_p.html

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:47 AM by ruemere

Why not just enable side-by-side install for IE8 and IE7-? Also, allow users for easy switch between rendering engines of these browsers.

IE8's unique agent string - great idea.

Also:

- say NO to full system integration - shell becoming unresponsive due to browser problems is simply unacceptable. This is twenty first century and application should be able to break down without affecting the rest of its environment.

- say YES to multiple sandboxes - one instance of the browser should not affect other instances.

- say YES to user sandbox finally - it's a calamity that web applications require higher priviledges under IE than Mozilla.

Sigh.

Regards,

Ruemere

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:48 AM by Webdesign

I'd prefer having the superstandards mode on by default. Let the user switch to quirks mode, if the page is not displayed.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:55 AM by Eric Eggert

That's just rubbish.

People shouldn’t have to opt in for the best Version of IE. If someone’s expecting IE8 to behave like IE7 he should opt out to IE8s behavior. Many web developers don’t know about Doctype-Switching and struggle with IE5.5s flaws in IE6 and 7. Now you expect them to have knowledge of both: Doctype switching AND IE8 Super Webstandards Compatibilty Mode Like it's 2004?

Microsoft is doing the wrong thing over and over again. There is absolutely no need in having wrong done websites displayed right. Although, I admit, for very old sites there may be a good cause for the quirksmode.

Standards based websites WILL NOT break in a new version of IE. Thats the reason, why they don’t break in all other major browsers, like Firefox and Opera. We use conditional comments to give IE7 and 6 what they need. If the new engine is on par with current browsers no site should break.

Probably Microsoft is doing it’s own type of standards mode? Do we get new incompatibilities to Firefox, Opera, Safari? Is that the reason, why you are promoting this? If not, give us the standards mode every other browser has since ages. If so, i'll advice everybody to use another browser or stay at IE7, which has expected behavior but many shortcomings, because I will not support IE8 anymore.

I will not clutter my HTML with unnecessary proprietary markup, because the IE folks don’t know how to make a decent browser. I won’t even clutter my HTTP header, if that’s an option.

The idea alone is stupid, retarded and not useful at all. It was great to see IE8 passing Acid2 but then you’re coming with such a stupid thing  to enable the browser to do what he was expected to do three years ago. Makes no sense. At all.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:55 AM by Steve

Once you have an IE which is standards compliant, or pretty darn close to it, then I don't see a need for the meta tag thing.

What I am most shocked to see, and I hope I am misreading it, is "'Standards mode' remains the same as IE7, and compatible with current content." Why not keep quirks mode as it is, and upgrade standards mode? People (web developers) don't want to deal with three different modes, and they certainly don't want to deal with another line of IE-unique code.

By the way, (sorry to go off-topic) when is SVG coming to IE?

# I hate meta tags

Tuesday, January 22, 2008 4:07 AM by Takazudo

>Sites didn't work, and users experienced problems

Can't you understand why this happened?

It's because funny behavior like IE6's box overflow model is unfortunately known to all people much more than right CSS2's overflow model now.

I thought that you are testing Acid2 and making IE8 for perfect compatibility with other browsers like FF, Opera and future browsers under the right specification but was it my misunderstanding?

I hate all meta tags you made.

imagetoolbar? conditional comment?

How many meta tags should we write in HTML in 10 years?

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:09 AM by Kenneth

I understand the above, but don't remember huge problems in upgrading the sites we work on for IE7.  We had a mix of standards and non-standards websites, and most were upgraded for IE7 easily. (Most didn't need to)

Will this meta tag affect the conditional comments?

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:13 AM by Aaargh!

"we can’t break the web experience on current sites for users like my mom, even for as good a reason as improving standards compliance."

Yes you can, you don't want to, that's something completely different.

Btw, why are you still working on this POS rendering engine, there are lots of other free options available that work a LOT better than IE ever will. Just drop Trident and replace it with WebKit or Gecko.

You guys are reinventing the wheel, again. Probably just a bad case of not-invented-here syndrome.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:19 AM by Robin

So you won't be passing Acid2 then? Shame.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:32 AM by Paul

In IE8 why don't you just shift the current modes? So Quirks mode renders pages as if it were IE7, and Standards mode renders pages as if it were IE8?

By the time IE8 comes out there shouldn't be a reason for people coding to IE6 standards...

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:32 AM by Paul

In IE8 why don't you just shift the current modes? So Quirks mode renders pages as if it were IE7, and Standards mode renders pages as if it were IE8?

By the time IE8 comes out there shouldn't be a reason for people coding for IE6 quirks...

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:35 AM by Mihai Tarmure

I agree, super-standard mode should be the default mode. That way, any new website won't need much of a cross-browser testing.

Detect if website was built with conditional comments for IE6 or IE7 or with classic hakcs, then render the old content with the old engine. Older sites should work, newer built websites should be standard compliant. Gradually, old sites will be replaced.

You can't come after so many years of ignoring us and say, you know, we're getting there but probably IE9 will do it.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:46 AM by Mihai Tarmure

I really understand the need of having a choice when it comes to a web-browser. But why has the rendering engine have to be the main concern?

Why have several different foundation engines striving to reach exactly the same result?

Why not make the rendering engine a plugin, develop the engine as open-source but let the rest of the browser closed-source. Each browser will have its own proprietary interface, unique set of features, but at least the rendering engine will be essentially the same.

There will still be competition among the browsers.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:55 AM by Peter Kasting

I think this is a catastrophically bad idea.

Notably, no other browser has ever needed such a concept, because the other browsers all regularly release updates that fix rendering bugs, meaning that site authors have an expectation that the browser's behavior will differ over time, and generally in a way that becomes more compliant with a spec.  As a result, web developers praise other browsers, rather than loathe them, for fixing rendering bugs.  All the IE team needs to do is set the same expectations.

Instead, the introduction of this concept results in a couple effects:

* Hardcodes into the DNA of the web Microsoft's questionable practice of shipping multiple rendering engines.  Supporting this switch basically means that no rendering engine or behavior will ever be obsoleted, and thus must always be supported in the codebase.  This hurts IE development and IE users.

* Makes life incredibly difficult on all non-IE browser vendors.  Browser vendors already supported quirks and standards modes for IE compat reasons.  Now they'll need to reverse engineer and support every single new IE rendering engine as it comes down the pipe if they want to work with the web as a whole, since site authors will no longer have any reason to update older pages to make them more standards-compliant.

There are a couple ways out of this mess:

* In HTML5 mode (<DOCTYPE HTML>), ignore this ridiculous meta tag and use the latest, most compliant version of the browser.  Then at least as vendors and authors support HTML5, this problem disappears.  (The circumstances that led to the current problem, namely Microsoft not bothering to update IE for over half a decade, are unlikely to be repeated with the rise of Firefox, Safari and other competing browsers.)

* Hope that web developers raise a hue and cry when they hear about this change, and Microsoft relents.

* Hope that IE's market share continues to shrink to the point where it is significantly less relevant, and site authors don't particularly care about this behavior.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:10 AM by loggin

My god I swear most people here are either idiots or have got their own heads so far up their own a@#~s that they just can't see the light of day.

Paul why would people still need to be coding for IE6 ? I know of a lot of charities out there running dinosaurs for computers, they rely on the good will of people to get by, they help the less fortunate and unemployed (hell some of these I know are still running IE5).

So before anyone starts jumping up and down and demanding the past should just be brushed under the carpet spare a thought the small (business) man and those less fortunate than yourselves....

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:22 AM by game kid

@loggin: Indeed.  You know, I have a good business plan:  complain to a big software company that their browser is not compatible, then wait for them to offer multiple VirtualPC images for this problem and even an idea to fix it!  Then when they're done, let's then whine that it's not the right idea at all and spam Operafox like we usually do!  That'll give the IE team a clear road ahead.

One thing's for sure, consistency is not one of the oft-requested standards.  If MS rejects this I'm betting good money on a dozen "I could read this Archive.org'd page in IE7 and now I can't!" posts.

That said, I'd much prefer the frame-security attribute last mentioned on the IEBlog be a meta-tag too.  Maybe 'name="X-Frame-Security" content="frameid1=restricted,frameid2=normal,framename3=blah"'.  That would mean no waiting for HTML5 to add a standard security attribute.  Not that anyone here is waiting for HTML5 to spam Operafox.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:34 AM by Asbjørn

This is a very very bad idea. Just make this "Super standards mode" the default in standards mode, and leave quirks mode alone (if it shouldn't just be removed). If people want their sites to work in a modern browser they should just follow the standards. The idea about letting the user (not the web developer) switch to an older rendering engine sounds good. For once just break that backwards compatability!

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:48 AM by Microsoft Impeding & Undermining Web Standards Since 2001

No surprises here, Microsoft continues to impede and undermine web standards. Hey IE team, this is 2008, not 2001. Stop living in the past, no one wants to code stupid workarounds for IE6 and if websites still uses IE6 code it probably isn't up to date with the current content.

Then again this is a waste of time, even microsoft.com is rendered in quirks mode on all other browsers, way to go there when it comes to standards compliance.

http://img251.imageshack.us/img251/997/msvj5.png

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:49 AM by David Naylor

This is crazy, but I guess I understand your reasoning.

Although I still can't help feeling ... *so what* if ancient, forgotten websites don't look pixel perfect in the latest browsers? Any website owners that care about it's users will have active development.

This decision just makes me more determined to keep spreading the Firefox love. I was hoping IE8 would be an equal alternative, but alas.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:49 AM by Rowan

Keep in mind that breaking the rendering of old sites wouldn't necessarily make them unusable, some maybe, but not all.

I think it would be much better to provide an opt-OUT meta tag that forced a webpage to ignore IE8's new rendering changes, this way people can fix their sites with a single line of HTML. It would take any technical person less than 5 minutes to fix an 'old' site. I could fix 100 sites in one day with this approach.

I'll be flabbergasted if other browsers implement this meta tag.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:50 AM by Mr. Quirck

It's probably best to not introduce yet another IE specific token (i.e. quirk). Most websites probably look good (enough) in standards mode (as they already do in FireFox today). If you keep allowing web-developers (or amateurs in some cases) to use their hacks and quirks then you continue to send a wrong signal. This way, these quirks will continue to live on forever. We need to move forward on this legacy issue, not stand still.

It's like continuing to support 32-bit versions of Windows. That way, it'll be difficult to finally push people to 64-bit and thus applications will not be updated for x64 (compatibility).

Please discuss this issue further in the IE team. It's quite important.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:51 AM by David Naylor

This also means that the Acid2 test in it's true form *WON'T* render correctly.

# Bollocks

Tuesday, January 22, 2008 6:11 AM by Ryan

What a load of horse dung. No modern browsers require a special tag to function correctly. Firefox has managed to wrangle a good 30-40% of your market share without having to worry about breaking sites. All you need is a decent rendering system, but you don't have it - period.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:12 AM by Stifu

Yes, it's a bit saddening that those who make efforts to follow standards have to deal with such annoyances, while those who don't care at all and made a badly coded site 10 years ago get away with it for free.

Still, things aren't that bad, at least IE8 will be easier to work with. It's just that I wish Microsoft would care more about pushing standards rather than supporting lame sites.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:30 AM by Thomas Tallyce

http://alistapart.com/articles/beyonddoctype

"the IE team began work on a completely new rendering engine for IE8—one that followed the CSS 2.1 spec as closely as possible"

Ah, so Trident is dead at last - hurray!

What's the new engine called, out of interest?

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:31 AM by David Naylor

After having read the article at ALA, I'm seriously worried.

I hope (and believe) the other browser makers aren't stupid enough to tag along (haha!) with this idea of locking a web page to a certain rendering engine. It's an awful idea.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:41 AM by cwilso

@Xepol - I think @Nemeseri answered you pretty well.  We shouldn't just "break" developers (sites), because the ones who immediate suffer are our users.

@jm - I'm not focused on encouraging developers to go back and change all existing content - or at least not to the point of forcing them to have to do it between now and when we ship IE8.

@Peter Michaux, @Brandon Bloom - if we identify as something other than IE, we shut ourselves out to a whole DIFFERENT set of sites.  The problem is that sites are, in fact, tested against specific browsers and versions; this changes to a model that reflects that.

@Stifu - I said that: "(Of course, for content that is developed to a later standard that isn’t deployed yet, you can expect different things.)"

@sami, @kimblin, @ruemere, @Webdesign, et al - any method that requires end users to switch between modes to get the page to "work right" is broken.  Most users don't know about quirks mode, and don't (and shouldn't) need to care.

@Little Dave - we actually proposed a conditional-comments-like syntax for CSS a couple of years ago to the CSS WG, and were roundly denied by most of the other members of the group.  I still think it would be a good idea, personally.

@M T - that would only make more sense if we wanted to put the burden on users.

@Rowan - no.  IE7 compatibility for quirks and "standards" mode is the minimum bar.

@Takazudo - what makes you think I don't understand how we got here?  I do; that doesn't change my answer for the least damaging way out.

@Paul:

>By the time IE8 comes out there shouldn't be a reason for people coding to IE6 standards...

Actually, they still will be; and they'll still be coding for IE7 too.  Oh, and most importantly, there's tons of content that's already developed that will still be there.

@Thomas Tallyce - it's called Trident.  Trident is more than just the layout and rendering engine bit - it's the parser, core storage, object model, etc.

# Convergence not divergence

Tuesday, January 22, 2008 6:40 AM by George Ornbo

I'm not too sure about this approach. It is going down the route of user agent specific code at a time when we are getting very close to being able to code using standards based code alone.

Coding sites properly is the responsibility of the developer. Developers are not just coding for IE on Windows, but many other browsers and platforms. To date IE has been the worst browser in the market, even though it has the largest market share. I'm enthused by what I'm hear coming out of the IE8 camp, but surely you want to encourage convergence rather than divergence?

The standards are written and accepted by the community and almost all browser manufacturers. Why introduce new criteria outside of these? Sticking to standards will also allow IE to put the responsibility back on developers to use an accepted and standard way of creating websites.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:41 AM by Ajo

I think it would be the best (as mentioned before) to leave the quirks mode alone, since these are the 'old sites'. However the developers who did the effort to make IE7 work in normal mode are (probably) also the ones who want to make their site work with IE8. The same goed more or less for the users. Users with IE7 probably also update to IE8. The ones with IE6 or lower can use quirks mode..

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:47 AM by Thomas Tallyce

I'm afraid that, on this occasion, I agree with most of the posters here that this is a very regressive step and I think the Webstandards folk really should be ashamed of going along with this.

There may have been some layout compat problems when IE7 launched, but the world has not fallen apart, and the IE7 Trident is certainly a major improvement on IE6 Trident.

I still don't really see why this metatag 'solution' should be needed. The only sites that are really going to need serious checking of layout are the kind of sites that are done by people who understand CSS and therefore more likely to be actively maintained.

People using table tags and other stuff are surely not likely to be affected for the simple reason that IE already implements all of the basics, and the vast majority of CSS stuff to the standards, with only more complex floats and other more complex areas less consistently supported (but again, IE7 Trident got alot of that closure to other browser vendors' implementations).

I think we just have to accept within the web development community that some breakage will occur as the web moves on. The same has happened in the security and other arenas. Otherwise we face the bad old world of browser sniffing, which surely we all tried to move away from years ago?

And also, how does this solve the issue of maintaining support for older browsers? Do we now have to maintain two copies of a site, one with the meta tag and one without? I'd say the use of the odd CSS hack is far preferable to that kind of situation.

I really hope that other browser vendors do not implement that and that the IE team think very seriously again about the consequences of implementing this. Compatibility is important but we have to accept that some breakage CAN occur as the web is a constantly evolving medium, and that people have to accept that.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:50 AM by Stifu

cwilso: thanks for having taken the time to answer, despite all the negativity. ;)

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:57 AM by Simp's

MS, please reconsider your position ! We want a standard IE8 !

Let's have the IE8 Standards mode on by default.

Having IE7 standards mode on by default so as not to break older uncompliant sites is nonsense. If IE7 broke so many sites when it came out they are either still broken with that engine or have been fixed, most of the time by using conditional comments.

What's the point of coming up with standards solutions to call in IE specific CSS if there useless in IE8 ?

Please don't do it !

<!--[if !IE]> <-->

<style type="text/css" title="Default" media="screen, projection">

/* <![CDATA[ \*/

@import "styles.css";

/* ]]> */

</style>

<!-- <![endif]-->

<!--[if gte IE 6]>

<link rel="stylesheet" type="text/css" href="styles.css" media="screen, projection" title="Default" />

<![if lte IE 7]><link rel="stylesheet" type="text/css" href="ie/styles.css" media="screen, projection" title="Default" /><![endif]>

<![endif]-->

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:03 AM by David Naylor

George Ornbo: "I'm not too sure about this approach. It is going down the route of user agent specific code at a time when we are getting very close to being able to code using standards based code alone."

I completely agree. We're so close now, and they decide to go and destroy it all?

Thomas Tallyce: "I really hope that other browser vendors do not implement that and that the IE team think very seriously again about the consequences of implementing this. Compatibility is important but we have to accept that some breakage CAN occur as the web is a constantly evolving medium, and that people have to accept that."

You nailed it there.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:09 AM by rc

@cwilso

It's all good, but what you are going to do with future versions of IE? One more "extra mode" in IE 9, then again a new rendering mode in IE 10, and so on? Can you answer the question?

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:24 AM by Bart

@cwilco: Basically, you're rewarding those web developers who've done it wrong and don't care about standards; validating them in their pigheaded ways by smothering any chance of a single standards-based internet.

The internet as it exists right now is still in its infant-years; and you're weighing it down with a soon-to-be infinite amount of baggage to carry around for the rest of its days.

Worst. Decision. Ever.

(Also, I have to say that the badly named web standards project has made itself quite impossible by supporting and advocating this farce. I hope its members realize that...)

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:34 AM by Mo

Congratulations, it's definitely the best solution for the time being.

But what makes me afraid is the fact that you don't see it as a temporary solution for IE8, but even want other browser vendors to adopt it. Which would mean you're breaking the web, but in another way.

Please let this be a solution only for IE8. As soon as 90% of all pages on the web are standards compliant, release IE9, which will only have one rendering engine: the most standards compliant one.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:38 AM by Thomas Tallyce

@bart

I don't think it's fair to call non-standardista developers pigheaded - one of the real benefits of the web is the low barrier to entry. The fact that we do have standards means that those more advanced developers can leverage these to take advantage of them. But if we all had to write everything to 100% perfect code from the standard, the web wouldn't be nearly as big as it is now because no-one would be able to start so easily. (I agree with your other points though.)

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:44 AM by macx

What a shame, MS! Just implement a full support of web standards and no web develoeper has to take care about the compatibility after you send out updates from your browser. Wake up!

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:52 AM by JackP

Chris,

thanks for listening.

As I said on ALA, I'd prefer it if it went according to the whole DOCTYPE thing, but I understand why you've felt the need to go down this route.

And since you've come up with something that can be implemented within standards, using a meta tag - like I requested on your blog - that won't break anything else, I'm content with that.

It really does feel like MS have listened, here. Maybe it's not the answer that would have been ideal (for standards advocates) but it's a compromise we (for the most part) can live with; and that you can live with.

So big thanks to yourselves and to WaSP for this.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:17 AM by billybob

All your good work on IE8 with the ACID test has been undone by this one move.  I cannot believe you are placing the interests of 200 websites over that of millions and millions that actually take the time to adhere to standards.

Today is a sad day for the web, there are many of us that are truly disappointed with your attitude.  Same old Microsoft.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:26 AM by Joe

Man, there are some insane posters in these comments.  IE (like other browsers) are client / server systems where HTTP/HTML is the client/server protocol.  If servers support a specific version of that protocol then you need to support that version by default and opt-in to new behavior - just like any client/server system.

I would have thought this was obvious.  End users don't really care about web standards.  Nor should they.  Web Standards are there to make the server programmers' lives easier when dealing with more than one client.  

Most of comments sound like they are written by programmers with no real awareness of production systems.  Standards support is a medium/long term cost saver for businesses.  Changing the default behavior in a browser is a short term expense - it will require development effort to fix immediately.  This is therefore the right choice - you still get the best of both worlds.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:29 AM by Ian

Sorry, while I understand your reasoning I think the result of that thought process is astonishingly bad.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:30 AM by Skorpnok

What a load of crap this is, whingey, whiney, moomy, poopy, crap. "Oh, we broke lots of websites last time and people got over it and nothing awful happened, but we don't want to do it again because we're so worried for our customers". Yeah right. How about "we want to make sure that people have to code specifically for out browser, so we keep adding proprietary crap into it"? You're a mess Microsoft, from your crappo Vista right down to your poopy IE.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:45 AM by Wraith Daquell

I commend Microsoft for such a move.

For those that wonder what sort of rendering techniques Microsoft will use in future browsers, the answer is quite simple: it will use the same Meta tag. If the site renders fine without it, then good. If you add the tag and the site renders great, you should never have to change it. If you want to support the latest/greatest standards, just bump the number up in the tag.

Eventually, when sites are updated more completely, this sort of behavior will be dropped. For now, it's the only way to go. Developers, please do not be so closed-minded as to suppose that your sites are the only important ones. Many of the top vendors do not support standards mode, and it would be in poor taste to break their sites.

(and remember that the Meta tag is not proprietary, and than other browsers have added *real* proprietary markup to their rendering engines)

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:46 AM by steppres

I really don't understand this at all. Every major site targets standards compliant browsers, and uses conditional comments to hack together suitable layouts for IE. How exactly is making IE8 standards compliant going to "break the web"? It just doesn't make any sense, we can already target older version of IE (and the current mashup, IE7) with conditional comments, and it's not like IE8 is just going to drop with not warning. If HTML monkeys are going to have to mess with the code to get IE8 to run in this ALL NEW standards compliant mode, why not just use conditional comments to target IE7 and code in a compliant fashion? This new scheme is just ridiculous. So you're trying to say that IE7 standards compliant mode is actually just IE7 mode? And in how many versions time is IE going to evolve into this wonderous standards compliant (I'm getting sick of saying that) browser that MS has kept dangling in front of us? Jesus, this makes me sick.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:51 AM by debasys

I beg you, please make the browser standards compliant.

Website publishers have a responsibility, to check their web pages from time to time , with new browser versions coming. So will they, with IE8, and will rectify if their site breaks. You don't have to bother on behalf of web developers.

And browser vendors also have one responsibility. To make a standards-compliant browser.

So do it. Just do it. I beg you.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:51 AM by Drew

I've been a web developer for about 4 years now, and IE has been the cause of many extra hours and days of work.  I keep hoping that maybe in the next release you'll get it right.  I can code one web site, and it'll work... IE, Firefox, Safari, whatever... but no. Yet again, I have to jump through special hoops for IE.

Like many people have said here in the comments, Firefox and Safari don't have any "special modes", and they're grabbing market share just fine with standards compliance.

I understand the need to be backwards compatible, so please hear this suggestion!

Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 "super standards" (this should be called standards mode) mode.  If, namely, a company or business is running on old software, they can upgrade to IE8, and change the OPTION to run as it used to.  But for all the millions of home users out there, let them run the latest and greatest.  Why do I have to tell/make them (in the way of a meta tag) to be current?  Why do all the web developers in the world have to "be in the know" and know to put an IE8 meta tag in?  Why can't the few businesses that still need IE5.5 modes be notified to change the OPTION for IE7 mode?  The people that need backwards compatibility will be "very aware" of how an update will affect their company anyway... why can't this be their burden and not everyone elses?

As others have said, when does this end?  What tags will IE9 require?  How will they differ from the IE8 tags? The IE7 tags? The IE6 tags? etc, etc...

This sucks...

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:51 AM by Drew

I've been a web developer for about 4 years now, and IE has been the cause of many extra hours and days of work.  I keep hoping that maybe in the next release you'll get it right.  I can code one web site, and it'll work... IE, Firefox, Safari, whatever... but no. Yet again, I have to jump through special hoops for IE.

Like many people have said here in the comments, Firefox and Safari don't have any "special modes", and they're grabbing market share just fine with standards compliance.

I understand the need to be backwards compatible, so please hear this suggestion!

Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 "super standards" (this should be called standards mode) mode.  If, namely, a company or business is running on old software, they can upgrade to IE8, and change the OPTION to run as it used to.  But for all the millions of home users out there, let them run the latest and greatest.  Why do I have to tell/make them (in the way of a meta tag) to be current?  Why do all the web developers in the world have to "be in the know" and know to put an IE8 meta tag in?  Why can't the few businesses that still need IE5.5 modes be notified to change the OPTION for IE7 mode?  The people that need backwards compatibility will be "very aware" of how an update will affect their company anyway... why can't this be their burden and not everyone elses?

As others have said, when does this end?  What tags will IE9 require?  How will they differ from the IE8 tags? The IE7 tags? The IE6 tags? etc, etc...

This sucks...

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:52 AM by Stuart Johnston

This appears to be a Microsoft centric solution to a Microsoft centric problem which is exasperated by years of poor web authoring.  Good web authoring is timeless regardless of what user agents come and go.  Web authors who reley on poor user agents to judge visual feedback keep the good guys in jobs.  

This issue has little to do with web development and more to do with Microsoft's lack of willingness to engage.  Suggest: push out a version of MS Firefox - save some money and everyone's time.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:52 AM by SvenGroot

I have to add my vote that this is a bad idea.

Some of you guys know me, I develop add-ins for IE, I love IE. This is a bad idea.

It means that standards-compliant sites that exist today won't work as they should in IE8. Standards mode should be the default. You've set the precedent now with IE7 that people shouldn't rely on browser bugs. Continue that precedent.

The rule for sites should become: if it's a browser (or a version of a browser) I don't know, I give them the most standards-compliant version of my content I have.

IE more than any other browser has the power to enforce this.

Please reconsider.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:54 AM by SvenGroot

How about this: give us standards mode by default for application/xhtml+xml documents?

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:57 AM by lockoom

So, and now you guys expect that with this super-duper meta tag some websites wont be:

>> "opted in” to standards mode by a tool that generated their content << by accident. You guys have lost connection to reality. Dream on.

BTW: Look at your market share as it's probably the last time you see it that high.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:02 AM by David Zülke

Why not just switch on this standards mode for XHTML pages that are served as application/xhtml+xml ? Everyone can do that with an apache directive or a one-liner in his PHP/ASP/blah code. That breaks absolutely no BC because IE today doesn't understand that one. Just be sure to send the same in the Accept request header, and all is fine. Switch it on for HTML5 and all following standards, too, and you don't have any BC nightmare.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:20 AM by disgusted

'“Standards mode” remains the same as IE7, and compatible with current content.'

(So it's not REALLY standards mode is it? It's just IE7 mode)

'If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element.'

(Oh great, more needless screwing around for another version of IE! This is exactly what we all wanted! Hurrah for the IE Team! At this rate, by the time your browser is standards compliant we'll all be emotionless robots and living in Hyperspace.)

THANK YOU so much for this, I was warming to the idea of IE8, but this post has shocked me back to reality. Some advice; just keep these "revelations" to yourselves from now on and stop antagonizing 'page developers' with these  updates. Final note on how not to break the web; stop developing IE8. Just let IE die. It's over people.

# Two modes are enough

Tuesday, January 22, 2008 9:24 AM by Mikko Rantalainen

The web content authors that opted in to "standards mode" should author to the standards or fall back to quirks mode. The quirks mode should mean "do what I mean, not what I wrote" a.k.a. "please, try to fix it for me". Standards mode should be about standards. The meta workaround should be reserved for those that want to use the "standards" mode (IE7 mode?).

# Code to standards, not browsers

Tuesday, January 22, 2008 9:28 AM by Blaise Kal

I want to code to standards, not browser versions.

The ideal web is a web where you don’t have to think about differences between browsers – because there are none. Now Microsoft is moving away from that ideal by introducing another rendering trigger, while there should be only one.

A strict doctype should trigger standard-compliant rendering for all browsers. Until IE is not fully compliant (hopefully that won’t take too long), I’m all for <!—[if IE N]>.

# Standards mode should be OPT-OUT instead of OPT-IN!

Tuesday, January 22, 2008 9:31 AM by SchizoDuckie

What i think wóuld be a good idea is to turn this exactly around: add a meta tag or http header to sites that need to be rendered by IE8 in 'crappy-mode', 'ie6 mode' or 'ie7 mode' and kick it into standards compliant mode by default. That way, the rest of the web will work as it was once visioned and you only need to adjust whole webservers serving for old sites. One could upgrade to IE8 ánd you can still trigger quirksmode if neccesary.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:36 AM by James D. Schwarzmeier

Unlike the majority of other posters here, I have to say that I agree with this approach.  I currently wok on a team that maintains a suite 20 large web-based applications.  If I had to guess, I would say there's serveral (if not 10s) of millions of lines of code.  If the layout engine radically changed, it would literally take years to fully test everything and update everything to be compatible.  It's not that we're lazy or "behind the times" -- it's just that the sheer volume of code makes it impossible to simply turn on a dime.

No, this is a VERY GOOD THING.  Once we start seeing IE8 betas come out, I guarantee our new pages will be as standards-compliant as possible.  But it's kinda pretentious to see everyone here saying "so what?".  If it breaks mission-critical code, it IS a big deal!

The big thing is that this is a cross-browser solution, and will become neccesary for ALL browsers in the future.  Many like to act that it's somehow a matter of IE being non-standards compliant and other browsers being standards-compliant.  Actually, standards continue to evolve and every browser is at a different point in supporting the latest standards (Firefox 2, the current official release, doesn't support ACID2).  When other browsers begin supporting large chunks of CSS3 or the next major release of ECMAScript or whatever other web technologies come down the line, they too will need version targeting.

# Interop�rabilit� et r�trocompatibilit� avec Internet Explorer 8 : � vos meta !

Tuesday, January 22, 2008 9:36 AM by Victor BRITO - Webmaster

Moralit� : renseignez sans erreur de frappe ni oubli une DTD HTML 4 ou XHTML et pensez aux meta et aux en-t�tes c�t� serveur et vous ferez avancer durablement l'impl�mentation des standards.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:43 AM by Bart

One Mozilla developer's response to this:

http://weblogs.mozillazine.org/roc/archives/2008/01/post_2.html

http://weblogs.mozillazine.org/roc/archives/2008/01/slipping_the_ba.html

Should make interesting reading for pretty much everyone here. I very much suspect Opera and Safari devs agree completely with him.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:57 AM by SchizoDuckie

@ James D. Schwarzmeier that is a VERY selfish post you're making there. The fact that you don't want to update your crappy old code makes us *ALL* have to adjust our way of working for the rest of our lives? LOL And then once you finally update your code to IE 8, IE 10 might come out and we have to re-invent some other way?

NO! THAT is the BAD thing!

There SHOULD be an option to trigger IE 8 to use old rendering engines but it should be disabled by DEFAULT and you should have to adjust your old crappy code to trigger that so that old stuff can be fased out.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:06 AM by oogust

I strongly believe that this is a bad idea.

You cant make things future compatible when building a site. You simply have to suck up you code and fix it for new releases.

Yet another step backwards for Microsoft. Why don't you just let it use the word rendering engine?

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:08 AM by Ronald

So you are planning to give webdevelopers YET ANOTHER option to test. I'm sure everybody who is forced to work with IE is delighted.

Ship Firefox by default in Windows 7, this will certainly be the cheaper option for both micosoft and the world over another testpath and development.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:13 AM by AD

You are not enablers, you are hinderers.  You will look back with regret on these decisions.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:27 AM by Feeling angry and betrayed

Reading over the post and comments I remain unconvinced of this approach. Personally it seems like the best way is to just have a standards and quirks mode in IE8 and have quirks render like IE7 while standards mode is the true standards mode, no opt in or version targeting. Since there was already the rush as people with poorly coded sites (either through their own fault or because they inherited a behemoth with millions of pages) found that IE7 didn't have the same faults of IE6 and people fixed their work, I think that IE8 using the IE7 rendering mode for its quirks mode won't cause any real problem.

The web is supposed to keep evolving and even self taught people should have picked up on this and learned some forward thinking code writing. It's so ridiculous to even be here, you guys were on the verge of being hero's fixing the web and then we suddenly get this post saying "no, sorry, you have to recode for our special needs to fix the web."

Internet Explorer is not a beautiful and unique snowflake, it is not some princess that deserves special treatment. We've already had to treat it specially for long enough and we are getting fed up with it. We were happy when IE8 rendered the ACID2 test, but now finding out it takes special conditions that mean IE8 doesn't actually pass the test is like a kick in the teeth of our slowly starting to smile face.

Do the right thing for once and shame on the WaSP for going along with this.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:29 AM by Chris Cox

Could we at least have actual Standards Mode triggered by either using HTML5 or using XHTML1.1+ with application/xhtml+xml?

That would at least give us a method by which we could activate it using completely compliant markup, which wouldn't break previous versions because they don't support application/xhtml+xml, ergo anyone who uses it is resigned to browser-sniffing anyway.

There should be a clearly-defined divide between standards and quirks, and it should mean just that. If your browser is capable of supporting standards, it should draw the line at those standards, with everything else consigned to the same category as unmaintained HTML3 tag soup.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:30 AM by Stifu

I'm still confused as of why other browser vendors could possibly be interested in also supporting this meta tag.

Valid sites already work fine with these browsers, and they already have Quirks mode for bad sites. What's the point?

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:34 AM by loggin

I think all the standista's here need to spend a day volunteering for their local job club/back to work charities to get back to reality, you'll find most of the machines in these places have been donated and are really quite dilapidated, just 3 years ago I helped a charity get 20 or so Win95 machines on their network so the disabled/unemployed could get on the net to search for work.

Now I'm not sure about how best to implement a backwards compatible mode in IE8, and whilst I want to be able to code one way for all it strikes me as ignorance and arrogance as to the way it seems that people seem to think that once IE8 comes out that they can drop support for older browsers (IE6 and down), I'm afraid to say that in the most part we're stuck with doing crappy work around's for those browsers for a good few years yet.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:36 AM by Marcelo Wolfgang

I think that you worsening my worst nightmare, so now we have to code for Firefox and fix the layout for ie6 and ie7 and now ie8. I at least that ie8 will not need fixes if the code works right at firefox ... but I wouldn't bet on it.

Can't you make the upgrade a requirement on ie6 and ie7 at least ?

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:42 AM by Eric

Why changing the current way? the brouwser should comply to the standards and not otherwise. In this case i'd rather see IE8 with a new way of parsing a website and not using new tags to use other rendering sources.

@Microsoft; do it good for once... make your browser smaller and more strict! :)

# re: Joe is right

Tuesday, January 22, 2008 10:44 AM by George Jones

Joe has it right:

>> If servers support a specific version of that protocol then you need to support that version by default and opt-in to new behavior - just like any client/server system.

The cries for "make it work in super standards mode by default" must be coming from people who prefer to make their money by charging their clients to fix their sites when a new browser version becomes popular.

I think the meta tag is a good solution.  It lets your old code and pages continue working, while you can embrace the standards for new development.   Then when **you** determine that your website's visitors have moved away from an old browser, you can update that code when you feel like it, instead of being thrown into a panic whenever IE++ happens.

One counter-argument could be that it hurts alternative browsers by encouraging coding to the old quirks mode, not using a doc type, not using the meta tag, and then users complain when it doesn't render properly in Firefox/Safari/Whatever.  My response is - how is this MS's fault?  It is obviously the web developer's fault in this case, and he is the one who will look bad when his page breaks in other browsers.  Second point - how is this different than the current situation?  And how are those browsers faring right now?

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:50 AM by billybob

"One counter-argument could be that it hurts alternative browsers by encouraging coding to the old quirks mode, not using a doc type, not using the meta tag, and then users complain when it doesn't render properly in Firefox/Safari/Whatever.  My response is - how is this MS's fault?"

Because MS promoted MSHTML above standards compliant HTML for years in an attempt to dominate the web.  Not to mention all the ActiveX that still exists.

You could reverse the question and ask why is it everyone elses problem when Microsoft cannot render to the standards, and why should we have to clean up because everything prior to IE6 is a total mess.  Remember the kind of rubbish Word used to output as HTML?  It was designed to kill Netscape.  Microsoft only seems to like standards when they are dictating them.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:02 AM by Chris

So, just to be clear on this, if I were to use

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

... this would cause quirks mode in IE 5, 6 and 7, correct? If so, then adding this new <meta> element would trigger standards mode in IE 8? If that is the case, then I can live with that, knowing that 5, 6 and 7 will use the same quirks that I already know about.

I'm also all for other vendors implementing this, as then it wouldn't matter about the doctype triggering any quirks mode they have, as this could override that, allowing me to only have to deal with one standards mode, and older IE's quirks mode, because I'm confident in alternative browser users will more likely keep their software up to date.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:02 AM by Chyld Medford

Well, I think you're trying to make the best out of a bad situation.  I applaud your efforts.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:07 AM by ccatto

Hey Now Chris,

Great Post, informative about IE8. I really enjoy the comments & how strongly people feel about the topic.

Patiently waiting for IE8,

Catto

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:08 AM by Martin

To questions:

1: Can you install IE8 together with your existing ie6/7 so customers can keep ie6 for thoose sites(And hp printers) that don't work with newer versions, while still using a mordern browser for normal surfing. (Just telling our users to upgrade will be much more easy, if they can still keep the old browser, if they need it for some other sites)

2:

Will super standard mode refuse to display a page(Or at least show a warning) if the content is not valid acording to the choosen dtd doc type? I think this is importent, because else some people will trigger super standard mode and still feed ie8 invalid html, and this might force you to keep handling bad html, thus preventing further bug fixes because that might breake some pages. Remember that the reason we have this html mess is that netscape started handling bad html, and ie then needed to have the same behaveour. This must stop, and Super standard mode is a good place to stop it, because it is opt in, and thus will not break existing pages

3: Will microsoft do anything to only publish valid html/xhtml? It is diffucult to argue for implementing standards when microsoft themself don't even do it.

4: (Just a please). Will you not fix the bug in ie7 that sometimes prevent download of files. It is described many places on the net(Such as here:

http://joseph.randomnetworks.com/archives/2004/10/01/making-ie-accept-file-downloads). (Yes the bug is still present in ie7, but how to prevent it seems to be voodoo magic, depending on your content type, pragma and attachment-type header).

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:08 AM by Fallen

@loggin

I really don't see where you're coming from. No one has suggested that we just suddenly stop writing the code that will deal with older browsers that are still in use, the only thing people are against is suddenly needing yet another piece of code to make IE work the way it's supposed to work in the first place. I know I suffer no disconnect from reality as you seem more than happy to assume exists in everyone who doesn't share your world view. I've been working with some friends to get some disabled people computers/laptops so that they can take notes and attend college to hopefully get a desk job they can handle (disabled by injuries that now mean they can't continue in the lines of work they'd been trained for). I'm fully aware of what old and damaged machines get donated for these types of causes, but there's also no reason why making IE8 automatically default to A truly standards compliant mode would affect any of these people. The absolute worst (web related) thing I can come up with is these people getting a job and a new computer with IE8 and suddenly seeing the web better than it appeared before, oh wow, that's so bad... or not.

You can't tell me that when web stats show that IE6 has 0.0% of the market share that you expect us to keep coding for all its flaws simply because you know some charities have older machines. It's at 0.0% for a reason, the likelihood of even an old machine somehow still using IE6 coming across your site is too ridiculously small to justify spending time coding to IE6. It's not like we spend time coding for IE 3 and 4 today, it's pretty rare to see a new site go up coded to IE5 too. I can't think of any sites I've seen go up designed to work on IE5, but based on what you've said all these sites are made by ignorant of arrogant people not thinking about their users since they're not actively supporting a browser 2 versions out of date and one that holds 0.0% of the market share.

With things like the IE7 deployment kit (I believe I heard about an automatic update sometime too) and IE8 coming out I don't see IE6 a measurable market share in the future, and when the market share is that low there's no point to add 50% (yes assuming that development will be faster with only worrying about IE7 should IE8 work as advertised) to your cost/time to develop a site to support a user group too small to measure.

-----

The whole work as advertised thing mixed with this current post here makes me wonder though, what else will not be right with IE8, and how much information can we trust coming from here. It would be great to be able to start trusting the IE team again, and I was starting to, but this sort of wrecks what trust was slowly being built. Hope you guys can make this right by release time and actually have something we developers can trust and work on.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:20 AM by Counter to George Jones

I work at a slightly odd place, and as is, and based on the rules of the place to use the latest and greatest tech on our sites I'll have to code in this new tag to every site, but wouldn't have to do anything if this tag wasn't required. I also don't see how anyone working within the standards like I do would have to recode anything if IE8 just worked like other browsers. Maybe you care to explain how IE8 finally working to the standard without an opt in would require standards compliant coders to suddenly have to recode their sites and charge for it? There's no reason or logic to your point as somehow you're coming up with a result of "good code + working browser = broken site + need to recode." I'm truly lost as to what's going on in your mind, please explain how IE8 working right could possible mean that the standista's need to recode their sites. I count myself among them and have been one of the people asking for the super standards mode to be the default, but it seems like you know something I don't. I want in on the secret so I can prepare my sites properly.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:20 AM by loggin

@Fallen

You dont code for IE5 ? ? Our company does, it's still part of our minimum browser requirements and we'll probably be dropping 5 when you drop 6, lol. That said I'll agree with you that when statistics get so low that they're immeasurable browser support will be removed. However we probably see more oddities than most as we deal with some pretty big organisations where there isn't a week go by where one of them isn't in the national media

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:23 AM by Mephiles

Bloody hell everyone! All you have to do is put <meta http-equiv="X-UA-Compatible" content="IE=8" /> and you're done!

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:25 AM by Martin

<meta http-equiv="X-UA-Compatible" content="IE=8" />

is not valid html, and we have not so far seen anything from the ie group saying that they would handle xhtml. But one can hope :}

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:25 AM by Rob

Here we go again.  Another hack for Microsoft.  We have to fix the web for poor, poor Microsoft who is incapable of fixing its own problems.  

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:30 AM by j rose

I agree that quirks mode should be turned on with the meta tag- not standards mode.

If some non-standards sites are 'broken'- all they have to do is add a meta tag... no big deal.

Remember the whole Flash fiasco (which is still on-going)? It's not too different.  People will have to go and add an EASIER fix than with the Flash issue to get their site to trigger quirks mode.

It's time to move forward IE team.  You are holding things back. It's this kind of stuff that's caused people to move to other browsers.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:32 AM by Chris

I forgot to add in my previous comment:

http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7199332

I am assuming that IE 8 will be really standards compliment, in terms of HTML, CSS, JavaScript and DOM 1 and 2? If there are still bugs / missing features, then that's only going to make things more complicated.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:37 AM by Fallen

I suppose if there's that many people still using IE5 then it's our unique position that lets us ignore IE5 users. Outside of the serious information we pretty much put everything on the web since we're supposed to be open, but in the end the sites are just intended to be used by our employees at various branches and it doesn't matter if someone outside the company can't see a page because they're using IE5, though according to our tracking no one has ever visited using IE5.

Based on our openness policies I'll probably have to work on sites for IE5 compliance if anyone hits them and complains about it, but it hasn't happened yet, and after close to 2 years I don't see it happening at all at this point.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:38 AM by Mark Wisecarver

Wow! Thanks a bunch Chris!

I've been working with these standards for years, commerce sites mostly, and have remained faithful to Msft.

This is an excellent article!

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:38 AM by Ian

I say leave the meta tag out.

I'm I the only one who build sites with specific css for ie?

Example:

<!--[if IE 6]>

<link href="inc/css/ie6.css" rel="stylesheet" type="text/css" />

<![endif]-->

<!--[if IE 7]>

<link href="inc/css/ie7.css" rel="stylesheet" type="text/css" />

<![endif]-->

If ie8 comes out, then the code for ie6 and 7 won't effect it anyway.

And if ie8 does break some websites, then us web designers can charge for the fixes anyway. There's no reason a company with interest in the internet would have a site that old anyway.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:41 AM by Jeff Schiller

Chris, some simple questions:

1) What will IE8 do if it sees "IE=9"?  Ignore the page?  Do best-effort (IE8 super standards mode, presumably)?  Quirks mode?

2) Since IE is tied so closely to the OS and I cannot run multiple versions, does this mean Microsoft is committed to supporting all IE rendering modes forever?  You're currently at 3 and counting...  Or do I have to go down the vmware route?

3) Since IE7- will ignore this meta tag, what are the recommended practices for those people who want to take advantage of IE8's "super standards" mode without locking out older users?  User agent sniffing until IE8 footprint >> IE7- footprint?

I, for one, have intentions of only using IE=edge (which is essentially what all other browser do atm).

Thanks,

Jeff

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:47 AM by loggin

@Fallen

we're still seeing about 15,000 hits a month for IE5 across the board for all our sites, although to be fair that's still only about 1% of browser usage, so to be honest its probably not going to be long before we do drop support for it

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:51 AM by AndyC

From an idealistic point of view, this is the worst thing you could possibly ever do. It's forcing us to accept a world in which browsers won't ever be perfect and expecting people to understand that even when they all follow the spec, some minor discrepancy in the interpretaion might lead them to render content subtly differently. God forbid that anybody ever took the pragmatic approach and implemented a solution which will once and for all allow compliant sites to be developed quickly without ever having to worry about breaking pages that'll never be updated, like it or not.

Your guys are clearly all nuts. And I appear to have overdosed on sarcasm this morning.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:03 PM by cwilso

@rc: yes, until such time as the deltas were too small to cause any backward compatibility problems (e.g., only additive, and no-one uses them a la child selectors to hack).  In short, yes.

@Bart: "@cwilco: Basically, you're rewarding those web developers who've done it wrong and don't care about standards; " no, you have it completely wrong.  We are rewarding our users by not breaking their web sites.  We are doing this by continuing to support both those misled developers who coded only to IE *as well as those who coded to standards, and then put hacks or conditional content of any kind in for IE*.  This latter category is an extremely large one, as nearly all web developers today care how IE renders their content.  (if you don't, well, what are you doing *here*?)  

@SvenGroot: the number of standards-compliant sites (meaning, sites developed to ideal standards, not how browsers actually interpret them) are dwarfed by the sites that are tweaked to work in specific versions of browsers.  Yes, I do want that to go away; to not cause problems in the meantime, we're asking developers to tell us what version of behavior they expect.

@SvenGroot, @David Zülke: of course, for content that we don't have backward compatibility concerns for (a new DOCTYPE or MIME type, e.g.), we can automatically opt in.

@Blaise Kal: If you truly want to "develop to standards", then I suggest you develop to the ideal standard, then opt in to the current IE version when you insert any tweaks.  If you don't plan to insert any tweaks, and leave IE users with a broken experience on your sites until IE works properly, then insert the "edge" meta value.

@James D. Schwarzmeier, and other pragmatists: thank you.  Nice to see real-world experience agreeing.

@Marcelo Wolfgang:  Why don't you just put in the IE8 meta element, and then code to standards?

@Martin: users do not want to switch back and forth between browser versions to use the web.  They want One Web.  By default, they want it to Just Work.

So 1) no, 2) no, we won't enforce validation - no one does today, 3) as a company, Microsoft has progressively been moving to more valid code, but that's not my bailiwick, and 4) I don't know about this bug in particular, I'll pass it along.

@Jeff Schiller: 1) If we see IE=9, IE8 will run in IE8 standards mode ("best available"), 2) "Committed" and "forever" are unforgiving words, so no; but we are intending to, 3) write to standards, insert IE8 meta tag, and then use conditional commenting to fix up for IE<8.

Please DO NOT use "edge" for production web pages, UNLESS you have no IE-specific fixups or other code in the page at all.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:06 PM by cwilso

@AndyC: careful, you're in danger of not being recognized as sarcastic in this crowd.  Thanks for the LOL, though.  :)

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:10 PM by Derek Kent

I think it's time to abandon IE and start over with something new, using the improved standards mode by default and actually maintaining it this time.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:11 PM by Xepol

@EricLaw --

"If only it were that easy..."

No one said the transition will be easy, but it needs to happen to move forward properly.  IE is become a huge monument to its own mistakes, and I am guessing harder and harder to support with every version because of it.  People will bitch no matter what you do, so you might as well do the right thing and jump to full standards support and drop the increasingly impossible to maintain code.

Besides, it can be that easy in the sense that if you just do it, its done, and in the long run, it will probably be easier that trying to figure out how to support your old mistakes.

"Pointing fingers does nothing to help the end user, who just wants the yesterday's content to keep working."

Ya, unfortunately, it is at the expense of tommorows content which ALSO does not help consumers.  Sooner or later, something has to give.

"Even assuming that all sites on the Internet have active development teams (a large and incorrect assumption), "

Assuming that all sites on the internet have viewers is also a flawed assumption.  If they have enough viewers tho, someone will fix it, if only to keep drawing people to their site to drive their adsense revenues.

Thanks to link wandering while bored, I can't count the number of webpages that I've stumbled across that has not been updated in YEARS.  Guess how relevant&useful they were?

Chances are, if the site suddenly looks ugly they'll still get their 12 visitors a year.

# What About IE9?

Tuesday, January 22, 2008 12:15 PM by len

Ok, glad to finally know the trigger.

But, what will this look like when IE9 comes out?

<meta http-equiv="X-UA-Compatible" content="IE=8;IE=9" />  ?

Also not mentioned, is *what* this affects, is this purely for better CSS? does it change the DOM Methods to work now too? And more specifically, if it doesn't, do I use the correct DOM Methods to update CSS properties now or do I use the broken methods to update the correct CSS properties now?

Seriously missing info on this blog about JavaScript and DOM changes, fixes, and implementations in IE8.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:15 PM by Tomal

Well did Opera 9 and FIrefox 3 introduced such metatags for their standards compatibility?? Then why is IE8 adding such a stupid metatag?? I mean at one time you are making standards compliance and then at the same time you are making something that still gives incentives website developers to continue making non standard complaint websites. You are not encouraging the web to be standards complaint.

If you are thinking about backward compatibility, then the web will not advance. It is because of MS's stupid decision not to support standards at the first place that there are so many non standard complaint websites. Now again MS is doing the same thing which is forcing a developer to do something that many developers will not notice now. Yeah when IE7 came out, some websites were broken. Are they still broken now? Force IE8 to support standards mode by default and educate people about web standards .... yeah many websites will break but ultimately in the long run it will benefit the web.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:19 PM by Florian Purucker

I am really happy that Microsoft is now trying to adopt web standards into their products. But I have a suggestion that would improve IE8 even further. Instead of requiring every website that is standard compliant to add a new meta tag that ist IE8 specific, please only require old websites for IE6 to add a tag like IE=6. This will also solve the problem but IE8 will be able to treat millions of standard compliant websites correctly without modification.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:24 PM by Jeff Schiller

Thanks Chris.  One follow-up question on your answers to mine.

If Microsoft is not committed to supporting IE7 quirks mode "forever", than when will you pull the plug?  When you see the number of pages drop below a certain percentage?  Same question applies to "IE8 super standards" mode.

Hypothetically, if IE11 doesn't support anything lower than IE9, what would happen if it saw "IE=8"?  This is an important question - if I, as an author, include "IE=8" in my meta tag, will I find 5 years from now that Microsoft browsers will fail to render it in exactly IE=8 mode?  What will it do?  

To me, this is the incentive to use "IE=edge" without any IE-specific quirks in my page (that is, if I can get away with it).

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:24 PM by Joseph E. Davis

How will components that get plugged into pages handle this header setting? For example, a javascript library that needs to work around browser specific bugs. Will the library be able to find out what compatibility mode the browser is in?

Same issue with a web service that’s including html in a page via ajax. Currently these components can look at the user agent – will the user agent include compatibility mode information?

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:36 PM by toby johnson

This is riduculous. Please stop the insanity of browser sniffing. In this new <meta> tag world of yours, who decides which browsers are "first class" and get their own acronym, versus browsers that are "Other"?

The ONLY problem here is that people who don't understand how the web works are designing web pages. If some amateur driveway mechanic destroys the engine in his F-150 because he ran it without oil, Ford doesn't take responsibility for that idiot's mistake, they tell him he should have taken it to someone that knows what they're doing.

I'll tell you exactly what will happen with this <meta> tag: Code generators and amateur designers will include "IE=edge" in their generated code to make it "future-proof" and we'll be right back where we started, and need another stupid new tag that's *really* used for compatibility mode.

<DOCTYPE> works fine when used properly. Please leave it in place and forget this <meta> nonsense. I can guarantee you none of the other browser makers will support it anyway, just like none of them have supported the <!--[lt IE 6]--> type hacks either.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:37 PM by Greg K Nicholson

Another suggestion (if it's already been mentioned here, consider this a vote): have authors label their pages with a <em>date</em> instead of a version. It would be vendor-neutral and thus less evil™.

An opt-out of real-standards mode would be preferable, and I can see standards-incompliant web developers happily adding such an opt-out if they're assured it'll be the last compatibility update they'll have to make.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:38 PM by David Naylor

Drew posted the bestest suggestion so far. I hope Chris Wilson et al considers this seriously:

"Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 "super standards" (this should be called standards mode) mode.  If, namely, a company or business is running on old software, they can upgrade to IE8, and change the OPTION to run as it used to.  But for all the millions of home users out there, let them run the latest and greatest.  Why do I have to tell/make them (in the way of a meta tag) to be current?  Why do all the web developers in the world have to "be in the know" and know to put an IE8 meta tag in?  Why can't the few businesses that still need IE5.5 modes be notified to change the OPTION for IE7 mode?  The people that need backwards compatibility will be "very aware" of how an update will affect their company anyway... why can't this be their burden and not everyone elses?"

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:38 PM by Michael Teper

It would be great to hear what kind of overhead this decision is imposing on ongoing IE development.

I see the problem you are trying to address but we won't know until IE8 ships whether development departments choose to adopt this tag.

# re: Compatibility and IE8

Tuesday, January 22, 2008 12:41 PM by Maritn

If you don't validate, does that mean that if a html page is specifying <meta http-equiv="X-UA-Compatible" content="IE=8"></meta>

you will gurentee that it will generate the same dom, in ie8 and all further versions of ie, even if the html is invalid? A yes will mean that you have to keep a parser for each new version of ie you ever develop, and a no will mean that a new version of ie might display the page different, or not at all.

About running ie6 and ie8:

I know that having 2 different versions of ie is not something users really want to have, but sometimes the alternative is worse.

Right now, there are still websites and services that don't work in ie7, and they will most likely not work in ie8 either. Users who depend on theese will have to keep using ie6, and thats not a good solution.

So having ie8 as default, and then using ie6 for special buggy sites that require it, is not a 'good' solution, but it's better then the altervative which is to keep using just ie6*.

I think a better solution, would be to bundle a complete ie6 as a plugin to ie8, similary to how firefox have a ieplus tab. Not a good solution, but better then the alternative.

*What really happend for theese users was that we installed one of the 'hacks' that allow the installation of ie6 and ie7 on the same windows xp, so if theese keep working with ie8 theres not really a big problem. But something supported would be better then theese hacks.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:00 PM by Matthew Raymond

I'm curious why Microsoft thinks this is so much better than my |bugmode| attribute proposal for HTML5. Currently, they're suggesting we use the following to specifically target IE8:

<meta http-equiv="X-UA-Compatible" content="IE=8">

With my proposed attribute, you would merely add a single attribute to your <html> element:

<html bugmode="IE8">

If you wanted to trigger different compatibility modes for different vendors, you'd just separate them with whitespace:

<html bugmode="IE8 FF3 OtherUA4">

As opposed to the Microsoft-proposed solution:

<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">

Using the best standards mode possible is implicit with |bugmode|, so if you leave it off, or if a UA doesn't recognize the rendering mode you specify, the browser would default to the best standards mode available. Using the Microsoft approach, however, forces everyone writing a standards-compliant web page to include the following "boiler plate" code:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

The advantage of the Microsoft approach, of course, is that you can take a document with the HTML5 DOCTYPE ("<!DOCTYPE HTML>") and treat it like an IE-specific HTML 4.01 document.

Of course, once nice thing about using <meta> is that if they drop the stupid "edge" idea and simply make HTML5 pages default to the best compatibility mode in the first place, the Microsofties get what they want, HTML5 doesn't have to put in a switching mechanism for Microsoft, and developers that actually code for standards don't have to include meaningless, bandwidth-sucking "boiler plate" markup.

That actually sounds like the best solution to me.

So, what do you say? Can't "<!DOCTYPE HTML>" be the "edge" switch we need, and leave the <meta> code for people who can't be bothered with standards?

P.S.: Keep in mind that anyone targeting IE8 currently has to use the <meta> element approach, so you can't argue that non-compliant pages are unfairly burdened by "boiler plate" markup.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:09 PM by Mark

This has bad idea written all over it.

Do we only need this tag for HTML4 pages and will HTML5+ be rendered in standards mode? (the real standards, not yours)

And what will IE9 do with "IE=7" and "IE=10"?

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:11 PM by GoodThings2Life

I don't understand why "Quirks Mode" can't be adapted to compensate for its existing functionality AND the "IE7" mode that exists today. This would mean that STANDARDS MODE is exactly THAT--- STANDARDS COMPLIANT--- while Quirks Mode is exactly that--- NON-STANDARD, and possibly quirky.

Just my thought on the matter, but the whole meta tag opt-in idea seems really stupid.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:16 PM by Dave Hodder

It might be useful if the File - Properties window had a field for render mode.  It would then be obvious to developers whether a document was being displayed in IE7 standards compliance mode, IE8 standards compliance mode or quirks mode.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:18 PM by Mark

So this means the ACID2 test does NOT work in IE8 because it doesn't have that tag?

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:24 PM by GoodThings2Life

As a follow up-- I think what I dislike about this approach is this:

I have to choose to add a non-standards compliant meta tag into my code to make a browser render in standards compliant mode.

Doesn't this seem like a bad idea to anyone on the IE team?

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:25 PM by David Naylor

Chris Wilson, what's to say that html editors won't include

<meta http-equiv="X-UA-Compatible" content="IE=edge">

by default in a couple of years time? You weren't expecting them to include strict doctypes...

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:34 PM by Dao

Make <!DOCTYPE html> a trigger for the IE8 mode at least, so that we can live without the stupid meta tag for a few more years. (Optimally, IE8 would be as good as Gecko/Opera/Webkit, so that the meta tag switch can actually be dropped as future updates won't break the world.)

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:38 PM by Jeffrey

@Dave Hodder

This won't work for "IE8-Render-Like-Standards-Based-Browsers" mode, but for existing Quirks vs. Standards, save this as the address for a Bookmark in IE, then click on the bookmark when you want to test a page:

javascript:alert('Page was rendered in '+((document.compatMode == 'CSS1Compat')?'Standards':'Quirks')+' mode.');

(you may need to edit this to ensure it is all on one line)

@cwilso: Like everyone else on this blog, I'm terribly worried that we're adding a layer of complexity to this process now, that is not future-forward thinking enough to handle the next versions of IE.

e.g. when IE9 or IE10 comes out, are we going to concatinate values? does IE8 see an IE9 value, and revert to quirks mode? - this will be a disaster!

Likewise, I'll bet my $MILLION USD that IE8 will NOT be 100% CSS2 compliant, and thus we are setting a trigger for an incomplete target.

There should be 2 target modes.

=====================================

renderAs: IE8

or

renderAs: IE8_OR_BETTER

=====================================

You absolutely NEED both in order to stop the problems.

IE8 would be for the way IE8 ships.  if IE9, or IE10 renders something differently (e.g. fixed something), it doesn't matter.

IE8_OR_BETTER means that it renders how IE8 renders, BUT, if loaded in IE9, IE10, etc. the WEB DEVELOPER has ACCEPTED that IE might render stuff better in the future, and has ACCEPTED that they will be altering their CSS/JavaScript to handle the differences!

The second level, is the category I am in.  I want 100% CSS/JavaScript spec compliance.  If IE9 fixes something, you're darn right I'm going to adjust my code to handle it, with pleasure, because I'll get a better end product.

And finally as mentioned here, http://weblogs.mozillazine.org/roc/archives/2008/01/post_2.html

your currently discussed approach is the best way to shoot yourself in the foot for years to come.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:47 PM by Gyrobo

I can think of nothing more detrimental to the evolution of the web as a medium than your transparent attempt to hard-code browser sniffing.

You've done more damage to forward compatibility with that one meta tag than every previous version of Internet Explorer combined.

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:50 PM by Dao

"* Hope that IE's market share continues to shrink to the point where it is significantly less relevant, and site authors don't particularly care about this behavior."

That's an interesting point. Once the market share is low enough, people won't care about this crud, which means that sites working in a modern browser but not IE7 will never work in a future IE release, either. That will be the last nail in the coffin, then.

Frankly, I can't wait for this to happen. :)

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:51 PM by Jason

@Mark - That is correct, when IE8 ships, it WILL NOT render the ACID2 test correctly.  The opt-in required to get the correct rendering will not be in the base test, thus it will fail.

Several people indicated this in every online forum imaginable. Some were laughed at, were scathed for suggesting it was lie but look whose laughing now.

The only thing that was insightful to read was this line:

"We realized that the model for web development was really “write to the standard, then test against and fix problems in the most popular browsers.”"

Politically worded, but right on target.

All Developers now develop using standards.  They load up and test their applications and sites in Firefox, or Opera, or Safari, then when ready, test in IE (6 and 7) to see what is broken and adjust/hack accordingly.  IE has fallen from its spot 3 years ago as the primary development browser, to the dead last development browser.

I just find it quite funny that the original approach of "Lets not follow specs to make it easier for the developer" has now turned into "That one single design mistake has permanently ruined our pivotal role in the browser landscape".

# re: Compatibility and IE8

Tuesday, January 22, 2008 1:57 PM by mike

Kind of silly, but thanks for the heads up. Keep us informed!

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:04 PM by Mike

Oh, and why not:

IE=8+

IE=8.1-9

etc.

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:05 PM by Denny Ferrassoli

The idea of having a meta tag to support "super standards mode" is ridiculous...

It's been suggested numerous times above, I just wanted to get my vote in as well:

"Make it an OPTION to work in IE7 or IE6 or whatever mode.  But make it DEFAULT to run IE8 in standards mode.

No room for argument there... it just needs to eb that way.

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:07 PM by mike

On the List Apart site there was a comment that IE 8 will NOT pass the Acid test, since it doesn't include the meta tag (and thus will not use IE8 rendering). What's your reaction to that?

# Before you leave a comment, just stop.

Tuesday, January 22, 2008 2:20 PM by Jonathan Snook

Before you go any further about complaining about how catastrophic a meta tag is and take the 5 minutes to configure your server right now. There, done, over with. No babies, kittens, or baby kittens have died as a result of you having taken the 5 minutes to do this.

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:47 PM by Jonathan Snook

I do have one question though, will a document using the IE7 rendering engine still receive an IE7 user agent string (and associated DOM support) or will some stuff be different?

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:50 PM by Speednet

In case anyone on the IE8 team reads this (and is keeping a tally of opinions), let me state clearly that I like the concept, but it is IN THE WRONG DIRECTION.  Upgrading your web browser should automatically make standards-compliant sites WORK IN IE8 BY DEFAULT.  A site that wants IE8 to behave like IE7 should have to specify the meta tag, not the other way around.

Why are you penalizing standards-compliant sites by forcing them to add an extra meta tag (which will have to be added "just right" in order to work correctly)?

Unlike all the Firefox nuts out there, I did not go bonkers when I had to do a little re-work on my site to make rendering with IE7 look good.  I was actually excited about Microsoft finally getting their browser in line with standards.  NOW JUST FINISH THE JOB.  Make IE8 100% standards-compliant BY DEFAULT, and force web site owners who want to stay in the dark ages to set the meta tag on THEIR OLD/BAD SITES.

Besides, it is very simple for big corporations who don't want to spend money upgrading their sites to use standards.  Because the meta tag is "http-equiv", they just have to add an extra header to their web servers, and not touch a single page.

The important aspect is that it PLACES THE OWNESS OF THE HEADER ON PEOPLE WHO REFUSE TO GET COMPLIANT.

Isn't that how it SHOULD be?

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:56 PM by @Jonathan Snook first post

Sure, depending on your set up it might take only 5 minutes, but of course no one was complaining about how hard this is going to be to add, the complaint is that it's the wrong fix for an ongoing problem when the right fix is going to just as easy for MS to apply and even easier for the rest of us. And you obviously missed the real conversation about this based on your comment, since there are serious concerns about if this will harm the state of web development even more than past IE versions have. Having read the real conversations on this matter I have to say there are valid concerns about this. Perhaps it would've been wise to get all the information before telling people off?

# re: Compatibility and IE8

Tuesday, January 22, 2008 2:58 PM by Sanjeev Gupta

I will go with the masses and say that I don’t approve of the <meta /> hack. However I will try to elaborate a bit and restrain from blaiming everything on Microsoft.

First some background – I am working with browsers for some time now and I really push them to their limit. Unfortunately Microsoft browsers have proven to be most fragile and less standards compliant.  Internet Explorer 6 has really made me pull my hair out. The story is the same with Internet Explorer 7. That’s why I jumped ten feet high when I read IE8 is passing the acid2 test.

Now I read IE8 will support three rendering modes and the one “true” standards mode will be enabled by a meta tag which is a hack by itself. Here is why I think this will cause more harm than good.

1. Introducing yet another rendering mode will be difficult for Microsoft. They will probably need to support three different rendering engines which live in the same application.

2. The third rendering mode will make standard purists curse Microsoft even more (remember the doctype switch?).

3. Web developers will have yet another browser to support with browser specific hacks. Many of them will just ignore the meta tag and pretend IE8 is just IE7 on steroids.

I have one question though. Couldn’t you just ditch the IE7 strict mode from IE8? I am perfectly fine with leaving quirks mode in the game. However why don’t you disable all the IE specific hacks in strict mode (the one enabled by a doctype switch)? As far as I know people are using either conditional comments or CSS parser bugs to workaround Internet Explorer rendering issues. If you disable those the browser will be virtually indistinguishable from FireFox. However you need to be sure it adheres to standards as closely as possible so it renders web pages fine without any IE specific CSS. One way or another most websites work in standards compliant browsers. If the browser does not act as Internet Explorer and does not choke on standard CSS you should be good.

I think this should have been the goal of IE8 – *NO HACKS*

My $0.02.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:02 PM by Chris Anderson

WRONG DEFAULTS!

Ok I can respect helping old schooler's sites stay functioning, but seriously, the default value of your silly new header should be EDGE.

I will NEVER EVER set this header. I will always write STANDARDS BASED sites and if IE wants to take advantage of my code, it will have to use its newest rendering engine.

Fix the default to EDGE, and you can keep playing on the web, otherwise, fade into irrelevance.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:15 PM by cwilso

@Jeff Schiller: Sorry, I should have said: I think we will be supporting IE7 mode "for a really really long time, as in a couple of web lifetimes".  I would personally hope the deltas between versions become insignificant enough to move away from needing the increments in the future - this would have to be proven, though.

@Joseph E. Davis: the page gets to set what mode it's in, just as quirks/standards modes work today.

@toby johnson, @David Naylor: you are quite right, this could be abused as well.  At least it's intentional (unlike the DOCTYPE switch and CSS hacks).  The DOCTYPE switch put tools in a tough spot - in order to validate, they had to turn on "standards mode", even if they would have been more comfortable with the stability of "quirks mode".  So the best thing you could do is help evangelize knowing what you're doing to web developers and tool vendors, and strongly encourage proper use of tools like this.

@Greg K Nicholson, one problem with date (which I did suggest once) is that it's not intentional; the main problem is that it also fails completely in the tool scenario (tool expects IE7 behavior, tool has multi-year-lifetime, but the content it generates stops working properly with new version of IE).

@Matthew Raymond: your bugmode proposal doesn't validate.  I don't think it's radically different, other than that.  (Oh, and you couldn't set it on a server if you wanted to.)

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:17 PM by C A Upsdell

The META tag approach is what should have been done in the first place, and I have thought so from the beginning:  I have always thought that using the DOCTYPE was the wrong way to do it.  Now we are stuck with two approaches.  Sigh.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:30 PM by billybob

Chris, you are responding to the comments but you are not really answering them.  It just looks like you are trying to bash your point of view across when everyone can see this is a stupid idea.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:34 PM by Mo

So, what you're basically saying is:

a) IE 7 is actually broken, sticking to the specs in IE 8 will cause IE 7-standards-mode sites to break (otherwise you wouldn't need to even consider this)

b) Web developers who've stuck to the specs will have to change their code *again*, just for IE?

c) Instead of just releasing a standalone version of IE 6 that people can install and launch (but not use as their default browser) for those with weird intranet applications and the like, you want bizarre rendering engine switches?

d) This whole situation exists because of the abused monopoly position that persuaded people to write code specifically for IE 6 and prior and to hell with the standards.

Your evaluation of the situation is flawed: the web moves immensely more quickly than Internet Explorer's product release cycle. The fact that Apple, Mozilla, Opera, Omni, GNOME, KDE, and others can all release several versions of their respective standards-compliant browsers (each generally altering rendering and scripting behaviour in some way or another) whilst you're still deciding when to consider a beta release (without so much as a sniffle from the 30-40% of people who collectively browse the web using them) suggests only one thing: if IE 8 has problems, it's your fault, and you need to fix it. Not us. You.

I don't care what you have to do, but as soon as your “solution” involves developers adding more crud to standards-compliant pages in order for them to render in a standards-compliant fashion, you've lost.

In addition to that, most of us who were bitten by IE 6-specific hacks causing problems in IE 7 swiftly wrapped it all up in conditional comments which targeted IE 6 for the IE 6 stuff, and IE 7 for the IE 7 stuff: if IE 8 follows the specs, it will safely ignore the conditionals and everything will be fine. I'd be absolutely amazed if the transition from IE 7 to IE 8 caused anything remotely like the issues encountered when moving from IE 6 to IE 7, not least because IE 6 had been the dominant browser for years longer than IE 7 will have (if it remains the dominant browser by that point) when IE 8 is released.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:45 PM by Shelley

You're not responding to one of the most important questions being asked: what about XHTML? Is IE8 finally supporting XHTML? If it isn't, personally I think all of this discussion is moot.

# re: Compatibility and IE8

Tuesday, January 22, 2008 3:46 PM by Steve Balmer

STANDARDS, STANDARDS, STANDARDS...

STANDARDS, STANDARDS, STANDARDS...

STANDARDS, STANDARDS, STANDARDS...

STANDARDS, STANDARDS, STANDARDS...

STANDARDS, STANDARDS, STANDARDS...

STANDARDS, STANDARDS, STANDARDS...

STANDARDS, STANDARDS, STANDARDS...

.........

.........

.........

# IE8's "Super-Standards" Mode

Tuesday, January 22, 2008 4:05 PM by Alex

Will it be possible to have this as a(n advanced) user preference? I'd prefer to have an option where I can have IE8's standards mode (without the need of the <meta> tag), and only see IE7's standards mode in the IE VPC images.

Also, how will the 3 different engines in IE8 impact the installer size? Hopefully it won't blow up to an enormous size.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:06 PM by TK

I think most of the sites that are not updated anymore are private sites that don't use any fancy css hacks.

I don't remember the last time I had a serious rendering problem on a site using Firefox. I also don't think it is necessary to change the User Agent string. Just use the most standard compilant rendering possible and the sites will adapt over time.

Yes, it will be painful for some website developers, but chances are that they already render incorrectly on other browsers like Firefox.

The meta-tag is just another IE hack, which developers need to remember and shouldn't need to!

Please don't do this! (At least include an option in IE to force standard compilant rendering for all websites)

Thanks!

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:08 PM by Optimist

When IE8 encounters web pages that contains workarounds, it should notify the user with a warning icon next to the address bar or something. That would "force" at least some web pages to repent and switch to standard code.

I can just see the look of the developers eyes when the boss wants to know why their customers see an "This page uses outdated technologies" or something...

# Will IE8 follow Opera's lead in fixing the DOM?

Tuesday, January 22, 2008 4:18 PM by Angela

I'm not going to rant on about this meta tag because I don't want to get upset.

Surely the "better" solution will be worked out soon for the "opt-in" standards mode but I digress.

What I want to know is the more important issue.  This "opt-in" trigger only tells the browser that we want the correct standards-mode compliance, but it doesn't specify whether this is CSS or HTML, or JS, or a DOM compliance!

Opera has fixed bug 152 in their latest beta builds for document.getElementById which means that from now on in Opera it will work as designed as per the specifications.

{oh and for the developers that dont know here is the bug 152}

http://webbugtrack.blogspot.com/2007/08/bug-152-getelementbyid-returns.html

Will this be fixed in IE8 too?  I want to know if my conditional comments that wrap JS file includes for IE5.5 - IE7 need to be updated to also include IE8?

We need to know this kind of info soon as every time we deliver code to our customers, we need to ensure that we are not making additional HTTP Requests if we don't need to (because they are very expensive when you multiply by thousands of users)

thanks

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:19 PM by Chris

Have the IE team tried out the internal build of IE 8 with standards mode 'on' by default for strict doctype site, and seen the results? Care to share any particular sites with us that would break if IE 8 used the current doctype trigger for standards mode?

I would have though that a lot of sites that opt-in to standards mode for IE 7 would already be aware of what they were doing!

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:24 PM by Roger Wilco

Argh, this is so maddening!

If the average end user had <em>any freakin clue</em> what it took to get their sites rendered in IEs 5, 6, and 7 there would be no surprise and outrage at any older broken sites when IE 8 comes out.

This is less of a way of "not breaking the web" and much more of a "we need to save face as we get closer to standards compliance."

When a new version of Firefox or Safari or Opera comes out, for the most part developers stay relaxed and play with new UI features. When a new version of IE comes out the collective web freaks out and gets ready for a new round of fixing sites. I don't care what people say, no one is surprised when their site breaks in any version of IE.

Just make IE 8 relatively standards compliant. Get your best marketers (you know, the ones responsible for Vista sales?) to promote information about the web and why older sites might break. Be the kid on the block everyone wants to be like for once.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:30 PM by Douglas T

What a horrible idea.  Why can't you just admit that the previous versions of IE got it wrong?  My mother always taught me to admit my mistakes, not try to spin them off as new standards.

I understand that MS confused the situation and people started to believe in the new standard that was "quirks mode" but it is just MORONIC to insist that people continue to develop using that standard.  When will MS learn that they need to move forward on the subject and admit they have been wrong.

Can you please just fix the problem and follow the standards set.  People will be angry at first but in the long run of the internet, it will all work out just fine. Really...

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:31 PM by pete gamache

MSIE continues to be the only browser which expects web programmers to sort out its errors themselves.

MSIE continues to be the only browser which is universally panned outside of its birthplace.

It is decisions like this which reinforce both points.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:34 PM by Doug T.

No more HACKS... No more HACKS...

No more HACKS... No more HACKS...

No more HACKS... No more HACKS...

No more HACKS... No more HACKS...

No more HACKS... No more HACKS...

Please...

How often does the web developer community have to request it?

Thank you.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:36 PM by cwilso

@billybob, I'm sorry, I am trying to respond, and I am not trying to "bash my point of view across".  Explain it, certainly; bash it, what's the point?  

Look, this is a complex issue.  If you think I've taken it lightly, or that Microsoft has just whipped out a solution without thinking about it, you'd be mistaken - we've spent a ton of time internally examining the problem, talking to other groups at Microsoft that produce content and tools, and talking to some others like Aaron, et al, to get an external perspective.  There's no easy answer, because it is impossible for us to tell whether the author wrote their content to standards or to IE's previous behavior - and in general, even authors who write their content to standards end up testing (and tweaking) for IE6.  Those tweaks might be detrimental to IE8 (or 9, or 10...) - there's no way for us to tell.  In the end, we believe our highest priority is the user; the user doesn't want ANY site to break, no matter how bad or IE-specific their code might be.  If they install a new browser and their sites are broken, they uninstall the new browser.

I'm open-minded, and I'm listening.  I didn't like the concept when it was first suggested; however, the evidence has proven to me that it's necessary, since I got to see how many things broke when we shipped IE7 (and we have a lot more to do).  I got a first-hand view, as I personally deconstructed a lot of broken sites, and time and again I would answer someone's "IE sucks!!!" post with a deconstruction of their site that showed they were expecting us to be broken, and were in fact feeding us explicitly different content than other browsers.

@Mo: a) IE7 does not fully or correctly implement some web standards, yes. b) No.  Web developers who've implemented their code so it works on IE today, whether that's standards-compliant or not, need to do NOTHING. c) average users don't use multiple browser versions for different sites.  d) it is patently untrue that "most" of you correctly used IE conditional comments and expect perfectly standards-compliant behavior from IE8.

@Alex: there's a registry key that can force on IE8 standards mode, yes.  No recommended for average use, obviously.  And no, we don't blow up to an enormous size.

@Optimist: what exactly is my mom supposed to do with the popin bar that says "this page uses outdated technologies"??

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:36 PM by Thomas

@cwilso:

I think you could put a lot of minds here on ease if you would finally promise support the "application/xml+xhtml" mime type in IE8 and then not only force xhtml validation but also standard compilant rendering, even without the meta-tag...

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:36 PM by Isofarro

The Internet Explorer team has until 1st January 2010 to fully support all current web standards: CSS 2.1, XHTML 1.1, HTML 4.01. After that, I won't compensate for Internet Explorer's failings any more.

I reject this meta tag proposal. My standards compliant markup is not a second class citizen, it should not be forced to carry a Microsoft identity document to earn the possibility of Internet Explorer 8 rendering it as a standards compliant page.

I've supported your efforts and work with Internet Explorer 7 in the past. No more. The line is drawn here. You stepped over it with this proposal that sacrifices the future-compatibility of standards compliant web pages. Opting in (twice) to standards compliant rendering is unacceptable.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:43 PM by Pessimist

Why oh why Microsoft, do you drag us all down into the circles of CSS hell?!?

For years, your inane practices and ignorance for grasping the very organic definition of "Standards" has been the bane of every knowledgeable web developer's existence.

Often it seems as though everything you do is purposefully directed at hindering the progress of the Internet. We, the developer community, have put up with your impossible renderings, your disregard for the status quo, and your inability to compete with open source browsers that code circles around your Internet Explorer.

And now, as you bring up the proverbial rear of Standards compliance with a faux-Acid2 success (remember, the Acid2 page does not have any custom IE Meta tags on it), you have thrown a wrench into everyone's grand plan to bring the world of web design to a higher level. All in the name of sticking to your guns as the leader of preserving awful coding practices throughout the entire world.

Why oh why Microsoft do you do the things you do..... ?

I guess we'll never know.

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:51 PM by mysterious.e

'I think most of the sites that are not updated anymore are private sites that don't use any fancy css hacks. '

Incorrect. There are lots of sites out there that use 'quicks mode' css and are still in use. Forcing CSS 2.1 would break these. Thanks Chris for saving me an my clients time and money by continuing to migrate standards forward. If we could have only gotten IE 7 in 2004 ...

The biggest concern I have right now is the IE7 adoption rate. Right now IE 6 usage is still too high for me to out right abandon it - which I am wanting to do. What can be done to help IE 6 users make the switch?

# re: Compatibility and IE8

Tuesday, January 22, 2008 4:58 PM by SomeGuy

I still haven't seen a response to simply enabling the functionality for the application/xhtml+xml. Isn't that the easiest solution while avoiding the whole meta nonsense?

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:02 PM by alexander

It is a bad idea and a foul compromise. Ultimately it will fail the same way all the "band aids" in prior versions have failed before. Browsers should expose brokend web sites, not try to "fix" them.

Please reconsider the "meta" idea and please do implement full standards compliant mode as default mode. Please do expose broken web sites. Otherwise you are making things just worse.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:07 PM by mysterious.e

One more question: when will we know if IE 8 will run on XP SP2 or not?

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:11 PM by Anonymous

This is really retarded ... 3 rendering modes ... let me guess, what are the heuristics used to determine which mode to render in, apart the absurd meta-tag ? Which rendering mode will be used by default ? The 'Pass the acid2 test' one ? or the others ?

If M$ and IE didn't subvert and broke the web years ago, nobody will use the 'let me generate some dodgy standard breaking IE code for you' applications such as dreamweaver, and nowadays, the web will have no issue with rendering ... Too late to 'Fix the web', even with the multi render mode trick ...

microsoft.com is still not standard compliant ... how can i expect IE to be ? By the way, got position:fixed working in CSS2 yet ? This is the most ridicoulus explanation (backward compatibility) i have ever read.

http://validator.w3.org/check?uri=www.microsoft.com

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:11 PM by obik

I'd just like to join the chorus in shouting:  THIS IS THE WRONG DAMNED WAY TO DO IT!  Require the tag to turn IE6 rendering ON not to turn standards compliance ON.  I have a doctype that says I'm xhtml 1.1 compliant.  I should have to add another damned meta tag to tell your browser that I really meant it.  Make the tag for folks who are too lazy to do it right.  Sure, it may cause some problems, but for sites that actually get updated, it will be a trivial fix (add "meta broken-rendering: on" to the page).  For sites/web apps that need to be fixed, it will be fixed.

For all the abandoned sites that never get updated or are maintained by people who can't manage to cut and paste a single tag...well, tough titty.  There is a point where you have to break backwards compatibility in order to move forward...and that point is now.  DON'T screw things up again, please?

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:12 PM by YOUR CUSTOMER

<LET THEM BREAK IF THEY CAN'T BE BOTHERED TO MAINTAIN THEIR SITES!>

Spoken like a truly arrogant programmer; someone who doesn't 'get' it.

These site owners with their heads lodged up their posteriors (which I can at least spell) are your CUSTOMERS.

Losing sight of that fact is why your jobs keep moving offshore.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:14 PM by Er3s

Well,

It seems that by the majority of people here, Microsoft can't do anything right.  Well, just remember, this companies technologies and "quirks" keep you employeed.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:17 PM by youcantbeserious

This is the absolute worst idea the IE team has had since...the last one.

It really would be best if you'd just discontinue IE development entirely. Seriously. Think about it.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:18 PM by Francis

Have you ever considered what the security and maintenance ramifications of keeping these old, quirky rendering modes in IE are?

You'll have the same situation as Microsoft does with its multiplicity of MS XML versions and Office "compatibility options": the constant need to plug security holes across a range of redundant, obsolete products, and much higher development costs to boot. Resources that could be used to fix the one standards mode will instead go to keeping up an aged, creaking codebase.

I understand not wanting to "break the web," but why not make a clean break? Unless you intend on keeping around these dinosaur modes behaviors forever, at some point developers WILL have to update their code. Since they're going to have to do it anyway, why not do it sooner than later?

At the very least, the IE team could announce a timetable: quirks and IE7 "standards" mode will be supported through IE8 but quirks will be dropped in IE9, and IE7 in IE10. Then developers will know how long they can persist in the old behaviors, and when they should recode their sites. Think of it as a product support lifecycle.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:25 PM by Anonamoose

Nice idea, yet another 'switch' to make it behave like it should, this now means we get to target to 3 different versions of IE plus probably 2 versions  of FF (or gecko) plus the others (webkit khtml etc) if you care, yes all those as they all render 'standards' differently.

Stop this madness, please FORCE people to update their IE browser, you have done it to half your users with IE7 already, make it compatible then help out a naive public by making the upgrade for them.

# ANALYSIS

Tuesday, January 22, 2008 5:28 PM by analysis

Ok, lets look at this carefully.

Opt in vs. Opt out.

-------------------

It has to be opt in, because of legacy sites and applications with embedded IE(v6) browser controls etc.

(think QuickTax for those in North America)

Fine, Opt in it is.

Next, what exactly are we opting in "to"?

-----------------------------------------

Neither Chris Wilson or anyone on the IE team has disclosed this yet.  Is it just CSS? or is IE8 actually going to fix the entire mess in Trident/IE?

The Future:

-----------

Whatever is decided. It needs to work today, tomorrow and 10 years down the road! (PS the current meta tag structure as discussed here DOES NOT WORK!)

In the Interim:

---------------

IE8 Better have a gosh darn JavaScript/Error console, and in it... every time IE runs some JS/CSS that is NOT to spec, it better put a warning in the log, so that developers KNOW they are messing things up, and can fix them.

The following would be a VERY proprietary HACK, but I would like to see a conditional comment type structure that will work WITHIN an externally referenced CSS file, so that I can code properly, and HACK-BACK for < 8 IE versions.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:31 PM by kL

Will the new I-can't-believe-its-not-standards mode be the default for <!DOCTYPE html>? What about XHTML MIME type?

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:31 PM by Webdesign

@Fallen

You dont code for IE5 ? ? Our company does, it's still part of our minimum browser requirements and we'll probably be dropping 5 when you drop 6, lol. That said I'll agree with you that when statistics get so low that they're immeasurable browser support will be removed. However we probably see more oddities than most as we deal with some pretty big organisations where there isn't a week go by where one of them isn't in the national media

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:32 PM by Tweak Vista

Peter Michaux beat me to it!

If this problem only affects Internet Explorer due to the fact that sites check for the agent string or whatever, then just radically change the agent string!

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:33 PM by LFERC

It would be great to hear what kind of overhead this decision is imposing on ongoing IE development.

I see the problem you are trying to address but we won't know until IE8 ships whether development departments choose to adopt this tag.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:33 PM by Meubelstoffering

I want to code to standards, not browser versions.

The ideal web is a web where you don’t have to think about differences between browsers – because there are none. Now Microsoft is moving away from that ideal by introducing another rendering trigger, while there should be only one.

A strict doctype should trigger standard-compliant rendering for all browsers. Until IE is not fully compliant (hopefully that won’t take too long), I’m all for <!—[if IE N]>.

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:35 PM by Webhosting

I strongly believe that this is a bad idea.

You cant make things future compatible when building a site. You simply have to suck up you code and fix it for new releases.

Yet another step backwards for Microsoft. Why don't you just let it use the word rendering engine?

# re: Compatibility and IE8

Tuesday, January 22, 2008 5:37 PM by Komra Moriko

This is a bad idea, and evidence that Microsoft doesn't get it, or is willfully destructive of progress currently made with standards.

# re: Compatibility and IE8 - Standards is most important

Tuesday, January 22, 2008 5:37 PM by NotBob

It is most important that standards be followed.

If you want to take care of the "old sites" that lack developers or lack the ability to be updated, then figure out a way to "detect" them and use backwards compatibility mode only then.

Use standards compatibility mode by default.

Allow the user a simple tag to put in that puts the browser into backwards compatibility mode instead.   Create a "how to guide" for people to use when their websites don't work any more because they were built poorly to begin with, or create a small program that will "patch" a website with the right tag to make it render in backwards compatibility mode so that there is no excuse for someone using a poorly written website to not at least patch their site.

Supporting standards going forward should mean that you are actively trying to bring your crapastic browser into compliance with the rest of the world.  MicroShaft doesn't get to set the standards.  I don't get to set the standards.  We just get to follow them.... if there is something wrong with the standards then we petition the group of people or join the group of people to try and fix it.  

Simple.  The hardest part is in detecting which websites break when standards are applied...but I bet if some energy and thought was spent on it, it could be done with 99% accuracy.

# Disappearing Headers

Tuesday, January 22, 2008 5:42 PM by Bubax

Chris,

after a quick survey of the negative criticism (most of which I applaude) I didn't find the following flaw of your approach mentioned: What struck me most (apart from the technique in itself) is the opt-in part of the story.

| “Standards mode” remains the same as IE7, and compatible with current content.

| If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element.

That is a completely bad approach. I, for one, will surely never add such a tag to my source. And here the problems just begin: It is nice that the proposed technique is of the http-equiv type. Therefore, short-sighted people could just use the "cleaner" approach of sending the corresponding HTTP header. So, what do you get?

I send the IE=edge header (or IE=8 header, if you prefer).

You visit the page with IE 9 (everything is fine).

You save the document or mirror the site locally (arbitrary client, say, wget).

You open it with IE 9: Gone is the header. Broken by design.

Bubax

# Version-Targeting zur Verhinderung einer falschen Darstellung von Websites in zuk�nftigen Browsern

Tuesday, January 22, 2008 5:44 PM by TrackBack

Zuk�nftige Browser sollen durch einen Kompatibilit�tsmodus sicherstellen, dass alte Websites auch mit neuen Browser-Versionen korrekt dargestellt werden.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:06 PM by Richard Tallent

IE6's broken "standards" layout mode is a de facto standard only due to its market share and continued use in enterprise environments.

The IE7-specific code that *does* exist are mostly public web sites who are used to being browser-aware. IE8 lobbing a few issues at them won't phase them, and the beta process will give them ample time to prepare.

By contrast, the IE6-specific code tend to be corporate intranet tools that are a major hairy deal to upgrade (the primary reason many companies *still* use IE6).

So, IE7 won't have the same set-in-stone need for support in corporate environments when the IE8 rolls around, etc.

Thus, "Standards mode" should always use the *latest* code available.

If the web site developer needs more time to accommodate the changes, let *THEM* use a META tag until they can add "native" IE8 support.

For enterprise IT admins who have IE7 but can't just hack around in their crusty old tools' HTML headers to support IE8, allow them to use downgraded layout rules on a per-domain basis using system policies.

That way, corporate users can get a great IE8 experience on the public web, while IT people can have time to wait for vendors or internal projects to add "native" IE8 support to their intranet tools.

I agree that the user's experience and the developer's ability to upgrade are important considerations, but there should also be some gentle evolutionary pressure to keep developers and IT managers moving forward.

"Survival of the fittest" standard, not "survival of whatever Microsoft arbitrarily decided that future versions of IE should render to without an explicit meta tag" standard.

Otherwise, 15 years from now, Microsoft will STILL have to keep supporting the broken IE7 standards mode, because most content and tools, as now, will be developed and maintained for the *default* rendering mode. (Always remember that developers are lazy, and single-browser developers are especially lazy.)

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:12 PM by Omid

Today first draft of HTML5 published and they are going to HTML5, go on, fetch them :>

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:13 PM by Lucian E. Marin

DON'T DO THIS! We don't need another html or meta tags, we want even less tags for a good web development.

Here's the solution for this problem:

No DOCTYPE - Quirks mode

DOCTYPE Transitional - Standards mode (IE7)

DOCTYPE Strict - IE8 standards mode

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:29 PM by Chris Ellis

I would much prefer that IE8 broke non-standards compliant websites.  This would start to kick the web into shape.  

Please do not do this, it seems to be a very short-sighted idea and will only crate more issues for the future.  Instead eat the bullet and help fix the web for all our sakes.

Rather than consider what is best for IE,  consider what is best for the web.  After all you have the power to force IE 8 upon the masses overnight.  Use this power for good (it would make a change).

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:29 PM by Nick Lowe

Web developers would much rather the short term pain of making their sites standards compliant, knowing that it would be a one-time job, than having to support this abomination.

It is highly demoralising as your “solution” gives no resolution, has no end-in-sight and will further fragment the web.

What you propose is the antithesis of what standards compliancy strives to achieve.

It is absurd, and a fallacy, to believe that IE can become standards compliant through non-compliancy.

It would give me great pleasure to go though the sites that I maintain if they were to break with the release of IE8, knowing that it would be for the greater good.

I am sure others feel the same.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:37 PM by Dave Lindhout

Anything that is standards compliant in IE, should work with existing syntax. It works fine for other browsers now, don't change anything. And the goal should be that everything will ultimately be standards compliant. And there's already a long list of things that are compliant. So we're off to a good start, eh?

As new elements become compliant, it would be great if you could ignore the hacks that pertained to older, non-compliant versions of IE. This has less impact on the marketing department than the re-branding idea suggested earlier and accomplishes the same thing. As long as you behave the way you're suppose to, you become one of the group, no need to draw attention to yourself. Again, other browsers work with things as they are now, there shouldn't be a need to change anything.

The use of ActiveX is an area where there are differences today. As an isolated example, if IE8 can properly respond to a window.XMLHttpRequest, can't you then ignore window.ActiveXObject? And no code has to change. Your following the compliant path now

It seems to me that any attempt at backward compatibility is of short term consequence, while standards compliance is the ability to check it off the list, permanently. Now you can add value to the IE experience. Add a meta tag to access ActiveX and the rest of the Microsoft experience. It's at this point where you want to differentiate IE from other browsers, and introduce additional syntax. For future cool stuff, or backward compatibility, it works either way.

The rest of us have kinda decided how we like to do things, your welcome to join us. In fact, your encouraged to join us. Once we all have this basic understanding, your free to do what ever it is you want. But until we have this basic understanding, you're making it hard on everybody else.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:40 PM by bungle

"As it turns out the Web Standards Project as a whole was not aware of this until publication on A List Apart"

http://annevankesteren.nl/2008/01/ie-lock-in

More from here:

http://weblogs.mozillazine.org/roc/archives/2008/01/slipping_the_ba.html

http://ejohn.org/blog/meta-madness/

Enough said?

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:46 PM by Frits Jalvingh

Allowing the tag to be sent as a HTTP header is a spectacularly bad idea: it ties a page to the platform that serves it; if that same page is ever served by another platform (which doesn't have that header) the same content gets rendered differently. Utter stupidity.

I understand that you do not want to break every IE specific website but this is a lousy plan: forcing standard pages to add a nonstandard tag to get standard compliance is a bad joke. Really, I kind of dislike Microsoft and make fun of you people every time I can but if you keep making it easier to make fun of you I might get bored..

The best thing I could think of was the agent string proposal: just send an agent string of ahh say

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b2pre) Gecko/2007120505

;-) and make the website return standards-compliant html instead of IE-specific crud. This will break sites but at least standard respecting sites (and web developers) are not punished again..

Another point: whatever way you go there *must* be an incentive for website owners to have their site fixed to standards mode. If there is no incentive no-one has any reason to change their sites, or to learn how to write one properly.

Completely b0rking up their sites is perhaps a bit much, but showing a nice sickly red and oozing warning (perhaps flashing and animated - that'll teach'm and give your Silverlight people something to do) that the site itself is badly coded is often incentive enough - it's the "shame" factor.

Of course your mother might not know what to do about the warning but it will not bother her: most people are perfectly able to get by it - as all those Bonzy Buddy and IE-with-20-toolbars installations should prove ;-)

In addition many people *will* know what to do with the warning and might irritate the site owner enough to take action.

You should also consider what would happen for later versions. It would not be nice if you had to have 57 different tags once IE 57 comes out. And the only way to prevent that is at some time to force some pain on the site owners that do not update their sites..

On a different subject: I surely hope you've also sent the Javascript developers to kindergarten to learn such useful stuff like counting? Perhaps you've even given them an exam? Make them count the chairs or something?

It would be *so* nice if IE could *finally*, in 2008, after THIRTEEN YEARS!?!?! of development by one of the wealthiest and biggest software companies report the CORRECT LINE NUMBER OF A JAVASCRIPT PROBLEM!

The correct file would be nice also, of course; and more than one error message would be nice too 8-(

Really, your javascript engine and especially it's debugging ability needs some serious lovin' - it's crap. I find it completely incomprehensible that Firefox has Firebug - which is really incredible *and* free *and* developed by a small group - and you people have nothing coming even remotely close..

Please, for the sake of my collegues, take away my ability to make fun of you (and them, as Windows users) and start fixing something instead of introducing new fun and games..

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:47 PM by Matt

This is completely asinine. Leave out the meta tag, keep "quirks" and "standards" mode (since everyone else has the same thing anyway), and web developers will learn inside of 5 seconds to stop serving b0rked crap to IE. Yes, you can maintain standards by having a custom <meta> tag and do your fancy pointless three mode crap, but it's stupid and everyone will hate Microsoft for it, especially web developers and companies. More importantly they'll hate you more for it than the temporary break while they scramble to not serve "custom" IE content and stick to standards.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:47 PM by timmfin

Yea, I know that IE is in a tough spot. This is (at least) partially deserved but I'm going to try and not hold a grudge.

I personally think that you should really consider making the real IE8 engine ("super standards" as some have called it) the default option. Or at least make it the default option when HTML5 is used.

If you are serious about promoting web standards, its time to start teaching the mom and pop web developers of the world. If the default is IE6/IE7 mode all of their new websites will work fine and they will go on their merry way... still coding incorrectly. Feel free to document the meta tag as the first bullet in your IE FAQ, but don't let the unknowing masses perpetuate the issue (and just push solving the problem till a later date).

The message I get from your proposal is that Microsoft cares more about its (short term) IE marketshare than the (immense) difficulties that web developers have to deal with today. And really, you can do that if you'd like -- but it makes me realize (even more) how bad it is to rely on proprietary software from a very proprietary company.

# WTF!!!!

Tuesday, January 22, 2008 6:50 PM by tony petruzzi

It's been said, but I need to get it off my chest.

So let me get this straight... I have to add an additional meta tag to my page in order for IE8 to support standards?!?!?

Guys, WTF is with you. Have any of you learned anything in the past 5 years?

Put the browser's default to standards mode and stop jerking around.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:50 PM by cwilso

@pete gamache - have you read my post?  Our point is to NOT make web developers sort out our errors themselves, nor serve penance for the things we've gotten wrong in the past.

@bubax - yes, I personally believe using the "edge" keyword is a bad idea  in any production code.  Use the current version of IE, and if you wish your site to upgrade, test it when a new version comes out and turn it on.

@Nick Lowe - how can you claim to speak for all web developers?  You do understand that a lot of the web is generated by tools (many of which opt content generated by them in to the current "standards" mode, while expecting IE to be broken), right?

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:52 PM by Mystified

If you're so worried about "breaking" old sites, why not just build an IE-CLASSIC toggle button into IE8 that switches on the old rendering engine on the fly so that users can trigger it when an old site breaks?

Something like:

"IE8... now with an IE-Classic mode for viewing old-school sites."

Heck, it even sounds like an added feature. I can envision the Press Release now.

"We here at Microsoft are dedicated to bringing you the next generation of Web 2.0 surfing. We've made IE so advanced that sometimes an older website can't keep up with our innovation. So, if you ever come across a website that doesn't look the way it should, you can correct it with our IE-CLASSIC button and make the site look the way it was intended to look."

Yippeee! Done, end of story. Everybody's happy.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:53 PM by Mark Sowul

Standards mode should mean standards mode.  IE6 and IE7's "standards" modes should be opt-in and require the meta tag, not that of IE8.  That IE6's "standards" mode was horribly broken should not hobble us all forever.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:54 PM by Andrew Powell

You guys are making it harder and harder to be a fan of IE as a developer. I'm nearly done defending it. OPT IN?! You mean yet another line of html hackery that we need to add for IE? *sigh*

Where's the news about the DOM, the javascript peoples on this project? And when is the Operation Aborted error going to get fixed??? I'm not giving up on this one.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:58 PM by KatB

So as far as I can see, what we will need to do is go back to browser sniffing at the server, and implement this meta tag either in the markup or in the header, dynamically at the server from the browser version in the HTTP request. Or have the frowned-upon 'edge' value.

This is so we always get the best rendering from whatever version of IE is present, because quite frankly, I shouldn't need to care what version they have.

I quite like the idea of super Platinum Diamond Gold ABBA standards as default with the application/xhtml+xml mime type, that IE does not implement in its most current version, 7.

This way standardistas finally get XHTML support and best rendering possible, and keeps rendering consistent for those who don't care about the latest and greatest.

# re: Compatibility and IE8

Tuesday, January 22, 2008 6:59 PM by Pieter F

Standards mode should be the default.

If people can run old programs in 'Windows 95 compatibility mode' on Vista, why can't they run old sites in 'IE6 compatibility mode' in IE8?

All these badly programmed sites you want to cater for so desperately ARE already broken. Their developers have already accepted the fact that they don't render exactly as intended in Firefox etc. If they can live with that, they can live with IE8 beta too.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:00 PM by ithinkI'mgoingtobesick

John Resig (of JQuery) weighs in on the madness of the new Meta tag:

 http://ejohn.org/blog/meta-madness/

It isn't pretty. But, it's a good read.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:04 PM by Kaldari

This is ridiculous. Standards mode should be the default if the doctype is declared. If the developer's code doesn't match their doctype, that's their problem, not Explorer's! This is utterly insane.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:04 PM by Andrew Gildehaus

Just more evidence that the IE team needs to have their marketshare taken away.  You're a plague on the web.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:07 PM by Matt Patenaude

Also posted on ALA:

Call me crazy, but this idea seems absolutely insane. Those who have developed their websites to the standards should not be punished by made to feel like second-class citizens on IE-- it does not foster a greater push for standardization, but rather poses an incentive to rely on IE's broken rendering.

Personally, it would make much more sense to allow a meta tag that opted *out* of using proper standards-- if you have an old website that you know works in IE 6 or whatever, and you're too lazy to update it to the standards, why not put a meta tag that in effect says "use the IE 6 rendering engine on this page?"

In this way, you don't trivialize the importance of standardization, yet still preserve backwards compatibility for the lazier among us. Just a thought.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:07 PM by Anonymous

"The message I get from your proposal is that Microsoft cares more about its (short term) IE marketshare than the (immense) difficulties that web developers have to deal with today."

Exactly! I couldn't have said it better myself. Super-standard should be the default, period.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:19 PM by Boeing 747

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:20 PM by Nick Lowe

@cwilso:

"how can you claim to speak for all web developers?"

Fair point.

"You do understand that a lot of the web is generated by tools (many of which opt content generated by them in to the current "standards" mode, while expecting IE to be broken), right?"

You were prepared to make disruptive changes with IE7. Surely the same arguments apply.

What is proposed is only pragmatic when considered in the short-term.

It is the lesser of two evils, being better for the long term prospects of the web, to have an opt-out for compliancy rather than an opt-in.

Developers will always work following entropic principles. (Do the least work to get by.)

So the reality is that if IE7 had not broken websites, those websites would not have changed.

Pain -will- result from an opt-out or opt-in model. Opting out of compliancy merely defers that pain.

Surely it is better to grasp the nettle now rather than later!

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:20 PM by David Clarke

I haven't read all the comments - I hope you guys do. FWIW I echo the majority of the comments I did read, this is a bad idea. So I test my site in IE 8, maybe make a few mods, decide to go wild and add the meta tag, then realise I've just broken my site for all my customers that are still using IE 7/IE 6. This is a joke right? I have an expectation that as long as my pages are standards-based then as usage of older browsers drops I will eventually be able to remove any sniffing/conditional code. Honestly, I will never use your stupid meta tag and I will mandate that it will not be used in my organisation.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:25 PM by Nick Lowe

@cwilso:

Sorry, I meant to say...

Having an opt-in model for compliancy merely defers the pain that developers must face.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:32 PM by Kaspars

This suggestion is bad, very bad.

1. The requirement of an additional code for enabling the “standards mode” will punish those who have actually built their sites according to the standards in the first place, and applaud to those who didn’t. Is this fair?

2. Why do we need an extra "Preferred Browser Version Definition" (BROVER)? This would be a double standard — browsers would have to consider not only the DOCTYPE, but also the preferred BROVER, which would result in an inconsistent rendering among different browsers. Absurd.

The rest of my points areWhy do we need an extra Preferred Browser Version Definition (BROVER)? This would be a double standard — browsers would have to consider not only the DOCTYPE, but also the preferred BROVER, which would result in an inconsistent rendering among different browsers. Absurd.

The rest of my arguments are in the blog post: <a href="http://konstruktors.com/blog/understanding-web/78-browser-version-targeting-vs-the-web-standards/">Browser Version Targeting vs. the Web Standards</a>

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:39 PM by Jesse Houwing

If you can add a META tag, is it also possible to add that tag in the form of a response header? Because that would enable easy mass conversion of whole websites. Just add one configuration rule to either IIS or Apache...

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:39 PM by Speednet

@YOUR CUSTOMER wrote:

<LET THEM BREAK IF THEY CAN'T BE BOTHERED TO MAINTAIN THEIR SITES!>

Spoken like a truly arrogant programmer; someone who doesn't 'get' it.

These site owners with their heads lodged up their posteriors (which I can at least spell) are your CUSTOMERS.

Losing sight of that fact is why your jobs keep moving offshore.

-----------------

Actually, there is nothing "arrogant" about the general sentiment being expressed here.  What you are calling arrogance is actually massive, pent-up frustration being exposed.

There are plenty of "customers" who understand the fact that maintenance is required with their web sites.  You do not create a web site, turn it on, and then never touch it again.  "Customers" who do that are most likely not very good "businesses".

It would be very simple to tell the IT community as a whole that the introduction of IE will require web sites that are not standards-compliant to add a meta tag, or else to add a header to the web server.  (In the latter case, it is literally a 1-minute operation to update 1 web server with a new header.)

After all, IE8 will surely be released after a few public betas and RCs, providing plenty of time for all "customers" to make the simple change.  Of course, these "customers" also have the ability to join the rest of the internet and make their sites standards-compliant.

Microsoft and Microsoft Developers:  It is time we raise the bar.  Let's draw the line in the sand and with IE8 say, "You can either produce standards-compliant web sites, or flag your site as outdated."  Of course, IE8 will not have a huge indicator that let's the visitor know which one it is using, so there is no general stigma attached to outdated code -- other than among us developers!

P.S. (@YOUR CUSTOMER) My apologies in advance if I've managed to spell any words wrong.  Hopefully you will not feel obligated to point out my errors, if they exist.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:41 PM by Andrew Mason

What about turning on standards compliant mode for those who are serving content as xhtml strict AND sending the correct mime type. No one will accidentally do this !

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:44 PM by Adrian Simmons

I'm coming round to the idea that this is workable *if* the default is changed to IE8 - standards compliance mode - the meta then provides a fix for any site that breaks.

Having to add it to all my nice standards compliant sites with the conditional comments and special css files for IE just to get 'standard' functionality in IE would be far too painful.

"...late 2006, roughly half of the top 200 US web sites were in “standards mode”..." surely that's increased since then? Let the minority of non-standard sites do the fixing please. Put the default to IE8 and standards mode!

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:47 PM by billybob

Chris, thanks for trying to keep up and answer, it makes us feel that someone has at least picked up the phone on your end.

Unfortunately your response shows that the only people you have actually spoken to is people inside Microsoft and Aaron.  When did you ever raise this issue with the people who actually work on the front line?

Your company (and probably you) have made an obscene amount of money by abusing your monopoly to invade into the server and web apps space at the expense of Netscape and Java.  IE was designed to handle 'non-standard code' in order to crush Netscape.  The HTML output from Word was amongst some of the worst IE only code I have ever seen.

The whole IE6/Intranet problem is yours (and your customers who used your broken tools), why should we have to spend additional time and money on the result of your business tactics in the late 90's?  As you can see from the comments on this blog we have all had enough of this seemingly arrogant attitude towards us.  Please just toe the line for the next 5 years, make IE a browser to be proud of... Then and only then will you find that more people will trust you and engage in conversation about the future of web standards.

# re: Compatibility and IE8

Tuesday, January 22, 2008 7:50 PM by new know what

This <meta> tag is such a gross hack. People - or WYSIWYG editors - should learn to write/generate proper HTML, browsers should enforce this. And of course, browsers should be compliant in the first place.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:00 PM by Brian

IE7 was a huge improvement over IE6, and I had so much hope for IE8. However, you have now shattered that into many pieces. Sadly, Microsoft either just does not get it, or is really not interested in standards.

There is no need for a third rendering mode, especially one that needs to be opted in to to do the right thing. The Doctype is enough: if it is set to standards mode, then... well, render it in standards mode.

In this new IE8 solution, it seems that we all lose. All properly designed, standard-conformant pages will need to explicated opt in to the IE8-specific standards mode. It's almost like you are trying to punish those developers who designed their pages to be standard-conformant.

A non-conformant page should render incorrectly. Stop trying to support them. It is ruining the experience for everyone else.

With this information, it seems clear that IE8 did NOT pass Acid2 since Acid2 is only set to standards mode, not the IE8-specific standards mode.

I'm not sure how much more of this I can take. It may just be time to give up on IE entirely. You just do not get it.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:04 PM by Publishing_XHTML_for_almost_a_decade

> What about turning on standards compliant mode for

> those who are serving content as xhtml strict AND

> sending the correct mime type. No one will

> accidentally do this !

Sure they will. Every XHTML CMS will be updated to send the correct MIME type -- actually mine already will so long as it's advertised via accept. Since my pages are 100% valid with not so much as a single encoding error this isn't a problem for me. However most of those that thought IE displayed their "XHTML" are in for a shock. Look at reuters.com, that laughable mess is never passing an XML parser.

Still, I agree with you.

XHTML served as text/html is quirks

XHTML served as application/xhtml+xml is standards

What the hell is this meta element for and why can't Microsoft do just this one thing right?

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:06 PM by Jeremy Petzold

I have a suggestion for you. deploy IE8 onto XP as well. Please. We need to get the vast majority of IE users to have the most standards compliant IE possible. Forcing an upgrade will help as well.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:13 PM by Disappointed

If IE8 refuses to render my standards-compliant webpage in compliance with the standards because I didn't add a tag which is not part of the standard in addition to the strict declaration, then IE8 is clearly <i>not</i> standards compliant.  Further, it is noncompliant by deliberate intention and explicit implementation.

Anyway, tell us when you pass Acid2 <i>for real </i>— by correctly rendering according to the declared doctype, with no IE-specfic tag schmutz.  Until then, you still clearly aren't even trying to support standards.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:30 PM by Phillip Rhodes

If you're not planning to support application/xhtml+xml properly, please don't release IE8.  This is the one absolute "MUST" feature for IE8.

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:38 PM by Gérard Talbot

Mr Wilson,

1-

IE 8 will be able to render a webpage in 5 (five) different rendering modes depending on the code (doctype decl. and &lt;meta&gt;-tag) of the web authors: quirks mode, IE 6 standards mode, IE 7 standards mode, IE 8 standards mode and IE 8 edge mode. Have I understood all this appropriately and counted this correctly?

2-

What will happen to webpages which have a doctype decl. triggering quirks mode and the &lt;meta&gt;-tag triggering IE 8 standards mode? This question was already asked by Chris (see anchor #7199332 in this blog entry)

E.g.:

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;

(...)

&lt;meta http-equiv="X-UA-Compatible" content="IE=8"&gt;

3-

What are the efforts currently deployed by Microsoft to help, to assist, to support ordinary web authors into upgrading their poorly-coded (invalid non-compliant tag soup) websites which may have been coded many years ago and with Microsoft products such as FrontPage or MS-Word HTML Save/export feature?

4-

In what way, in which manner is Microsoft inciting users with IE 4, IE 5.x and IE 6 to upgrade their browsers?

5-

If choosing the IE 8 standards mode will render webpages pretty close to what Firefox 3, Opera 9.5 and Safari 3, then why was it not doable, acceptable to ask website authors to develop their webpages with web standards, then check/verify/adjust if needed to Firefox 3, Opera 9.5, Safari 3 *and IE 8 in standards mode*? This is what I do not understand. If the gap between IE 8 and other acid2-compliant browsers is going to be small, then it should not be too difficult or too long for web authors to make adjustments for making all acid2-compliant browsers to render webpages approximatively the same. My reasoning is that it would not have represented a huge amount of time, energy for web authors to create webpages that would be rendered as expected in Firefox 3, Opera 9.5, Safari 3 which would be rendered also as expected in IE 8 in standards mode.

6-

Will (and when will) Microsoft update and upgrade its very own MSDN web authoring articles to propose and to educate amateur web authors into upgrading their webpages? Many MSDN articles (and examples in MSDN articles) are still proposing user agent string detection scripts (browser sniffing) as a way to detect browsers and not by using conditional comments or by using proven-reliable, widely recommended and acknowledged-as-best feature support detection and object support detection. Eric Lawrence says it does not help to point fingers ... but really useful, truly helpful MSDN tutorial articles on web authoring according to widely acknowledged best coding practices and W3C web standards can and will help web authors (into moving forward, with W3C web standards) and, in the final instance, users.

Regards,

Gérard Talbot

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:40 PM by Tino Zijdel

This is exactly what I've been afraid of ever since Chris started on a 'switch' for browserversions in the HTML5 WG. This is really hurting compatibility and interoperability between other browservendors and therefor can only be seen as an MS monopoly play on the browser market. Having to opt-in to standards compliance, wereas other browser already provide that as a default, is a slap in the face of all serieus webdevelopers. You really need to reconsider your commitments...

# re: Compatibility and IE8

Tuesday, January 22, 2008 8:58 PM by kk

<aho> ma fein ins blog gespammt

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:01 PM by minimalist

@Mystified

Wow! Oddly enough, that does sound good.  Very good. Make IE8 as spec compliant as possible, then let the user choose "classic" mode, if they are having trouble. Awesome!

As a site developer, your users will be able to go to classic mode to view your existing sites today without issue... then when you are updated, tested, and ready to go with IE8, they can go into "advanced" mode (or whatever you want to call it)

And for those of us that have been begging for spec compliance since before my first child was born (he's 5 now), we can go straight into standard/advanced mode the day IE8 launches.

That all said, I'm not overly worried about this fiasco with the meta tag (and yes, it is a  complete mess) because the day IE8 comes out is the day that IE6 users will get a "Your Browser is out of date" message.  I'll provide a link to upgrade to IE7/IE8 as well as a slew of better Browser options like Firefox and Safari.  They can make their own choice with what they want to use.  Of course any of them on Win98, WinME, or Win2K will not see options for IE7/IE8, only the better browsers like Firefox, Safari and Opera.

JUST CANT WAIT TO DEPRECATE IE6!

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:05 PM by David Naylor

Chris, what about having "IE7 mode" or "quirks mode" as client side options? (Having IE8 standards mode as the default.) That way companies can use IE8 without having to touch their archaic intranet apps...

I just feel it's such a shame to wrap your spanking, shiny new rendering engine in a load of 90's-ish ie6 rendering.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:10 PM by BryanSD

This is just plain crazy.  So what you're saying if from here forth...any time we want to make our site take advantage of Internet Explorer following the standards...we need to add a meta tag?  This may not be that difficult to do/remember for IE8...but what happens when IE9, IE10, IE11, are released?  A new meta tag for each new version of IE...just so the browser will render a page following the standards being used at the time the new IE is released?

One of the biggest problems I see with Microsoft's products is the forever preservation of the past.  Everything is becoming so bloated.  But alas, that is a soapbox for another time.

Personally, I was glad IE7 broke IE6 compatibility.  Yes, it was a hassle to deal with on the corporate Intranet...but it got people in organizations finally updating their pages to standards of today and not yesterday.  With IE7 and Firefox finally behaving in a similar manner regarding CSS...people in the office started using Internet Explorer once again.  Move forward, not backwards...in the long run it will be good for IT and users of Internet Explorer.  In the above proposal, we seem to running to the past, present, and future all at the same time.  Very confusing for all concerned.

Of all the proposals given in the comments, I like the idea of allowing IE7 and IE8 to remain installed on the same operating system.  If you really want to help developers and users...that would be a very good move for Microsoft to make. IMHO.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:16 PM by Geoff Pack

Fck, what a horrible, stupid mess this is turning out to be.

We already have CSS hacks and conditional comments so we can target different versions of IE. Now you want us to add meta tags as well? Where does it end?

How about you do a formal poll of the world's web developers and let us decide.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:31 PM by Ben Buchanan

Why why WHY are you making people opt IN to IE8 instead of letting bad developers opt out?

If someone has created a site so badly that it will break in a better browser, be it on their heads. But, throw them a life raft and let them invoke the old IE rendering engine. Or let them use conditional comments to sort it out - you've already released a proprietary hack, how many do we need?

The system could work if everyone out there did the right thing. But what is far more likely is that thousands of lazy developers will never add the tag, leaving their pages stuck at IE7 until the end of their days. They will never use new features, they will never learn to build to standards and their sites will never work in a decent browser.

Please make this opt-in, not opt-out. If people had misguided expectations and lazy development habits (specifically, only building for IE), make *them* do the work to stop their sites breaking.

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:33 PM by If there had been transparency for the past year...

If there had been transparency with developers over the past year, we wouldn't be in this mess at all.

By holding it all in, then bursting it on the masses you've gotten everyone up in a tizzy.

I agree with anyone on this blog or any other that is frantically raving mad about this issue.

I want IE8 - Standards Compliant - Out of the box!

No hacks, no shims, NADA!

If we don't do this, every version of IE that is released will add yet another layer of hacking bandaids to fix legacy problems in IE.

If the site/application you use daily doesn't support IE8, fine. DONT Upgrade because lets face it - If you don't want a better browser - why are you upgrading?

Let the developers get their sites up to snuff in 2008 - ready for IE8, then unleash it, and be done with it.  No more hacking.

Can't believe this was dropped on everyone like this.

Once again you've proven that IE NEEDS a Bug Tracking / Feature Request Database. *-ing badly!

# re: Compatibility and IE8

Tuesday, January 22, 2008 9:49 PM by Craig M

This is wrong for so many of the reasons already discussed above. In a nut-shell, honor the rendering mode specified in the DOCTYPE; do not create yet another one that needs to be opted into.

But being Microsoft, I doubt any of our complaints will be change the end result.

At the very least, allow the user to override any rendering mode. I want non-standard, poorly designed pages to render poorly, and standard-compliant proper pages to render standardly _regardless_ of the IE8-specific opt-in. Let me, the user set the rendering mode. Ideally it should be in the Tools menu, but even a registry switch would be appreciated.

While probably futile, I must ask you to re-evaluate this issue. I think that you are making a grave mistake so bad that the future of IE hangs in jeopardy.

# Mystified's IE Classic

Tuesday, January 22, 2008 9:55 PM by thacker

Having read most of the blog chatter appearing on the Net, as of the time of this post, regarding this issue, <a href="http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7203041">Mystified's IE Classic suggestion</a> is brilliant.

Considering that a browser upgrade of IE requires compelling reasons, such as its interface, and the browser upgrade not breaking corporate Intranets, could such a concept be practically applied?

I don't know. I am not a browser developer.

Wilson, what are your thoughts, please?

Thank you.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:06 PM by Ron

Backward compatibility is important, but this implementation is flawed.

You've redefined "standard" in an IE browser as "IE7".

If I don't insert the meta declaration, I get IE7 as it exists in 2007/8 forever? Which patch level? Hotfix?

How do I declare that I want this page to be rendered "according to the standards, now or in the future"?

Will you guarantee that this meta element really is HTTP equivalent and will be honored if it's in the HTTP headers?

Will Microsoft's server side infrastructure generate this meta element? If not, when will support for it be added?

How many IE versions of "standard" will IE support in the future?

Does this apply just to the rendering? What about the DOM? Javascript? CSS? Event models?

If one frame is in "IE7" mode and another is in "IE8" or even (gasp) "standard" mode, which frame is the one that applies when cross-frame activity occurs?

Can you at least make the declaration more flexible than "="? Maybe the ability to express a range?

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:12 PM by Diego

"Microsoft, making things more complicated than they need be." (tm)

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:21 PM by game kid

@Craig M: "... @Alex: there's a registry key that can force on IE8 standards mode, yes.  No recommended for average use, obviously. ..." http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx#7202029

Personally, I do think a UI option (Tools->Internet Options->Advanced or something) to set IE8 standards mode would be nice, and it should ultimately be set some months after IE8's release (6?) as the default if unspecified by the user/page.  Ultimately the user should dictate what rendering they want if they know the consequences of such a setting, and their rendering should be able to override the page's.

The mass Internet heart attack here gave me a good laugh though.

# re: Standards and IE8

Tuesday, January 22, 2008 10:32 PM by Alan Gresley

No, no, no, don't do it Chris. Don't do this please.

You're saying.

"MS responsibility to deliver both interoperability (web pages working well across different browsers) and backwards compatibility (web pages working well across different versions of IE). We need to do both."

Why, why, why?

And if you must, why can't one comment appear instead of a hundred million IE meta elements?

/* [IE standard] */

I will support you with this on the CSS WG list.

I do apologize Chris for referring to you as Colin for half a year on my site.

# IE never fails; it is only failed

Tuesday, January 22, 2008 10:35 PM by Dan Lewis

cwilso said:

===

I'm open-minded, and I'm listening.  I didn't like the concept when it was first suggested; however, the evidence has proven to me that it's necessary, since I got to see how many things broke when we shipped IE7 (and we have a lot more to do).  I got a first-hand view, as I personally deconstructed a lot of broken sites, and time and again I would answer someone's "IE sucks!!!" post with a deconstruction of their site that showed they were expecting us to be broken, and were in fact feeding us explicitly different content than other browsers.

===

This example cuts more strongly against your argument than for it. Your primary complaint here is that your users are trying to hack around your browser engine, and that they're not doing it well enough.

IE never fails, it is only failed.

But anyone who feeds IE crappy content like you said actually has a standards-compliant website just sitting there. If IE could render it, they wouldn't be trying to hack around you in the first place. IE's non-compliant rendering mode is causing the problem you claim to need to solve... with another non-compliant rendering mode.

===

"in general, even authors who write their content to standards end up testing (and tweaking) for IE6. Those tweaks might be detrimental to IE8 (or 9, or 10...) - there's no way for us to tell."

===

I understand that you feel responsible for all the misbegotten babies you spawned and sent into the cruel world. But if there were ever a time to murder your darlings, this is it.

===

"If they install a new browser and their sites are broken, they uninstall the new browser."

===

Well said. Microsoft just disagrees with the rest of the world about what makes a site broken, that's all. I guess Microsoft is betting that if content providers have to choose between Internet Explorer and standards-compliance, they'll choose IE. Good for IE, good for Microsoft, bad for standards, bad for the Internet. I am a little more optimistic; maybe they will uninstall Internet Explorer instead.

But at least we know where you stand.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:36 PM by Guru

People like Dean Hachamovitch, Chris Wilson and the whole IE team should be ashamed of themselves for this disgrace of a so called IE8 browser and continued usage of hacks to get things to work right.

This makes my life easier though, I'm just gonna leave IE users with broken experiences and continue to convert people to standards compliant browsers instead.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:48 PM by Art Wyatt

Two steps forwards, one step back. This is very, very weak.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:52 PM by Pedda

As I will have to make sites work with at least IE6 & 7 anyway, why should I bother putting the meta tag in?

By the time the market share of IE6 & IE7 is low enough to drop them from the supported Browsers, the sites I build now (and probably still in 2 years) are long outdated and replaced by re-designs.

So I think this whole Idea will lead to less change in development:

Building standard conform sites without the meta tag and then all the CC's needed to make it work in IE5 / 6 / 7 (as all the higher IE will render like IE 7 anyway).

Why should I test on another IE, when you promise me it will work like IE7 by default AND I have to make it work in IE7 anyway as well.

I wonder why you bother fixing bugs in the rendering engine, when the average site won't take any advantage?

If this "feature" would have been part of IE7, how many developers would have said "don't bother about IE7, if you don't put the meta tag, it renders the same as IE6, so just fix it for IE6".

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:54 PM by JH

Speaking as a web developer who did more than his share of griping about IE, let me say I am very happy that IE 7 is better than 6, and was looking forward to IE 8. But this meta tag requirement pisses me off.

I had learned all the hacks and tricks to make IE 5/6 behave correctly (like no margins on the floated side of a box because they'll "double"). Then IE 7 came out and I suddenly had to undo hacks or re-implement them (in cases where the underlying problem wasn't fixed but something like the star html hack that had been used to target IE had been). You know what, despite the fact that the conditional comments to target IE are bollocks (Now I'm futzing up the HTML instead of confining IE hacks to CSS!), I actually liked this. It showed that you actually fixed things, and it was a kick in the pants.

One thing I *don't* remember was a lot of hoopla about "oh no, IE 7 just broke the web!" Please, just fix IE 8 to implement the standards correctly, don't worry about "breaking the web." Any person or business who cares will fix their website to work. If you have to have a proprietary and otherwise unnecessary meta tag, please require it of people who need IE 7/quirks mode, not the other way around.

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:56 PM by minimal design

As some have previously mentioned, the Standards compliant mode should be the default. Anything else is paradoxical at best...

Every decent developer nowadays build sites using Firefox, Safari, or Opera, THEN goes back and adjusts to make it work in the "most buggy browser in the World" or was it "the most popular browser in the World"? I forgot... ;)

Anyway, if the concern is backward compatibility with poorly designed websites, then a drastically different User Agent string would seem to make a lot more sense to me...

Of course, my personal opinion on this subject is to just let those websites break. If they already have another standard compliant version, it won't be too hard to make it serve IE8 too, and if they don't, then it's the perfect occasion to clean up the web... I seriously don't think the whole market share issue is relevant. When a site breaks, people always blame the site, not the browser...

# re: Compatibility and IE8

Tuesday, January 22, 2008 10:58 PM by Chris

Please. Enough already. Just put the goddamn thing in standards mode and lock it there. We have been waiting for years for you lot to cut off the albatross of broken compliance. And now you give us this horseshit about needing a special meta tag to persuade your browser to function according to the spec.

MSIE is not the only HTML/CSS client in the world. Please stop acting as though it is. If you want to offer some silly meta-tag induced nonsense, then reserve the special tag for those who want to enable the noncompliance -- not the other way around.

# Standards Mode by Default

Tuesday, January 22, 2008 11:03 PM by Chris Anderson

That any sane browser would REQUIRE NON-STANDARD META TAGS to trigger a standards engine, seems to be an overwhelming sentiment from the posters above. Grep the page for "default" and see the chorus of voices.

All browsers must be in Standards Mode by Default.

The web evolves, and requiring opt-in action by beginners and standards-naive developers to use the up to date standards, works against the democratic nature of the web.

So a commitment to Standards Mode by Default would make IE relevant again. Otherwise, why bother?

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:06 PM by orlando

guys, do you really believe that this decision is technical?  *all* Microsoft decisions are 80% PR oriented ... they horribly fear bad press

long life to *real* standards, long life to Firefox, Opera and the true browsers

amen

             orlando

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:24 PM by Robster

If all the people posting comments on this website spent a bit of time moving all their friends onto Firefox, perhaps the problems would be far less? I try to like IE but even the first 5 seconds of using it annoy me when it over-rides the URL I start typing.

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:39 PM by Pete

I understand the MSFT goal, but I don't understand why you can't change the agent string.  Can you please elaborate on why that's a problem?  

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:43 PM by eni

..and I was just starting to think that guys @ M$ are finally going to be sane.. but nope, I was wrong. well, you can stick your meta element somewhere, guys. :)

# re: Compatibility and IE8

Tuesday, January 22, 2008 11:51 PM by Shining Arcanine

Chris Wilson, by choosing to use meta tags to specify standards support, you are recreating the doctype, rendering both your new creation and the existing doctype meaningless, as by being the solution to a new version of the same problem that was previously solved by the doctype, the use of meta tags to specify standards support will share the same fate as the doctype, meaninglessness. By taking this course of action, you are only prolonging the problem that you believe you are correcting, much like a drunkard, as by drinking alcohol, he only prolongs the problem he believes he is correcting, which is his self imposed inability to deal with the problems and consequences he must face if he faces reality.

Mr. Wilson, I am not sure if you are a fan of Star Trek, but there was this one episode of Star Trek: The Next Generation, where the enterprise was caught in a time warp, and the enterprise repeated the same day for weeks until its crew was finally able to break the cycle upon realizing what was happening. In the context of that episode, the enterprise is the internet, the crew of the enterprise is the IE team and the use of a new doctype because the previous one is used in webpages that are compatible with the previous version of IE, but not the actual standard, is what traps the enterprise in the time warp.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:00 AM by John A. Bilicki III

I think this is a great idea! I hadn't considered meta elements though they are an obvious answer. Any well written website with consistently written code such as mine will only require a find and replace to insert the meta element.

Also...

WE ARE NOT DEVELOPERS!!!!!

Developers work on databases and server side languages. Designers work on client side code. These terms are ***NOT*** interchangeable! It does not mean however that a designer can not do development work or vice versa however I have yet to witness someone who has mastered both. Frankly I know a lot of great developers who are great at developing code but completely suck at understanding client side code. Referring to designers are developers feels insulting, almost as much as calling a web designer a graphic designer. Do us a favor and at least reference us correctly!

-end rant-

Any way thanks for the news on the new standards mode trigger. As a designer I look forward to messing with IE8 but take all the time you guys need.

- John

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:05 AM by dan heskett

I don't think you get it.. Microsoft.

Until you really fix IE, nothing else that you do matters.

Remember, "developers, developers, developers?"  

That was quaint.

Developers don't want three rendering engines in one browser; developers don't want TWO rendering engines one browser; but we have it because of you in the first place.

Instead of this whole song and dance, let's do this.  Instead of releasing a gigantic mono-lithic beast every third or fourth year, release updates monthly to the standard compliant renderer.  Got it?  Put out your best  version in a reasonable time, and then open it up for public bug reports, and then, fix them.  Every day.  Every week.  Every month.  And then release them, every month.  Forever.  Until all the bugs are gone.  At first it will be hard.  You'll be flooded.  And a bunch of people working on some other stuff will have to come in and work on this instead.

But then, after a while, all the big bugs will be gone.  And it'll be just stuff that people can live with.  We'll still have two engines, but that's it.  Not three.

And developers will praise you.  Because really, you're doing everyone a favor.  

Developers only hack their sites for IE because they have to.  If we had confidence that you'd fix these bugs more than twice a decade, we wouldn't be hacking the sites.  We'd workaround until you patched the bug.  

Microsoft - everything you are doing outside of IE doesn't matter.  .NET 3?  Silverlight?  Visual Studio?  Office?  XML?  Windows?  Windows Server and it's stack?  Middleware?

IE is killing you.  Fix it, or you will die.  

# Not a good idea

Wednesday, January 23, 2008 12:27 AM by ADAXL

This new trick will only stall development. Why produce standards-compliant code when you can use a tag that declares your trashy excuse for HTML "compatible with IE6"? Instead of producing a browser that supports standards well, Microsoft tries to futz around with the way the web works.

No good.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:33 AM by Paul

<<--MSIE is not the only HTML/CSS client in the world.-->>

No, just far and away the most popular one.  Windows is the most popular OS because of their heavy commitment to backward compatibility.  What do you think that suggests about how important backward compatibility is?

<<-- Instead of producing a browser that supports standards well, Microsoft tries to futz around with the way the web works. -->>

Precisely the point.  Microsoft is building a browser for the actual web, not for the so-called standards.  Ever notice that the "standards" are mostly written by IE's competitors, who have little marketshare and are just oh so bitter that they haven't figured out what matters to users yet.

Debating here is pointless... we'll see what share looks like in 5 years.  I'll tell you where I'd put my money...

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:34 AM by Kidson

... and this just proved why IE in general is a pain in the arse to work with: Because the development team have no intention of doing the sensible thing.

If you want your site to be properly supporting all browsers and standards, all other browsers do it by default... but with IE8? No, you have to opt-in for that to happen.

WHY?

By the time IE8 comes out, IE6 should no longer be supported as a browser. We're moving forward, and there only so far back you should (logically) support. There are STANDARDS for a reason, and UE has NEVER fully supported them the way they should.

If sites refuse to update and become compatible with current methods and technologies, then that's their problem. That's like people who still use horses for transportation and complain that they can't get to point A to point B because there's no safe road any more and everyone uses cars, so to support them, you make a dirt rode by the highway. MOVE ON MICROSOFT.

Support IE7 at the minimum when IE8 is released, and drop IE6, and stop trying to support archaic browsers that just aren't worth it any more.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:44 AM by Alan Martin

I Honestly and truly cannot understand why you people are getting paid.

either the browser is standards compliant or not. you dont "opt-in" for standards. The Idea is ridiculous.

No mistakes were made with previous versions of IE... the IE team was not dumb.

non-compliance was, for whatever good business reason/spin at moment was...a CHOICE.

So not only are you not truly fixing IE, here you are doing it again...INTENTIONALLY making a choice that stupid little hacks are needed to get ie to render correctly.

no sir, you dont get to put out another browser with so many Ifs Ands Buts Or Maybes - and get to call it a standards compliant browser.

YOU ARE DOING IT AGAIN.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:47 AM by Paul

I don't think you guys get it - making this switch opt-out would effectively kill millions of intranet sites.  Making it opt-in kills *zero* sites (at least none that weren't already dead in IE 7).  I know IE 7 didn't require much work to support but it's pretty obvious that IE 8 is a much bigger change.  Saying that MS should break compatibility is like saying "shoot yourself now" (since it would mean they would essentially giving up on a large slice of the corporate market) which is obviously not going to happen.

Which would you choose?

a) An opt-in IE 8 mode with new features plus hundreds of javascript, DOM and rendering bugs fixed?  Possibly even with lots of old IE-specific stuff dropped (document.all, etc).

b) New features only.

These are the only two courses MS is going to consider.

For those saying you don't want to insert a piddly one-line meta tag; don't then!  Your site will continue to work exactly as it does now.  Certainly you don't need to change all your sites - what would be the point?  Presumably you have already done all the work required to make your site work across all the major browsers... don't fix what isn't broken.  This tag is only required when creating new pages - and you'd have to be pretty stupid to forgoe adding a one line meta tag when it could potentially save you hours of coding browser hacks.

(No-one is complaining about the current "quirks" mode - how is this different?  Just because there are three modes instead of two?  If IE 8 mode was triggered by the HTML 5 doctype would that be OK?)

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:52 AM by Mystified

Just make one toggle button next to the address bar that says: [IE Classic]

Problem solved. Go to bed.

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:10 AM by Gérard Talbot

@Ron

> How do I declare that I want this

> page to be rendered "according to

> the standards, now or in the future"?

<meta http-equiv="X-UA-Compatible" content="IE=edge">

> How many IE versions of "standard"

> will IE support in the future?

There are 3 (2?) right now, if I understood correctly. Or even 4 with "edge".

<meta http-equiv="X-UA-Compatible" content="IE=6"> I'm not sure this "IE=6" standards mode is actually going to be supported by MSIE 8.

<meta http-equiv="X-UA-Compatible" content="IE=7">

<meta http-equiv="X-UA-Compatible" content="IE=8">

Regards, Gérard

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:47 AM by SchizoDuckie

Quote @ Paul: "I don't think you guys get it - making this switch opt-out would effectively kill millions of intranet sites.  Making it opt-in kills *zero* sites (at least none that weren't already dead in IE 7).  I know IE 7 didn't require much work to support but it's pretty obvious that IE 8 is a much bigger change.  Saying that MS should break compatibility is like saying "shoot yourself now" (since it would mean they would essentially giving up on a large slice of the corporate market) which is obviously not going to happen."

Actually, they already broke the web TWICE! First time, they got sued, patched *every* browser for the EOlas thing. thén they released IE7! wich fixed stuff in the microsoft way: unpredictably and with loads of new crap to figure out. WHY is there so much reluctance now to do that again for the good cause??? If every site that had to be fixed for IE6/eolas and IE7's crappy stuff has to be fixed again for IE8, so be it! It will be painful, but i wíll fix stuff indefinately ánd be done in 1% of the time it cost us to do the first 2 times, thanks to the HTTP header option! (Which actually ís a good proposal, as it can be deployed by default on (intra)webservers with minimal configuration changes))

@cwilso: Considering the above, I *REALLY* *DO NOT* see *any* good argument for opting *IN* to standards based development other than that your bosses probably have had a warning by some big corporations that they would stick something very very large up your rectums if you broke all their old, crappy, IE-only sites again... Stop that stuff about breaking the web! Firefox, Opera ánd Safari do not *NEED* any method to trigger some kind of standard mode, they work just fine. Why WILL IE?!?!

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:00 AM by PlNG

Fine, IE 8 Passes the Acid2 Test, which has been around long enough, but that doesn't satisfy me.

Does it pass this test?

http://www.css3.info/selectors-test/

IE7's MISERABLE report:

From the 43 selectors, 13 have passed, 4 are buggy and 26 are unsupported (Passed 330 out of 578 tests)

That's 30% CSS2 support for those doing the math, and CSS3 is approaching.

Pass that test and I'll be a very, very, VERY happy developer.

Oh, and break the goddamned web and leave the mistakes behind.  There's a point when backward compatibility becomes a hindrance and I say CSS3 / HTML5 is the line, because CSS2/HTML4 have been around long enough.

If IE goes full standard (and hell still hasn't frozen over IMO), then developers worldwide will rejoice.  I don't want to have to insert some special meta tag to get IE to behave the way I want it to.

Stop supporting webpages created by those that you find in webpagesthatsuck, especially the "over the top" variety.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:03 AM by Christian

I agree with the previous post from David Naylor. The browser should have a manual switch to change rendering modes. Whenever something is displayed wrong on a website the user could switch to the alternative rendering and in the best case the client would remember this setting for this website. I absolutely dislike the idea of adding metatags. What will happen in the future? I tell you what will happen: Designer have to add 25 different metatags for all different kind of browser versions. That's not the direction we wanna go. MS messed it up in the first place. Now please keep the junk in your clients!

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:09 AM by Paul

@SchizoDuckie: Contrary to your statement, at least Firefox requires a recent doctype to trigger standards mode.  See http://developer.mozilla.org/en/docs/Mozilla's_DOCTYPE_sniffing for the official docs.  What I find ironic is that (according to the link above) Firefox actually has three modes (similar to what is being proposed by the IE team): standards, quirks and "almost standards".

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:13 AM by SchizoDuckie

@Paul, Sorry my mistake. The point i was trying to make is that they are able to render the web as it is without any proprietary lock-in hacks. They éven render most M$ only crap correctly, which is why the  'almost standards' way is actually there ;)

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:17 AM by Isofarro

Paul asks: "

Which would you choose?

a) An opt-in IE 8 mode with new features plus hundreds of javascript, DOM and rendering bugs fixed?  Possibly even with lots of old IE-specific stuff dropped (document.all, etc).

b) New features only."

I'd chose c.):

c.) Let Microsoft fix the mess they've got themselves into. We continue building standards compliant site, and advocating the use of standards compliant browsers.

We owe Microsoft's clients nothing. All those companies that built intranets using proprietary protocols like Active X and Internet Explorer 6 lock-in - they are getting exactly what they deserved.

Its clear this proposal is a statement that Microsoft cannot support both its IE-locked-in-market or web standards. That failure is entirely due to Microsoft, and we, as web standards compliant web developers owe them nothing.

Firefox, Safari and Opera didn't require hand holding and special attention to get to their current states. Internet Explorer shouldn't be given preferential treatment, and standards compliancy shouldn't be a second class citizen.

This is not our problem. We should do nothing to encourage this tactic.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:23 AM by Dalibor Topic

I'm curious where Microsoft finds the sort of developers/managers/marketers that came up with this, and thought it was a great idea.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:41 AM by Cheong

I guess still try to render the website correctly, but display a small sign that "This website breaks the web!" will serve them well enough. At least the managements who read about it will ask the lazy web designers to fix their pages...

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:45 AM by sw

Please make fully standards compliant mode the default. People who want to code to a specific browser version can use your meta tag when you backport it to IE6 and IE7. Web pages without the meta tag should render in the best way possible, so IE users finally get to see what Firefox, Opera and Konqueror users already have.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:52 AM by Ted

<<I'm curious where Microsoft ... thought it was a great idea.>>

I think the consensus is that this is actually the least bad option out of a lot of worse choices.

It's pretty clear from the comments here that MOST remarks were by people who didn't bother to read both this post and the linked post, or didn't understand either.

Now, note I didn't say ALL... there are some legitimate "I understand why you did this but I think you should break sites" remarks.  Those remarks indicate a good understanding of standards and why they matter, and a poor understanding of the market for web browsers  in particular and software in general.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:04 AM by James

cwilso: "Our point is to NOT make web developers sort out our errors themselves, nor serve penance for the things we've gotten wrong in the past."

How is making every standards-compliant web developer add a non-standard tag to their page to get it to render correctly in IE8 not making them serve penance for IE's non-standards-compliance in the past?

Web designers who work to the standards can often develop in FF, Safari or Opera and have their design work in all three, then they have to spend extra time making their design work in IE. And why would users upgrade to IE8 if it doesn't offer better rendering by default? Particularly since designers will just design for IE7 forever, since that is what you are etching into stone with this decision.

In case it's not clear: Make the standards mode default, and IE7 or IE8 modes opt-in, so people who have done testing and know they need to be rendered by a specific version can ask for it. Don't punish the developers who create pages that work in every other standards-compliant browser out there.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:04 AM by hmm

@Ted

Do other browser vendors have a poor understanding of the market for web browsers? I mean, since they are opposed to this as well...

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:09 AM by hmm2

So IE8 will not pass the ACID2 test? It needs to display the result using the default configuration of the browser and without change to the source code of the page.

(That question has been left unanswered in previous comment by MS)

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:14 AM by Dirk Nederveen

I think this is a bad idea. I mean it. A really bad idea.

1. This workaround puts responsibility to the web developer. In other words: this is like saying that the standards-aware developers should fix the problems created by lazy, stubborn or just uninformed developers.

2. Using 'edge' still introduces a new quirks mode for each new version of a browser, since IE8 will contain rendering errors, IE9 will contain errors and so on, just as Gecko 2 and KHTML/WebKit version x will.

Developers should, while building a web site at times of IE9, consider all these things:

- there might be users with pirated copies of Windows XP that use IE6

- there might be users with legitimate copies of Windows XP that use IE7

- there might be users with Windows Vista using IE8 that don't want to upgrade

- and there is the group of people with IE9, which has just some other rendering bugs than i.e. Gecko has.

That makes 4 extra debug cycles to build a website. Even while developing for IE9 the cycles stay 4, just replace the last step with debugging your site for Gecko/WebKit etc.

To cite some other Guy (pun intended):

'Hrm, so we can either take the blue pill (the meta switch) [...] Or the red pill (a version of IE that works _correctly_ by default): Sure, some sites will break. Great! Fix them or watch them fade to obscurity. Fewer bug-dependant sites for browser developers to worry about. Problem solved.'

(http://annevankesteren.nl/2008/01/ie-lock-in#comment-6396)

Dare to break bits of the web, a crippled man (which IE now is, in my opinion) cannot walk with bad crutches.

To, at last, cite one of my favourite teachers:

'Take chances, make mistakes, and get messy!'

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:30 AM by noin

This is a GOD AWFUL IDEA. MS once again, fails to deliver. I'm disappointed and hope you change your mind.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:33 AM by TX_Engineer

It seems to me that Microsoft WANTED to be the Dominant Browser very badly in the late 90's. Now we see what they've done with it and it stinks.

First they "break the Web" with IE7. This won't ever go away because so many pages are already written for IE6. Do you think those pages have no value and should be tossed out like Windows 95? That's Information, History, Source Documentation, etc. Get it! Some of those Pages are important stuff!!

So after they "break the Web" now they are forcing us all to use their New and Improved BROKEN Browser. I LIKE INTERNET EXPLORER 6 SP1! Why are you guys at Microsoft so obsessed with fixing stuff that works fine? Maybe you could better use the Developers you've got to make a Secure OS. Vista is a mess after all the delays and promises.

In the end it seems Microsoft is more focused on what it wants than what serves it's customers.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:39 AM by Brian Sexton

"If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article."

That is one of the worst ideas I have ever encountered.  Why should we need to use *EXTRA* markup to tell one particular browser to do things *THE RIGHT WAY*?  Please stop polluting markup with Microsoft-specific garbage.

I think you should support standards, period.  Anything that doesn't work properly in a standards-compliant browser was poorly made and for the sake of long-term forward compatibility, it should be allowed by Microsoft to break.  Anything important will be brought up to spec and will likely work more reliably across all standards-compliant browsers.  Microsoft can help *FIX* some of the damage it has helped sloppy, lazy, browser-specific Web developers do to the Web by supporting interoperable standards, so why perpetuate poor code and markup instead?

For a giant corporation with a long history of throwing its weight around regardless of what anyone else thinks about it, you seem strangely set on pandering to the absolute worst Web developers and publishers in the world.  Why is that?  Do you fear what might happen if most of the Web suddenly became interoperable instead of remaining tied to Microsoft browsers through old browser-specific code?

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:46 AM by Rowan

This reminds me of the "IE7+" debacle: http://blogs.msdn.com/ie/archive/2006/05/26/608255.aspx

"I want to announce that we will be naming the version of IE7 in Windows Vista “Internet Explorer 7+”."

Three months later: http://blogs.msdn.com/ie/archive/2006/08/04/688899.aspx

"I had mentioned a while back that we planned to call the version of IE7 in Windows Vista “Internet Explorer 7+”. Well, the feedback we got on the blog was overwhelming – many of you didn’t like it. So, as we’ve said on our website, we heard you."

Please hear us out again!

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:49 AM by Optimist

@Paul: You know that Microsoft was a part of the group that decided the official standards right? To say that the standard is decided by the competitors is complete nonsense

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:51 AM by Panu K.

In current situation there is no way to upgrade to IE 8 without breaking some sites. It is unfortunate, but it is reality. However, to minimize affected users you should do following things with IE 8. These methods are all suggested before here but not yet collected to one post:

1. Use quirks mode if no DOCTYPE is found

2. Use most recent standard mode if DOCTYPE is declared

3. * Change the browser string in IE 8 * - that way sites which use browser sniffing will not send old IE specific code to IE 8.

4. And as a last resort for sites which will be broken: Sites must  fix their HTML with the new X-UA-Compatible meta element or better yet start to use standards.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:57 AM by Martin O

We, the web developers, do not want any more special treatments for IE only, so PLEASE DO NOT force us to add some kind of opt-in meta-data to get IE to work like all other browsers...  We are already fed up with those ugly conditional comments we have to add because IE is the only browser that needs complementary CSS-files, all other browsers can use the same CSS-file.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:00 AM by Richard Tallent

@ Paul: "I don't think you guys get it - making this switch opt-out would effectively kill millions of intranet sites.  Making it opt-in kills *zero* sites (at least none that weren't already dead in IE 7).

Simple, elegant solution:

- In IE8, "Standards Mode" defaults to IE8.

- Most developers writing *FOR* IE7 will quickly add native support. Those who can't can just add the "please look like IE7" META tag.

- Have a System Policy also available to switch to IE6/IE7 on a *per-domain* basis. Solves IT issue when adding META tags or response headers isn't practical.

Many companies can't even upgrade to IE7 due to IE6-specific intranets. Making IE8 default to IE7 mode won't help, but giving IE8 the ability to emulate IE6 or IE7 for certain domains would allow corporations to actually *upgrade* their browsers while they figure out how or whether to upgrade the old IE6-legacy intranet sites.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:08 AM by Rimmer

Dump backward compatibility, make web author follow standarts as you do (it is possible). Open a campain for it. Those who won't switch their sites to standards mode, are NOT interested in being well on the web. Kill IE6 permanently, hurt designers but help the whole web. I think it will be less evil and less bloat to IE8.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:13 AM by Martin O

IF you of some reason choose to add this idiotic meta-tag, I still hope people just have to add it to their page when using transitional or no doctype, NOT when using the strict doctype?

# [off-topic] re: Compatibility and IE8

Wednesday, January 23, 2008 4:27 AM by Benny

And guys what I really don't understand is why a development network is not able to create a thread based board for comments. This page is HUGE already.

Benny

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:28 AM by Paul

@Richard Tallent: that's great, except that for some period of time millions of internal sites will not work.  You might be OK with that, but in that time lots of CIOs will decide to never upgrade to IE 8.  Believe me, there are lots of companies which mandate IE 6, for just this reason.  I am guessing MS isn't keen to repeat the situation with IE 8.  (And no, they won't switch to another browser - the whole reason they won't upgrade to IE 8 is because their internal sites are non-standards compliant.)

# Please, stop the BS with extra tags/etc...

Wednesday, January 23, 2008 4:28 AM by Ped

Just do the W3C standard correctly this time. No additional tags, etc. needed.

If with that IE8 project will be well inside budget, consider adding special tag for IE6 render mode and do that one too.

I think doing anything with IE7 rendering is waste of resources, IE7 is not spread enough, and those pages who did adapt already to it's new quirks are very likely changing often enough to "adapt" quickly to full W3C IE8 anyway (actually they are very likely already adapted because of firefox/opera/safari/konqueror/...).

Please, stop doing these "Microsoft product behaves differently". Stick to standard.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:35 AM by Flavio

Please reconsider... I design for standards and manage *many* websites, I don't want to add a metatag to each one.

Also, imagine if every browser behaved like this...

This is plain stupid.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:36 AM by Ed Everett

I'm not comfortable with this idea with linking a page to a particular browser. And I appreciate that the IE team have a tough job...

But..

Perhaps you could add a something of the form "IE=Latest" for sites that are well built in the first place. So the site wouldn't be tied into IE8

Thanks,

Ed

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:40 AM by Heiner de Wendt

I understand the thoughts behind this idea.

You have to keep an eye on market share, which means you can't simply "break" current 'IE-compatible' sites.

But the solution you offer backfires. Many people won't use this hack, and the effect will be that websites will still be adapted to IE 6 oder IE 7.

Put short, your solution isn't future-oriented, which is both from a technical AND from a business perspective, a VERY bad idea.

What I would do is include a new button in IE 8, something like "render as IE 7" or "fix broken site". This way, developers testing their work in IE 8 will instantly see when they've created bad code, yet people visiting sites that "break" in IE 8 can easily switch the rendering mode to 'fix' things.

All the different browser versions (and I'm NOT only talking about IE here!) have turned life into hell for professional web developers. You won't make things better by messing things up even more.

Please, once only, take your responsibility serious, and get a balanced solution that both satisfies users AND pushes developers to create good code.

In a couple of years, you'll be happy forgetting about that quirky new meta tag.

# re: Compatibility and IE8

Wednesday, January 23, 2008 5:01 AM by Mitch 74

It's great that IE 8 will have a much better standards support. It's bad that it won't be on by default, requiring a switch. At least the syntax proposed for the switch won't send validators in for a loop, and actually appear in the DOM.

Still, it's bad that this mode isn't on by default - frankly, you should make at least (X)HTML Strict use it too, and display a visible notification that IE8 runs in IE7 mode (or lower) on all others. It would be sensible too, as those Strict modes are the basis for forthcoming HTML 5 - while Transitional and Frameset won't be compatible with HTML 5.

Why? Simply put, on all the websites I've found, those that got generated with tools usually use Transitional (or at least Frameset) as a Doctype. Those that use Strict are not very common. For the odd one out using a Strict doctype with non-standard/hacked code, a UI toggle should be made available.

Don't break the Web - Strict mode was always supposed to lead the way towards new HTML versions. Use it as such.

# Definitely one of the most stupid approaches

Wednesday, January 23, 2008 5:01 AM by Michael Meyer

Harmonizing rendering results by further diversifying rendering options? Ouch... sorry, no enthusiasm here...

> I’m excited by all the standards work

> we’re doing in IE8;

Well, due to my opinion many of our everyday life problems developing solutions for homogenous rendering results are caused by diversifications like the one you call your "approach". I would call your "approach" simply "another monopolists unique selling point idea".

It would help "us software- and webdevelopers" much, much, much further if Microsoft could finally stop further "exciting standards work" that simply mean further diversifications which won't change anything but increase work, time and costs for Microsofts IE-competitors.

Why can't Microsoft just implement a non-Microsoft standard "as it is specified", stop "fault-tolerant" standard-implementations which's side effects allow developers to use non-standard conform side-effects which further diversify rendering problems? Is it too difficult for you?

Microsoft caused many of the "compatibility problems" itself, by undermining standards with so called "extensions" (like your "great exciting approach"), which are nothing more but "a monopolist's approach to generate further unique selling points".

I'm a computer-kid, started coding with 8 years of age, programming for over 27 years now, and anything I can tell you about your "exciting standards work" is: learn implementing standards "as they are defined", stop undermining standards and "diverifying solutions" for problems you caused yourself.

That would help us MOST.

# re: Compatibility and IE8

Wednesday, January 23, 2008 5:23 AM by Dalibor Topic

@Ted: there is another least bad option for Microsoft: reassign the IE team to some more useful product, and get rid of IE for good. Just let it die.

# re: Compatibility and IE8

Wednesday, January 23, 2008 6:24 AM by gjv

I understand the importance about backward compatibility. However, a solution that relies on all web site developers to put an IE8 specific meta tag on their pages isn't credible.

It will just result in IE8's super standard compliant mode not being used since no-one will bother with those tags.

A web site is standard when it conforms to the standard, not when it conforms to the standard _and_ adds an IE8 specific meta tag.

The suggestion above about changing the way IE8 identifies itself is very good IMHO.

Combine that with an option for a user to add a broken website to the IE6-compatible-sites list (so that IE8 identifies as IE6 the next time it goes there) and you're done.

# re: Compatibility and IE8

Wednesday, January 23, 2008 6:28 AM by Ben Buchanan

@cwilso: Thanks for taking time to seriously engage with this comment thread.

You said...

<q>There's no easy answer, because it is impossible for us to tell whether the author wrote their content to standards or to IE's previous behavior</q>

There is a way to tell! If they've included a DOCTYPE, they've declared they want to render to standards.

If they did that in ignorance, it's time they started earning their money instead of letting Dreamweaver do their jobs.

Alternatively, MS can just throw them a bone and tell them how to bail out. People who didn't actually want that DOCTYPE are free to go and remove it from their pages and wear their Tag Soup badges as proudly as they like.

Or, more likely, just let them opt-in to the version target system. It'll still be less work for them than learning how to build to standards.

<q>even authors who write their content to standards end up testing (and tweaking) for IE6.  Those tweaks might be detrimental to IE8 (or 9, or 10...) - there's no way for us to tell.</q>

Well how about this: some of us used * html and *+ html. Ignore those in IE8 and we're all good! :) Or, if you're going to create a whole new thing - create an intentional selector hack for CSS. Conditional comments for stylesheets. It'll be a whole lot easier to update a stylesheet than modify every last file we maintain.

Alternatively some people use the conditional comment hack, which should specify an IE version. Again, no harm in IE8+ so long as the developers specify a version (which is what you're asking them to do now anyway).

I'm a happy hack wielder and I'll take the consequences. Don't do this on my account.

Yes, IE6 has created a legacy. But freezing half the world in IE7 isn't going to help move forward. It'll just freeze things up again. People too disinterested to know what a DOCTYPE is aren't going to engage with this process. They're not going to learn anything or "opt in to standards behavior on their own schedule". You're going to be stuck maintaining IE7 forever.

# re: Compatibility and IE8

Wednesday, January 23, 2008 6:35 AM by anonymous

This is foolish.

We already have conditional comments to sort the lack of adherence to standards -that Microsoft help create- for existign versions of IE.

IE8 *MUST* be fully standards compliant and *NOTHING* more.

If you guys keep looking back at your past mistakes there will be no future for the web.

Look forward, not backward!

# re: Compatibility and IE8

Wednesday, January 23, 2008 7:42 AM by Andrea

Is so difficult to be Standard Compliant and nothing more????

# re: Compatibility and IE8

Wednesday, January 23, 2008 7:44 AM by OooNo

I'm afraid this can backfire horribly. Imagine scenario:

• I get to update client's website that had been written for IE=7.

• I add a new bit of code and, typically for IE7, discover that IE gets it all backwards and workarounds are whack-a-mole game.

• So I switch to IE=9 mode, which has some bugs fixed... but then everything else breaks, because website had been blisfully kept away from progress for years.

• So I have to update everything anyway, just as if this whole switch never existed. I change old IE7 workarounds to new IE9 workarounds, and add HTTP header with IE=9 mode,

• and then some pages break anyway, because they've had hard-coded <meta IE=7> tag bringing IE back to its infant retardation.

Ugly, ugly.

# re: Compatibility and IE8

Wednesday, January 23, 2008 7:46 AM by Nathan Evans

I agree that this isn't particularly a good idea. It would be nice if IE8 started with a clean slate.

Personally I would bump this onto the user. Attempt to render the page using your new IE8 engine (IF and ONLY IF the page has a Strict doctype). If it detects ANY errors/warnings in the markup then display a message to the user saying something like "This page may not be rendered correctly, do you want to try rendering it in compatibility mode?". Then it's just a case of them clicking Yes or No.

It's the only way that you'll be able to break free from the chain of backward compat.

Yes it will be annoying for the first couple months whilst web sites update their sites to fix bugs or whatever. But at least in the time being the users of IE8 will have an easy to reach, single mouse click, way to still view the web page.

You could add the site to an internal list of domains as well. So if they visit the site the next day then it won't ask them again. But you could make it remove the sites from this list every 14 days or something so that periodically the browser would "retry" to render it using the IE8 engine.

I don't know - but I'm CERTAIN there must be some user-oriented way this can be solved.

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:04 AM by Gareth Adams

This is a genius idea. All the nay-sayers need to think again about what the implications actually are.

This means I can include a tag like the following:

<meta http-equiv="X-UA-Compatible" content="FF=3" />

and IE will be able to switch into Firefox 3 rendering mode...

Right...?

Guys..?

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:18 AM by Grey

You, the guys who decided on this, and especially those that should know better, should be ashamed of yourself.

With this, you are perfectly destroying the meaning of the little word "web standards" and all hope for a better future of the web. Well, almost. I am confident that the Mozilla folks will be wise enough not to enter the path of the damned...

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:23 AM by Martin

Have Microsoft ever tested the need for a third standard mode?

Imagine that you trigger "super standard mode" with the normal doctype header.

Now imagine a site that have a doctype, and which currently works with ie6, ie7 and firefox. If this site breaks by ie8, it must mean that either:

a: The site send invalid html/css because it detect internet explorer. Solution: Just change the "user agent" string.

b: The site breaks, because it send valid html that ie8 can't handle, and the "internet explorer" work-around are not activated because ie8 is running in "super standard mode"  Solution: Handle html at least as good as firefox 1.5.

So the ONLY reason I can see, to have a special string to trigger a third mode, is if you want to allow "As good as it get, but still allow work-around for ie8 bugs. But that don't require a third mode, that just require the same conditional comments that ie have always supported.

So i ask: What current sites that currently work in ie6,ie7 and other browsers, would break if you simply trigger "super standard mode" with a normal doctype, and change the user agent string to something that don't trigger the ie6/7 workaround detection of sites?

My guess: None, but I don't have a ie8 beta to verify that.

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:27 AM by Rob Allen

The idea is good. The default is bad.

IE8 should default to rendering in it's best mode. If I have a site that breaks in it, then there are two options:

1. The site's owner adds the meta tag to set it to IE6 mode.

2. I have a compatibilty dialog in IE8 that works like the one in Explorer's File->Properties where I can override IE8 and tell it to use IE6 for this site. (i.e. same solution as trying to run Win98 stuff in WinXP)

Regards,

Rob...

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:27 AM by Anthony

Let me add my support to switching on "super duper" standards mode when users have served XHTML Strict with application/xhtml+xml.

It's future-compatible and over time will encourage web coders to move to standards compliant code without breaking the existing stuff.

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:31 AM by billybob

The web will not break when IE8 is released!!

Sites which were designed to work with IE6 (only) will still work with IE6 only, there is no problem whatsoever.

Sites which were designed to standards will work with IE8, but not IE6.

The obvious solution is to give companies an IE6 browser for the intranet and IE8 for the internet.  Most companies are not upgrading to Vista because it does not provide IE6.

You are just creating a bigger mess for future generations.

Standards are designed to be forwards and backwards compatible, they may render slightly differently but they can be updated in the future if really necessary.  It is not the same as the Word document situation where you need the app in order to open the document.  In the case of HTML we can open any version in a simple text editor so the content is never lost, just some formatting.

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:33 AM by Danny

@cwilso: "@Marcelo Wolfgang:  Why don't you just put in the IE8 meta element, and then code to standards?"

Because IE8 will render like crappy old IE7 (or 6) or (5) anyway. So why bother developing for IE8 at all? There will be no incentive whatsoever to develop for this browser as long as we still have customers running IE7 and lower.

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:34 AM by SchizoDuckie

@Gareth Adams:

*NO* this is what many people get wrong. It's just stated in the article that other browser vendors *COULD* add support for their own browsers to have a similar 'render engine switch' using the same tag. It will *NOT* make IE8 use the FF3 render engine ;)

# Good idea, but somewhat backwards

Wednesday, January 23, 2008 8:40 AM by Josh Cogliati

Add my vote to it should be:

  1. “Quirks mode” remains the same, and compatible with current content.

  2. “Standards mode” remains the same as IE7, if a simple <meta> tag is added.

  3. If you (the page developer) want standards mode use the correct doctype.  

Then people with incorrect webpages can use the meta tag to state that which should be simple enough to do.  And people without the meta tag can expect that a doctype will get standards compliant webpages.

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:44 AM by Anthony

Sorry to publish twice, but if we must abandon progressive enhancement, at least let authors specify the technology they use, rather than the browser versions. I get the argument about different browsers having different support for different parts of the one standard, but I much prefer a meta tag like:

<meta name="UA-TechRequirements" content="CSS=2.1;XHTML=1.0 Strict;AJAX=1.0;" />

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:57 AM by James Burke

I understand the need for a rendering switch. I prefer that the switch be a cultural version instead of a product version.

I wrote up an alternative switch, X-Web-Epoch, here:

http://tagneto.blogspot.com/2008/01/x-web-epoch-instead-of-x-ua-compatible.html

# re: Compatibility and IE8

Wednesday, January 23, 2008 8:59 AM by PISSED OFF DEVELOPER

For the love of god Microsoft will you please just give this a freaking rest!

IE blows, it is the most pathetic excuse for a web browser ever, IE6 sucked, IE7 only caused more problems and now here comes IE8 what will you guys manage to screw up this time?

Do the world a favour and get this very simplu concept through your heads:

NOBODY IN THE WORLD NEEDS ANOTHER INTERNET EXPLODER, ITS CRAP, IT CAUSES MORE PROBLEMS THAN IT SOLVES, IT CANT EVEN COMPARE TO DECENT BROWSERS LIKE FIREFOX AND OPERA AND I WOULD FRANKLY RATHER NAIL MY HEAD TO A DESK THAN HAVE TO SUPPORT YET ANOTHER OF MICROSOFTS HALF ASSED ATTEMPTS TO SUPPORT STANDARDS.

Dont you get this MS? People are sick to death of your browser if you actually cared about standards at all you would have done the job properly in IE7 instead of rushing a half assed piece of crap to try and boast your diminishing numbers of IE users. You've lost, deal with it and stop making the developers and end users have to pay the price for your arrogance.

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:06 AM by Yaroukh

Just make world a better place and drop IE.

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:16 AM by redpixel

FYI I'm the maintainer of about a dozen of small-to-big-sized websites (almost all of them standard-compliant) and I will never use this tag in any of my websites, not matter of how this affects IE8 compatibility. Pseudo-comments are bad enough, but this is too much.

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:17 AM by gordon

2 cents.

1.) @ John A. Bilicki III - How can you be the only one that thinks this is a good idea? have you not read everyone else's post? + I am a designer, and a developer (doing PHP,JSP,ASP,Rails,etc. requires you to know, and do both)... and since JavaScript is on the client side, almost every designer these days needs to dabble with developer stuff.

2.) Am I the only one that finds the term "super standards mode" to be a bit ironic?  We haven't heard what IE8 will fix in the CSS or the JS or the HTML or the DOM.  I think it should be refered to as "closer to standards mode" or something much more realistic.

gord

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:30 AM by Wes

If the reason for this is not being able to trust DOCTYPE when pages are generated by non-standards applications, and you're happy to go looking around in meta tags, why not do something like this instead:

If got a good DOCTYPE but also a <meta name="generator"> tag, for example:

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

then render as IE7, otherwise use IE8 standards.

That way the sites generated automatically with software won't break in IE8 but the tags can be removed to switch to IE8 standards.

# Standards Mode by Default

Wednesday, January 23, 2008 9:30 AM by Dominik

Standards Mode by Default.

Standards Mode by Default.

Standards Mode by Default.

And now repeat!

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:36 AM by programad

Hey, i have a suggestion for IE8

"over the page" scrollbar.

If you see Firefox 2 and IE7 scrollbars, you will notice that they act a little annoying.

In Firefox, you only get a scrollbar if the rendered document is taller than the window.

In IE7 you always have scrollbars.

Both ways sucks!

Would be nice to have a scrollbar that appears only when the mouse is in the right side of the window, not causing the "dancing document" effect and not having an useless grey scrollbar.

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:48 AM by Chris

Also, if you say that IE gets fed an alternative web page, why not just change the User-Agent string to copy Firefox's, so that you get this better page, and add a new Header, such as "Browser: Internet Explorer 8" to IE's HTTP request?

Sure, it may give the impression that Firefox suddenly gains a huge usage %, but, bigger picture and all that :)

Stat gathering sites (like Google Analytics) then only need to look for this new header to balance it out.

# re: Compatibility and IE8

Wednesday, January 23, 2008 9:57 AM by xml

So if I understand it correctly any site that doesn't use the IE specific tag will be forever rendered in IE7 mode even while you launch for instance IE9?

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:00 AM by Stefan Wenig

I too think that this is a great idea, but the default behavior is evil. You're not going to make friends with the standards community that way. It makes no sense: If I test my site with IE8 and want to tell IE that I did so and that I do not want it to "improve" my site in later versions, this absolutely should be opt-in. Providing this function via HTTP-headers even means that I don't have to touch the HTML or apps in my site, I can just configure my web server that way. So it's easy even if I add it as an afterthought.

But if I code my HTML to be standars compliant, I just want all browsers to act as if it were. Who says that everyone does detailed tests with IE and that rendering/compliance improvements would not actually improve sites?

It's not too late. Please change this.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:06 AM by Siegfried

Although i do indeed understand the necessity of compatibility, there are two major things to say here.

1. Beeing backwards compatible as a default is a bad idea. If backwards compatibility is needed it should be switched on. Either by the user (as already pointed out in a comment here) or by the web designer by adding some meta tag. This would mean minimal efford for big companies which must (?) stick to their old pages. Just one line more, or even just a single line in the server configuration to serve it with the http headers.

2. Targeting any specific client is a very bad idea. We already had those nasty "optimized for XY browser". These bad times should not come back. Instead the target should be the prerequisite standard. This way a client (browser) may decide on its own what to do with those old pages sporting this meta tag. There already exists a meta tag or http header regarding content style type. This could easily extended by a version. And for special MS IE6 handling, the mime type of the css should not be text/css but f.ex. text/mscss. Or (more backwards compatible) encode this somehow into the version.

Do not target any client, instead do target a standard. And use standards compliant mode as default.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:25 AM by Aedrin

If other browsers who are more compliant (not fully) can ignore the hacks (this is the very reason they work, because only certain browsers actually use them). Then if IE8 respects the same rule, wouldn't it ignore the hacks too?

I really don't see why there is a problem that requires an opt-in method, although I understand that is the only efficient way.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:27 AM by Niko Neugebauer

Watch out for IE9 - new standards tags, new quirks mode and the same behaviour.

I think its time to assume the responsibility and say - ok, there were errors, its time to move on - make a good browser, rename it and release it, but don't adapt the web for your needs - cause it looks weird.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:29 AM by Adam Wainwright

Sorry - I just plain refuse to do this.  That tag will not enter *any* of my code.

If the IE team can't program to standards that is their issue, not mine.

I program to *standards* not browsers.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:32 AM by AndyC

@siegfried: The very nature of being 'backwards compatible' means that you have to do it in such a way that it won't require the old version to change *at all*. Consider HTML files that are shipped as part of embedded resources in applications or company websites that were set up by an outside contractor, where changes can only be made at cost to the site owner. In both cases, making updates purely for compatibilty is expensive and unlikely to happen.

What's worse, is that if IE8 breaks too many sites, people won't upgrade and web developers will not have the *choice* to serve compliant code because there simply aren't going to be enough people out there using a browser that could handle it.

It's all well and good sitting in an ivory tower and looking at the way things would be done if all the world was perfect, but occasionally you do just have to step down, accept the fact that things aren't perfect and just take a more pragmatic view of the world.

The *easiest* pages to change are those that have not yet been written and that's exactly the ones the opt-in switch is aiming for.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:34 AM by Rick

Let me get this straight: in order to build a standards compliant website that renders well in IE8, I will have to use non-standard Microsoftisms, one way or the other.

Right.

Microsoft: breaking the web one tag at a time.

# Well, HERE IS MY IDEA... Maybe a stupid idea but...

Wednesday, January 23, 2008 10:43 AM by Flavien Salsmannn

Well, this idea is not that stupid... Still, I think this is the wrong way to do it. Create a meta only for IE8 is a bad thing, I agree your should just think about standards...

Well, here is my idea. Well, most websites use a favicon.ico on their root folder. This is a convenient way to customize its website icon.

Maybe you could check a file, which could be named "IE8render.ini" or something like this. This file could mean that IE8 has to use its "Super Standard", well in fact "normal" mode. IE8 could check this file one time per session, and configure itself to use the Super Standard mode.

... Change this meta for a small and little file, uploaded once and for all on the webserver. It could be ok for everybody, huh?

What about it? What do you think about it?! Personnaly, I think it could be just great, both for IE team and for developpers.

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:49 AM by Ridiculous

Dear Microsoft,

I believe that using a Meta-tag to Opt-In is a terrible idea. You can't rewrite the rules of HTML. DOCTYPEs are the proper way to do this.

And, I respectfully show my disapproval of the situation with the following conditional comment:

&lt;!--[if gte IE 8]&gt;

&lt;meta http-equiv="X-UA-Compatible" content="FF=3" /&gt;

&lt;![endif]--&gt;

:)

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:54 AM by Ridiculous

@Flavien, I don't mean to be rude, but that's a terrible idea. The issue at hand is that we have to opt-in beyond the normal DOCTYPE that every other browser under the sun uses to opt-in to standards mode. Your solution is merely another pointless opt-in method.

# Blend

Wednesday, January 23, 2008 10:55 AM by Neils Armstrong

And still people are asking me why microsoft sucks?

# re: Compatibility and IE8

Wednesday, January 23, 2008 10:57 AM by Ridiculous

<!--[if gte IE 8]>

 <meta http-equiv="X-UA-Compatible" content="FF=3" />

<![endif]-->

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:00 AM by Richard Tallent

This isn't "backwards compatible," it's just "backwards!"

@Paul: making IE8 Standards Mode default to IE8 rather than IE7 would NOT break "millions of internal sites."

First of all, the legacy we have to worry about is IE6, NOT IE7.

IE7-specific intranets will still be rare and rather bleeding-edge when IE8 comes out. As such, they'll probably be ready for IE8 before IT picks the IE8 Migration Committee.

But for the few that would NOT be ready before IT wants to roll out IE8, they can add a META tag, or IT could add a Group Policy to override the rendering mode for that domain.

A two-minute policy change would allow IT to set up IE8 to render like IE7 for *every* site in the intranet domain, essentially allowing them to change the default for the intranet without hobbling their users while they browse the web at large.

It is fundamentally wrong to stick us with IE7's broken implementation as a default, and there will NOT be enough IE7-only sites to justify this default when IE8 rolls around.

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:11 AM by Flavien Salsmannn

Ok ok, sorry if my idea was that bad... lol ;)

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:12 AM by Garito

You are simply incompetents

Stop doing odd jobs

BE STANDARD NOW

"Don't break the web" is a sign of odd job because YOU BREAK THE WEB some years ago

Now is time to repair it

I hate you with all my energy and I hope you'll pay for your ineptitude

# Difference between IE7 and IE8

Wednesday, January 23, 2008 11:24 AM by The Doctor What

@cwilso:

You say the min. version supported will be IE7; IE7 is pretty good with regards to standards.  

What changes are there between IE7 and IE8 that will cause websites to render differently.  I'm trying to get an idea of the degree of the breakage.

Thanks.

Ciao!

# “Don’t Break the Web” should NOT be the goal in standards mode

Wednesday, January 23, 2008 11:40 AM by Steven Roussey

Constantly striving for backwards compatibility here is not a goal for anyone as it does not serve anyone well over time.

I suspect that since the engine is used in things like Quicken, that that is the source of the issue, not websites. In such a case have IE8 use the better standards support, and the embeddable module require the meta tag. In fact, if everyone out there which you are worried about breaking just added a <meta compatibility="IE7">, we would all be better off.

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:44 AM by tn

Aw crap... This sucks in so many levels...

How about web servers that do no serve the non-standard html header?

Please, no meta tags. Fix your browser properly like anyone else.

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:45 AM by Feh, I'm done with this

It's fine and dandy to think about the intranets made for IE6 when considering this only when it's known how many of those intranets would actually have a proper doctype and trigger standards mode in IE8 should IE8 be made to work like all the other browsers. If the intranet is made up of enough garbage code that it requires IE6 I'd feel safe in putting my money on it probably not having a doctype, or at least not an xhtml (any) or a html strict one. If I've already said I want to use the standards compliant rendering mode I expect EVERY BROWSER CAPABLE to render my site using it's standards mode WITHOUT ADDITIONAL CODE. With version 8 IE is finally becoming capable, but now you're telling me only if I include additional code. This is wrong, we are sick of this, I'm not going to do ANYTHING more for IE, it will forever remain locked back with IE7 in the stone age unless you fix it. Yes, I'm going to willfully give IE users a lower quality experience than everyone else and let them know that they could be seeing more with a real browser. I'm done with writing my site multiple times for each form of your browser and am not interested in having to add in a new tag now so that your one browser that supposedly works knows it's supposed to start working.

You want developers and designers to make compliant sites that IE8 handles right then make IE naturally handle them right, don't expect us to pick up the slack you leave behind no matter how little of it there is.

As a side note, I find the one prior comment about it not being possible to be a developer and a designer interesting. I wasn't aware that my skill sets were mutually exclusive, especially not when I was learning them both. Rather easy to learn back end / database stuff and front end things, perhaps you just went to the wrong school? My particular school had a nice track set up, starting with basic programming (VB, C++), then moving onto everything front end (JavaScript HTML and CSS), then back end (PHP, ColdFusion, ASP.net), and finished with several classes to make sure everything was known and that we could use the right tool for each task. No using JS for form checking when end users aren't supposed to be able to see what happens and all that fun stuff. Given enough basics and training to be able to pick up a book or two on anything and then use it correctly given enough time to read the books, regardless of it being front end design or back end development.

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:45 AM by Jeff Schiller

What may not be clear from this IEBlog post is that if you code to HTML5 standard (using the HTML5 DOCTYPE) you do not need the meta tag.  IE8 will automatically go into "super standards" mode if you code your websites in HTML5.  This has been confirmed by Chris here: http://blogs.msdn.com/cwilso/archive/2008/01/22/i-feel-happy-too.aspx#7203075

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:55 AM by billybob

@Jeff Schiller - Which parts of the draft html 5 spec does Internet Explorer 8 support?

Canvas and SVG support would seem mandatory and the extra input types look very useful.

Are you as committed to HTML 5 as you are to CSS2?

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:58 AM by AC

@Feh, I'm done with this

" I wasn't aware that my skill sets were mutually exclusive, especially not when I was learning them both. Rather easy to learn back end / database stuff and front end things, perhaps you just went to the wrong school?"

If you think you're good at both, you probably can't do either well.

# re: Compatibility and IE8

Wednesday, January 23, 2008 11:59 AM by Blah

Knowing MS, HTML5 support in IE8 would be a version 1.0 IE6 type of thing. You'll have to wait 5 years just like IE7 to get some bugs fixed and another 2 years before you can opt-in with a new version that might be standards compliant, but most likely not. Can't expect much from the lazy IE team either, you're better off avoiding the mess of multiple render engines in IE.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:00 PM by Anonymous

Maybe the W3C should come up with a specification/standard/recommendation which mentions that browsers by default must use a standards-compliant mode without requiring developers to use opt-in tags. Only then will Microsoft learn. As (NOT ALMOST BUT) ALL the comments/feedback seems to be saying "Many web developers don’t know about Doctype-Switching" and no one wants three modes and that this isn't a good decision but will MS ever listen to developers? HOW ABOUT INCLUDING AN OPTION IN ADVANCED OPTIONS THAT LETS USERS AT LEAST SPECIFY THE DEFAULT MODE? As for those who've written millions of lines of code, can't THEY simply insert tags to trigger the old mode? MS, aren't you getting enough LOUD and CLEAR feedback from the comments on this blog? Most people coming to this blog ARE developers, they don't want "their past work to be respected". They want to do work for which right now they have to resort to all sort of hacks and workarounds and waste their time. MS doesn't care MORE about standards than they do about "not breaking the web". In fact, MS is obsessed with "not breaking the web" ideology. And why no mention of XHTML, SVG, DOM level 3? How about allowing users to configure MIME types? As long as so many alternatives exist and competition is heating up more, I'm okay. IE team is free to do anything they want and I'm free to use any browser I want. In the process, I'll make sure "mom" and "grandma" learn about Firefox, Opera and Safari. Microsoft hasn't really changed. As billybob put it: It is the "Same old Microsoft". At least don't claim that you pass Acid2 because the original test page won't add a meta tag specially for you guys. Maybe MS will create a "Microsoft Acid2" test which IE8 passes.

Please reconsider this decision. If you still make it a configurable option with default of course rendering IE8 standards mode, the users will have the power to toggle. Are you scared that Joe Average will try IE8, see that his pages render in a strange way and uninstall IE, switch to another browser? I sense more IE market share-care rather than end-user-care, forget the namesake developer-care.

Btw, I'm much relieved when I read "There'll be a registry key to force on IE8 standards mode". Now just include it in the Advanced options UI or IE developer toolbar. Or else, we'll deploy a version of IE8 using the IEAK that forces this tweak.

Meanwhile, you can at least blog about the BUGS that have been fixed in IE8 beta so people will stop commenting on those issues.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:06 PM by Shaun

Ed Everett: Read the linked post.  Your "idea" is called IE=Edge.

Dirk: Even the pirates get IE7 now.  WGA is off.

hmm: Yes, they do.  Which is why they have comparatively puny marketshare despite being cross-platform and offering better standards support.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:07 PM by grumpy

Eh, not convinced.

Actually, this post brought up two questions in my mind.

First, if sites generally work fine in non-IE browsers, how about simply changing the browser id string to something new? If websites don't detect "Another version of IE", but a completely new browser (call it IEX), they won't fall into the crippled IE6-compatible code path. They'll then be able to use the (mostly) standards-compliant code path they already use for Opera and Firefox.

Has this been considered? Simply making a clean break from the old, noncompliant IE line of browsers?

And second question, when, if ever, do you envision that you'll have gotten IE back in line with other browsers?

That is, will there ever be a day when I *won't* have to do special hacks to get IE working?

Even if it's just inserting a meta tag, it still implies that by default, IE will behave differently than other browsers (in the name of backwards compatibility)

Will there ever be a day where, if I make a completely plain vanilla HTML website, according to the standards, using the correct doctypes and the correct HTML code and *nothing else*, IE will run in the strictest, most compliant mode?

Or is the plan that web developers are going to have to develop a special IE version of their websites for ever? (Perhaps with fewer differences than today, but still requiring special consideration)

You've inflicted so much pain on us over the last decade that just the promise that *one day* we'll be able to treat IE like other browsers, would be a major boon. Ok, so it won't be in IE8 because that still rates backwards compatibility higher than standards compliance, but maybe IE9, or IE14 or IE29. Never mind *when*, but I'm wondering if it'll ever happen.

That, more than anything, is what I want to know from the IE team.

Or will we just get more and more nonstandard "opt-in's" we need to add to our code?

And finally, as said by others above, the whole "don't break the web" mantra just rings extremely hollow, because as you just said yourself, Firefox and Opera are *not* breaking the web, despite not being backwards compatible with IE 5.0.

It'd be a lot more honest if you said "Don't break IE", because that's all it concerns.

If you were to make a standards-compliant browser, all it would take is not recognized as IE, then you'd get the standards-compliant content that is served to other browsers, and the web wouldn't be broken. It'd be a break with old versions of IE, but it wouldn't be "breaking the web". You could break the web 6 years ago, when all sites specifically targeted IE6 *instead* of the W3C standards. "Don't break the web" would have been a valid concern then.

Today, websites are able to serve standards-compliant code already, because today there are other browsers that need it. There are no sites that only render in IE6, and so, there's not the same need for backwards compatibility. Except for IE's sake. So in the name of honesty, change your mantra to "Don't break IE". It'd be a lot more accurate.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:10 PM by SchizoDuckie

@Jeff Schiller:

Right... So now we have to code to a standard that's not even done yet? Good choice! More new flaws to find!

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:13 PM by Raven

Astonishing, standard compliant, but only for those who use a non-standard meta tag in their pages.  How can you even write that with a straight face?

You make it sound so difficult to make IE8 comply with standards, yet it seems every other browser writer figured this out years ago.

Hiding behind the "but we'll break the web" excuse is simply more Microsoft arrogance.  Fix the problem!  Make standard compatibility the standard, and make the hard decision to do your penance for all the hacks you've forced upon thousands of programmers for years.  Take some of the advice here and make IE8 look like a totally new browser.  Get it out to developers of major websites ahead of time so they can test their pages.  If needed make it easy to turn off true standards compliance when a web page doesn't work.  Make the web work the way it's supposed to.  Take some initiative to really do the right thing and stop making excuses for stupidity.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:13 PM by Eevee

This has to be the worst idea I've ever heard.

I was all set to finally support IE and really welcome it to the Web.  So much for passing acid2; the only way IE8 will pass is if the test is changed specifically for it, and where I come from that's known as "cheating".

What will IE9 have?  Super duper standards mode?  33% bigger codebase?  I have to use a doctype and a meta tag and the secret Microsoft handshake?

If you just fixed your engine, most IE hacks would evaporate under IE8 mode and all would be well.  Most of the popular ways for targeting IE relied on CSS parsing errors.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:15 PM by Jeff Schiller

@billybob: I do not work for Microsoft, so I have no more information than is given in the IEBlog or on Chris' personal blog.  FYI, SVG is not part of HTML5 (though Canvas is).  

@SchizoDuckie: Right.  One thing that might be some consolation is that HTML5 is supposed to be backward compatible with HTML4.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:18 PM by billybob

"Your "idea" is called IE=Edge."

I thought it was IE=edge ?

Although it would not be unusual for a non-standard Microsoft defacto-standard to not have a standard way to define things.  It will probably accept all combinations of...

"IE=eDge"

"IE = edge"

"IE edge"

"IE=edg"

"ie=edge"

"IE=edge."

"IE=edge#"

And probably lots more.  We will then hear in 5 years about hot the whole metatag idea is broken and how we should attach "TCPIP alternate streams" to describe our html and bug requirements.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:19 PM by Feh

@AC

Yes, OBVIOUSLY because you can't do the well, no one in the entire world can either.

We didn't take 3 times as many classes as everyone else just going for a single path to wind up unable to do anything we trained for. And I'm certain that after taking 3 times as many classes and maintaining one of the highest GPA's in all of the IT programs that I must not have learned anything in those *fake* classes instead of the reality of having worked 12-18 hours every day just to get all the coursework done.

There will always be people who can do more and or different things than you, and who can do them better. I know that I'm not the best but I also KNOW, not think, but know that I'm good at what I do. I wouldn't have held my job this long if I wasn't good, so take your narrow world view somewhere else and leave me out of it.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:21 PM by Håvard Pedersen

We're in 2008 for christs sake, and you opt to add another layer of browser sniffing to the web? Seriously? A technology from the same era as spacer gifs and table layouts?

Embrace...

...extend...

...extinguish.

I guess I shouldn't be shocked, but I really am. Shocked and disappointed.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:23 PM by Feh

Also, by the "we" in my last post I'm referring to the 4 people who managed to graduate from the program I took while I was taking it.

Yeah, not many people make it cause it is hard and a lot of work, but the ability to fit into basically any web based job after graduation is quite nice.

# superviral IE8 ad

Wednesday, January 23, 2008 12:24 PM by j4n

absolutely lame. i hope this opens the eyes of all companies that worked a lot to have their pages run on IE and now see that this fairytale tag is the absolute wrong way of solving a problem.

to me this means IE will lose even more customers that M$ did with Vista...and that is a hell lot.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:37 PM by Manoel B H Carvalho

Great. For me, next step is make javascript more compatible with w3c HTMLElement classes and prototype DOM classes.

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:38 PM by Spo

Heh!

Count a bit:

IE 5.0; IE 5.5; IE 6; IE 7; IE 8; IE for MAC = 6 (SIX!) different rendering type! Six. You, Microsoft developers are retarded.

And the other side: Opera, FireFox, Safari, Konqueror, Webkit = 1 (do you catch, ONE) CSS file. But they are different. Or not? Again, you are retarded.

RETARDED!

# re: Compatibility and IE8

Wednesday, January 23, 2008 12:53 PM by Luke

Why can't Microsoft do a damn thing right?! I thought Bill Gates was going to ask you guys what the hell's going on?

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:00 PM by Pete

Why does the IE team hate web developers? Thanks for announcing another 3-4 years of suffering. I can only hope you are all fired or transferred before IE9.

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:11 PM by GreyWyvern

Reading through all the comments, obviously there is a significant amount of developer hostility to Microsoft's plans for IE8.

This one hopes that MS realizes their commitment to developers (do the Ballmer dance!) not only includes developers of OS applications, but developers of internet applications as well, and nixes this plan before it is implemented.

It's a shame, really, that "Do The Right Thing" has always come a distant second to "What's Right For Us" up to now.  Make no mistake, I am sure the programmers who spent so much time making sure IE8 passed Acid2 are just as incensed about the decision to short circuit their success, but don't hold your breath waiting to hear from them.

... at least under their real names.

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:31 PM by Patrick

GreyWyvern is totally missing the point.  It would be a lot easier for the current IE team to just say "screw compat" and do standards by default.  But they know that the expedient thing to do and the right thing to do are rarely the same.  

For every webdeveloper here complaining, there are a thousand web devs and IT guys breathing a sigh of relief.

MS is introducing a way to eliminate the vast majority of IE-specific development with a single meta tag.  And you're complaining about that?  Clearly, you've never shipped a production site.

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:34 PM by Psa

Don't you know what to do with this situation?

Stop the development of IE and make a compulsory update to Firefox or Opera via WSUS or Windows Update :D

IE 8 will support CSS 2. In 2 years. LOL.

Opera 9.5 and Konqueror (and Webkit) fully support CSS 3 TODAY.

And now what we are doing?

We are writing webpages in CSS 1 (!) because of Internet Explorer.

I see NO development.

If people didn't use IE, there could breakthrough and we don't need to use HACKS and could use the newest technology. But IE exists...

When I visit CSS3.info and watch those Photoshop effects witch CSS... After I think of Microsoft.

# re: Compatibility and IE8

Wednesday, January 23, 2008 1:43 PM by Wes

@Richard Tallent - was just going to post suggesting group policy to force ie7 render in intranet zone but you beat me to it!

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:05 PM by Reid

This has to be the most ridiculous things I've ever heard of.  To support better standards compliance by introducing a non-standard tag.  Are you guys serious!?!?!?

You're digging a grave for IE by doing these things because the developers, the ones that actually write the webpages that you speak of, are going to stop putting up with this nonsense.  Then where will all those users be that you keep speaking of?

Seriously, this is just bloody pathetic.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:07 PM by BlackDragon

@Patrick

How exactly is an opt-in required to make IE work like all the other browsers some miraculous way to  get rid of IE-specific development? The ignorant and lazy will leave it out and develop for IE7 still, probably also not bothering to make any of their site work with standards compliant browsers, and the knowledgeable workers will just have to change up their conditional comments or user agent string checks and include a new tag that's worthless to everything but IE8(+). If anything this encourages people to get on board and ignore standards since they can just leave their code in a horrid state and have IE render it like it's IE7 comping down the bad code.

Anything that increases the workload to use standards while decreasing the workload to ignore them can not be said to support standards or "eliminate the vast majority of IE-specific development" by a sane and honest person.

I really doubt there's any web devs or knowledgeable IT guys out there breathing sighs of relief either since chances are their intranet site probably wouldn't trigger standards mode anyways, nor would it be that hard to have them change the page header to have an opt-out tag to make IE8 render like IE7 unless their site(s) are completely screwed up. Just like how it's not too hard for all of us who adhere to standards to add the opt-in tag presently. Either you have to admit that the old sites could easily have the meta tag added to them for an opt-out rendering or you have to admit that the opt-in we currently have is too much of a bother to be reasonable.

Most everyone complaining is fine with the meta tag existing, but it needs to be the other way, and the people who haven't been following the standards should be the ones that have to fix their sites with the tag.

I say that you are the one who missed the point, since the new meta tag in it's current form doesn't really do what you claim it does.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:08 PM by Siegfried

This "opt-in" may be a good idea for just now. Just for IE8. And then, what's about IE9? hould these pages then be updated? And updaed again for IE10? And so on?

Better is the "opt-out" option in several ways. If you have to opt-out this reminds you that there are issues with your pages. Nevertheless this opt-out is simple to do. If you use the http header functionality it is just one line in a central server configuration file.

We all should expect new software do things the new and acutal way. Noone expects MS Word 8.0 to store the files in MS Word 2.0 format per default. The default is always the latest format, the latest standard. The same should be true for the browser.

I can understand the necessity of backwards compatibility. But that should, as with any other software, be a user option, never the default.

As far as i know browsers where always advised to ignore things they did not understand. So adding such a backwards compatibility something would not make old browser versions unusable.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:11 PM by Upanisad

Oh dear. I d not agree with the general trend here. Ok, it's not the optimal solution. But, what's the problem?

If you develop a new site, you put in the required META and you know that it'll work as pure standard in IE8.

If you want to fix an old site... why would you do that in the first place? It'll continue to work as it did before (in IE7)! You don't need any fixing!

Anyway, it's just one damn tag! Less than a hundred characters! You can do it on every page on a huge site in a few hours!

It validates, too!

And when HTML5 comes out, the problem is gone.

It looks like an acceptable solution to me!

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:12 PM by Brian

That's way too many comments to check if this is already posted, so forgive me.  What you're saying is that IE8 will require a non-standard tag in order for the browser to go by the standards?  Wow, irony people...

IE has been a pain because I can't code to standards and expect it to work... I have to code to standards, then fix IE6, IE7, IE5.5, etc.  Make it standards compliant WITHOUT having fancy switches.  If you really MUST have it backward compatible, make THAT the flag.  Force developers to choose the old rendering style instead of forcing everyone who cares about their site going by standards to use a proprietary (aka NON-STANDARD) flag.  Or don't put it in at all.  Push web standards ahead and make everyone's life easier in the end.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:19 PM by GreyWyvern

No, Patrick, *you* have completely missed the point.  Sure it would be easier from a programming point of view to release a version of IE8 that did nothing but strict standards.  The point is that it is not *up* to the programmers, rather it is up to project management whose top priority *should* be making development easier for all, rather than creating another rendering mode and turning it off by default.

Have you ever shipped a development site?  I've shipped several, and I would trade the dozens of conditionally included CSS files, filled with underscore hacks, and comment hacks; JS files with IEs proprietary javascript comment switches and object sniffing hacks; and HTML files littered with conditional comments and box hacks... for one CSS file, one JS file and one HTML file for all browsers and all rendering modes.

Yet that probably doesn't matter to you.  You probably whip sites together with development suites like Turbogears and RoR which does all of that browser hacking for you.  That's okay; just don't pretend to know what a PITA it can be if you don't deal with cross-browser hacking on a fundamental level.

But don't take my word for it.  Talk to the developers of your favourite design suite.  *They'll* give you all the juicy details.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:22 PM by drew

Simply Amazing.  Once again Microsoft has demonstrated their exceptional ability to take a bad idea and completely botch the implementation (which I suppose is second only to their ability to take a really good idea and completely botch the implementation, a la ASP.NET, but I digress)

First of all, I have a hard time seeing any other browsers ever actually implementing this.  Maybe if you only release one new version every five years, it's not a big deal to include every previous rendering engine along side the current one, but I suspect this would be a deal breaker for any browser with a more aggressive release schedule.

But more importantly, I see a complete (and completely characteristic) lack of foresight her.  Having the META tag default to IE=7 when it is not specified makes sense from the perspective of not having some small number existing sites break in IE 8 when it is first released, but it is totally backwards.  (It also ensures that not only will IE8 not pass ACID2, but it is unlikely that any version of IE will ever pass it or any future ACID tests unless the standards for "passing" are changed)  The default should *always* be "*=edge".  This makes far more sense both from the perspective of planning for future versions beyond 8, and for getting other browser implementations on board.  While it is true that this will make more sites break than the alternative, it is better (from the IE team's perspective at least) than what we currently have, because it could give both web developers and end users an way out when it comes to handling broken sites.

1) Developers can download the beta releases of new versions.  If they did a half way decent job of writing their site, and everything still works, no worries.  If they used weird non-standard code, or IE introduces new bizarre rendering bugs, they throw the http header / meta tag on the sites / pages that have problems.

2) End users could be given an interface that would allow them to flip through older rendering engines when a page does not display correctly.  For example, it could be a little button in the address bar that would light up when a page doesn't have the header.  Clicking on it would toggle through the available rendering engines until the page looks as expected.  Presumably, there could also be a way to remember settings for that page, and / or apply it to the entire site.

3) IT departments could add known problem sites (e.g. Intranet pages that can't be updated for one reason or another) to the users registry via automatic updates, thus eliminating the need for #2 in a large majority of cases.  (Which from my experience is where this tends to be the most problematic).

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:25 PM by Siegfried

Well, just putting in nothing and force the web developers to sanitize their code would in fact break the web. Here in Germany there is a saying about who made a web page: "The neighbours son, the one who knows internet". That is how most pages are done. And "most pages" are simply a fact to deal with.

But indeed now the time has come to decide wether to stick to old bugs forever or to open a path to current technology. Forcing web developers to do additional things just to have their pages rendered properly is not a good idea. Forcing the authors of those old pages to add a little flag is better. And, BTW, really old pages don't need any changes. They are in html 3.2 or earlier, do not use css (was not invented when these pages where created) and should render perfectly in all browsers. Those "old pages" we are speaking of are only those with a valid doctype of at least html4. Any page without doctype, with doctype of html prior to version 4 or any invalid doctype could be rendered in oldfashioned way without any flag. Ths flag is only for old pages _claiming_ to be standards compliant but are not. That's not the majority.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:26 PM by Jcmorin

Make IE 8 standard as it should

Out of billions the web pages

- Many many will work out of the box!

- Many will work but with some minor display error. Who care?

- Some will break, the site owner will fix them to be more "standard".

- Some will break, if the site that can't fix them just add a Doctype or meta tag to preserve the old non-standard way.

Everybody will be happy this way, don't try to put yourself out of the browser game. Netscape was #1 and went to not even in the game, don't be surprise if the history repeats again... it always do.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:32 PM by Siegfried

Drew is absolutely right! And why not ship a "flagging tool" together with IE8 that throws in this extra meta tag into all html pages in some directory and its subdirectories, if it is necessary? The web developer could simply check if it works, and if not, start the flagging tool.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:37 PM by drew

@Patrick

I've shipped a number of production sites, and not only will this fail to "eliminate the vast majority of IE-specific development", it will barely even put a dent in it.

The vast majority of IE-specific development is in getting otherwise standards compliant sites to work with Microsoft's incomplete, warped, or just pain wrong implementations of the standards.  Implementing the standards correctly would eliminate the vast majority of IE-specific development, except that we'll still be stuck supporting the existing messed up versions for years to come.

The *only* way this META tag would eliminate any IE-specific development is if they backported it to IE6 and IE7 so that they would render sites using the IE8 rendering engine when the tag is present.  And even that is assuming that they actually do the standards support right in IE8, which I am not holding my breath for, ACID test or not.  After all, they claimed that they fixed all of the bugs on PIE with IE7, which they clearly did not.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:42 PM by snprbob86

@Chris Wilson (cwilso): Thanks for taking the time to respond to this assault of responses and negativity.

I have one last suggestion and I hope you are still reading:

Why not make it work like the Phishing filter?

1) Intranet sites default to IE6/IE7 rendering to accommodate the millions of internal businesses apps which may break

2) Internet sites default to the super standards mode

3) Knowledgeable users can report sites as rendering incorrectly (switches the renderer in use)

4) Web service automatically adjusts rendering settings for average Joe users

Additionally, you could try to seed the web service with data gathered from automated analysis of Microsoft Live Search's web cache.

Thoughts?

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:44 PM by Sam

Dear Microsoft IE team:

Nobody wants this.  What are you thinking?

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:50 PM by fyndor

One mode!!!!! If every developer has to put a tag in their page or special code to make it work with your browser correctly, then you FAIL!  Your browser should be standards compliant out of the box w/o web developers making their pages IE compatible.  I want no less, but expect much less.  I see what you guys are trying to do.  At times as a software dev, I come to these hard choices when fixing bugs.  But sometimes you have to bite the bullet, and make the RIGHT choice so that you are heading in the right direction.

# re: Compatibility and IE8

Wednesday, January 23, 2008 2:52 PM by Siegfried

The Phishing filter thingy is a nice idea but would throw in significant delay before the page is actually shown.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:01 PM by Halo_Four

My recommendation is to do the opposite of what you have described.

If the page has a correct DOCTYPE, use the strictest current implementation of standards rendering that you can.

If the page does not have a correct DOCTYPE, render in "quirks" mode.

Finally, add a META tag that allows the web developer to state explicitly if they want to target the exact rendering functionality of a specific brand of the dialer.

This way you'll satisfy all parties.  You'll have fully standard rendering by default which will satisfy the ACID2 test properly and you'll have quirks mode for really old and probably unmaintained pages.  For the people screaming to have IE8 continue to render like IE7 or IE6, they can make a single modification to the pages of their site to request that IE8 continue to render in partially quirky mode by asking for a specific rendering target.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:01 PM by Dalle

Childish solution:

<meta http-equiv="X-UA-Compatible" content="IE=3" />

Grownup solution:

<meta http-equiv="X-UA-Compatible" content="all=edge" />

But the best solution would to not use the meta element at all.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:11 PM by Tristan

FOR THE LOVE OF ALL THAT IS HOLY AND GOOD in the world JUST MAKE IT FULLY STANDARDS COMPLIANT and FORCE SITES TO UPGRADE.

You have SO much power and vastly overestimate the impact of a change in page rendering. Sites for which layout and design is important will easily and gladly upgrade to be fully compliant with a new spec. You mention Firefox, and that's an excellent example -- Firefox now works great for almost 100% of sites on the web and is fully standards compliant. There is NO REASON IE CANNOT BE THE SAME, and if you think otherwise you're DELUDING yourselves. Seriously. You have NO RIGHT TO CONTINUE YOUR SEGMENTATION OF THE WEB. STOP IT!!

I apologize for yelling, but in circumstances like this it is necessary to be heard well.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:13 PM by Firefox

Lol, its patetic. MS can't develop a standards-friendly browser.

# re: Compatibility and IE8... Don't force Web2.0 to opt out

Wednesday, January 23, 2008 3:25 PM by Jerome Lapointe

"1. “Quirks mode” remains the same, and compatible with current content.

2. “Standards mode” remains the same as IE7, and compatible with current content.

3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article."

I think this needs to be dependent on Doctype. If you claim that this is not to break old websites then do not force the bandaid on doctypes that are in all likeliness built for standards, or with that intention.

There's a difference between a 2 years old active ecom site and a 12 years old informational document that has no chance of seeing an update.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:34 PM by LT

BAD MICROSOFT NO BISCUIT

for once in your life stand on principle instead of capitulating to the lowing herd.

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:36 PM by Vaoh!

CSS2 will be a standard at this time: 12-May-1998 ( http://www.w3.org/TR/CSS2/ ).

Microsoft Internet Explorer will support it in 2009! YEAH! You, Microsoft guys, are AMAZING! All of my respect to you!

In that time YOU shared the web, YOU didn't care of the standards, YOU made people to pay much more for a website because of IE hacks, YOU held back the technical development, and finally, YOU SUCK!

You deserve it!

# re: Compatibility and IE8

Wednesday, January 23, 2008 3:44 PM by eGandalf

So much as has already been said on the topic that I hesitate to contribute. However, I must put in my agreement with most of the comments I've read, if not always in the way the commenters represent themselves with foul language and shouting.

I understand the concern with already published content on CD/DVD, however those media can be some of the least expensive to reproduce and if they are developing for IE6, then they truly need a kick in the pants. There's no excuse for that.

Many of the comments bring to light the idea of specifying a <meta> value to maintain IE6 compatibility. This is as it should be. Standards should certainly be default, not an opt-in. I'm sure you and many others here can appreciate the number of times in any given month I find myself cursing IE under my breath or aloud.

IE7 was a step in the right direction. One which has already provided developers to better themselves and the web by coding closer to standards. Anyone who truly cares about how their website looks will already have a site which fits closer to standards anyway. Give them an additional shove and make IE8 work with standards by default.

# Storm i webbstandardbloggosfären...

Wednesday, January 23, 2008 3:52 PM by En webbplats på svenska om webbstandard

Som så många redan har beskrivit, kom det ut ett nytt nummer av AListApart i början av veckan - ett nummer där man beskrev ett förslag på en lösning på det problemet som kommer att uppkomma när fler och...

# OMG! Problem Solved!

Wednesday, January 23, 2008 3:58 PM by Teddy

OMG! Problem Solved!

====================

||||||||||||||||||||

Ok, hear me out.  We know the final solution has to be an opt-in (because IE doesn't want to break the IntrAnet) - fine.

Kindly, and politely approach the W3C, and ask if you can have Doctypes declared for HTML 4.25

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.25//EN" "http://www.w3.org/TR/html4/strict.dtd">

and

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.25 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

These would be EXACT DUPLICATES of HTML 4.01 in terms of the underlying markup, however (and this would be heavily noted), that this release is to assist browser makers in targeting a standard.

====================

||||||||||||||||||||

Old sites, would render as before, and nothing changes. Sites wishing to get the best standards compliance possible, would set this doctype, and enjoy beautiful rendering... even in IE!

Note, this would require other browser vendors to accept this change, so they can push the valid doctype down to their installations, but this might be the better strategy rather than wait for IE to support HTML5 (I'm personally betting 2015 at the earliest (and I'm not expecting it to be correct, or complete))

Ted

# Why introduce a new meta tag when Doctype is the existing why to switch?

Wednesday, January 23, 2008 4:10 PM by André R.

Why can't you just use the same doctype switching we have used for the last 8 years. Mozilla has already extended it and introduced 'Almost Standards' and 'Full standards' mode back in Firefox 1.0.1:

http://developer.mozilla.org/en/docs/Mozilla%27s_DOCTYPE_sniffing

This should be extended so (x)Html5 also triggers 'Full standards' mode (aka ie8 mode):

http://www.whatwg.org/specs/web-apps/current-work/

http://www.w3.org/html/wg/html5/

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:11 PM by AC

@feh

Hit a nerve over something?

You -did- say it was "Rather easy" to learn, so your spouting of amount of classwork and GPA really doesn't mean anything.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:18 PM by sonicdoommario

I'm an IE fan for life, but this kinda ticks me off.

I'm no web developer, and I never, and I mean never say anything anti MS,but why can't standards mode be enabled by default? It's the future of the web, so show off that rendering engine to the users which can pass the Acid2 test, not some other crappy one.

Good idea, bad execution. Can't you use the META tag for QUIRCKS MODE, just so developers have to make a tiny adjustment to keep their sites on par with older web browsers? Also, by the time IE8 is released, FireFox and IE7 will have eaten up almost all of IE6's market share.

When IE8 is released, isn't it possible to offer a Rendering Engine Update for IE6/7 to update to IE8's rendering engine, for those stuck on older operating systems?

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:24 PM by Juan Zamudio

"It turned out by the time IE7 shipped in late 2006, roughly half of the top 200 US web sites were in 'standards mode'. Many of those sites had been 'opted in' to standards mode by a tool that generated their content;"

And what will happen in the future, when tools insert this this meta tag just like they insert valid doctypes now, suppose that you release IE8, then a new CSS 3.5 specification is released, of course IE8 does not handle this specification because it was released after IE8, what will happen?, you will release IE9 with a new engine with "super, extra, master, this time is for real" standards mode that is activated clapping twice?, I can't believe it.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:27 PM by Me

Why would I want to add a flag to tell IE that I am standard compliant ?

Just assume your past Microsoft. If I code to the standard, respect it. By default.

And for people that coded for IE only, well that their problems. Assume yourselves.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:31 PM by Incompatible

Microsoft, incompatible with the billions of current standards compliant pages, incompatible with the future billions of standards compliant pages.

Looks like the legacy of terrible decisions made during IE5/6 eras is coming back to bite the current IE team in the ass.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:34 PM by oh boy

oh boy. This comes as no surprise but nonetheless the approach is really really ugly.

If you do implement this, then please do at least allow an additional way to browser-independently trigger whatever best standards mode is available. Like so:

 &lt;meta http-equiv="X-UA-Compatible" content="*"&gt;

The idea would be that there ist a trigger value that will at least cause IE best standards mode for IE and that *does NOT have to _specifically_ target* the IE family of  browsers at all. If you support the use of the generic value '*' without a browser name, then at least a sane web developer could tell all browsers *equally*, that every browser should try their best.

Otherwise, I am pretty tempted to not use your switch at all and keep all IE users trapped in second-class IE7-land. And I am quite sure that I am not the only web developer who feels like this. Stop deliverately splitting the web. At least, please allow people who know what they're doing to declare an opt-in into sanity in a browser-independent manner.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:35 PM by dl

You HAVE TO BREAK IT, so we can ALL MOVE FORWARD!!!

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:44 PM by Dave

So with this <meta>-based solution, how could a developer to develop a site that works with all IE versions then?

Isn't that still mean we will have to keep all the shitty workarounds?? That would be a big NO NO!

Unless you could release updates to IE6/IE7 to render the <meta>-based solution properly, so this <meta>-based can be the ultimate solution for all IEs.

# re: Compatibility and IE8

Wednesday, January 23, 2008 4:58 PM by 3-D

Immediately, this solution will work. In the long run, this solution sucks and you guys know it. I'll accept this solution as a crutch to dig out of the horrible mire IE currently has left the web in. But remove it by IE9. Remove it, don't leave it in for compatibility, don't wipe the butts of useless consultants that write horrible one off code or use automated tools. Remove it and expunge the last ragged tatters of the mess IE7 and lower have left all over the web.

Otherwise the web development community will take a gigantic dump all over you, because we don't like this hack either.

DOCTYPE should be doing this already. MICROSOFT should have forced developers to use DOCTYPE as it was intended. Anyone with half a brain used DOCTYPE already expecting it to solve this problem. Instead we now have DOCTYPE + another tag to do what we never should have had to do to begin with had IE kept up with the rest of the standards compliant pack.

Remove this hack by IE9 and let DOCTYPE do its job.