Slashdot Mirror


Microsoft Confirms IE8 Has 3 Render Modes

Dak RIT writes "In a blog post this week, Microsoft's IE Platform Architect, Chris Wilson, confirmed that IE8 will use three distinct modes to render web pages. The first two modes will render pages the same as IE7, depending on whether or not a DOCTYPE is provided ('Quirks Mode' and 'Standards Mode'). However, in order to take advantage of the improved standards compliance in IE8, Web developers will have to opt-in by adding an additional meta tag to their web pages. This improved standards mode is the same that was recently reported to pass the Acid 2 test, as was discussed here."

23 of 525 comments (clear)

  1. Wait a second? by jawtheshark · · Score: 5, Insightful

    I have to add a fucking tag to say I'm compliant? That's insane.... Those that fuck up compliancy should be punished. Heck, no, if I specify XHTML strict, it should render strict. The doctype does say enough. Those who want to adhere to standards just say "strict" and that's it. We do not need an additional tag. The doctype is not broken as he says in the article. You fuckers broke it!

    IE6's rendering behavior was not updated for five years, leading many developers to assume its rendering was both accurate and unlikely to change.

    There you have it... It wasn't rendering accurately... Who's at fault, eh?

    He's simply not realising that adding another tag will have the same effect as the doctype... And in 5 years will have a 4th rendering mode. Great! Long live standards, those that I can choose!

    This is a misguided attempt of someone trying to keep backwards compatibility. The standards are open and published, adhere to them.

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    1. Re:Wait a second? by morgan_greywolf · · Score: 5, Insightful

      This is a misguided attempt of someone trying to keep backwards compatibility. The standards are open and published, adhere to them. Come meet the new Microsoft. Same as the old Microsoft.

      You really expected true standards compliance? I am SHOCKED! SHOCKED I tell you!
    2. Re:Wait a second? by spyowl · · Score: 5, Insightful
      Exactly. Microsoft picks and chooses how they treat standards, and that hasn't changed with upcoming IE8. Consider the quote below from the MSDN blog:

      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.

      So, it isn't DOCTYPE switch that failed, but it was Microsoft that failed to implement the standards and set the proper expectations with their developers and their customers; and then faked the standards mode for their own benefit to be backward compatible to the broken rendering mode they had before. Nice twist to the truth though - would have probably made it through some junior VB script kiddies if it was more sugar coded.
    3. Re:Wait a second? by DougWebb · · Score: 5, Informative

      I have to add a fucking tag to say I'm compliant?

      No, actually you'll be adding a tag that says "This page displays properly on IE7, Firefox 2, and some other browsers I tested it with" and it'll be up to the browser to figure out how to be compliant with you. In IE's case, IE8 will see that and say "I'd better render this page like IE7 does, because it probably has IE-specific workarounds that'll render incorrectly in IE8's really-standard-compliant rendering."

      When you're good and ready, and you see enough IE8 hits in your access log to make it worthwhile, you can get IE8, test your pages, and if they look good, you can update the tag. It'll be under your control when users start to see the new rendering engine in IE8; you won't have to worry about when your users decide to upgrade themselves.

      This approach has some great benefits; the IE team actually can safely break compatibility with IE6 and IE7 specific websites and implement standards correctly, because those websites will continue to be rendered with the existing renderer until they explicitly say it's safe to render with IE8's renderer. If they do this well, all we web developers will need to do is remove any IE-specific workarounds if the browser is not IE6/7... IE8 will be treated like any other standards-compliant browser, with no special coding or styling.

      Another great benefit for us developers is that we'll be able to change the new tag to get an IE7 rendering from IE8... no more virtual machines just to have different versions of IE on the system. (Except for IE6, but Microsoft is supposedly going to try to force most IE6 users to IE7 next month.)

      I can't tell you how much time I've wasted over the past few years trying to get standards compliant pages to look right in IE6 and IE7. I'll be very happy to be able to have my Apache server insert a response header that says "This page is for IE7; deal with it" and not have to worry that my application is going to break when people start to upgrade to IE8 in-between my releases.

    4. Re:Wait a second? by SanityInAnarchy · · Score: 5, Insightful

      IE is like most software not bugfree,

      And that is not an excuse.

      Firefox is not bugfree -- it leaks like a sieve (or "fragments"), chewing up half your RAM. Konqueror is not bugfree -- it crashes maybe every day or two for me. I'm sure Safari and Opera each have their own bugs.

      But I can relatively easily make a website -- even a web app -- which works the same way in Firefox, Konqueror, Safari, Opera, and so on. This is the first 90% of the project. The other 90% is making it work on IE.

      it's unrealistic to expect every webpage around the world to get checked and fixed every time they fix a bug, and it's equally unrealistic to expect every page to follow the standard if there's a good chance it can be made to look right in IE.

      Why is it unrealistic to ask people to follow the standard, and to let IE be buggy? Why should we be working around Microsoft's bugs for them?

      Honestly, they should have simply made a compatibility tag from the start which basicly means "render like IE4/5/6/7/8/latest, DON'T apply any later bugfixes because we've worked around them".

      Perhaps, but has it occurred to you that this is exactly what DOCTYPEs are for? So that when XHTML 6.0 comes out, browsers will still be able to deal with XHTML 5?

      --
      Don't thank God, thank a doctor!
    5. Re:Wait a second? by Sancho · · Score: 5, Insightful

      Obviously, and this is the manufacturer's solution.

      I don't really know what people want from Microsoft now. They screwed up--it's obvious. They know it, we know it, web developers know it. Nevertheless, web developers have had to work around incompatibilities for years. What do you want, for Microsoft to change the rendering engine out from under people? Thousands of websites to stop working in that browser (the one that most people use) until the developers can fix the site? It's a bad situation, and it's Microsoft's fault to begin with, but what solution would you propose that wouldn't inconvenience a lot of end users (both developers and their customers, alike)?

    6. Re:Wait a second? by JackHoffman · · Score: 5, Insightful

      Another great benefit for us developers is that we'll be able to change the new tag to get an IE7 rendering from IE8

      Seriously, you're new to this, aren't you? Not only will you have to test your page with browsers running in virtual machines, over the course of time you'll have to test it in IE8 pretending to be IE7, IE8 pretending to be IE6, IE9 pretending to be IE8, IE9 pretending to be IE7, and so on as you change the tag to benefit from newer rendering modes. All those render modes will either use combined code, which means they won't render exactly as the old versions, or they are essentially multiple browsers in one, which means they'll each have their own security vulnerabilities and plugin incompatibilities.

      This page is for IE7; deal with it

      Added benefit for Microsoft: They get to write their own standards again. If another browser sees that made-for-IE7 tag, it must recreate all of IE7's quirks (and those of IE6 and IE8 and IE9...), i.e. behave like some closed source software from Microsoft. MS DOC deja vu...

      I really hope that the other browser developers show MS the finger on this one, because if you thought browsers are memory hogs and security nightmares now, wait until every browser has to implement all its predecessors' quirks and all its predecessors' competitions' quirks.

    7. Re:Wait a second? by SanityInAnarchy · · Score: 5, Insightful

      What do you want, for Microsoft to change the rendering engine out from under people?

      Yes. To anyone this affects: Your website was broken in the first place. It is partly MS' fault that it was broken, but mostly yours, for not trying it out with other browsers.

      Thousands of websites to stop working in that browser (the one that most people use) until the developers can fix the site?

      Yes. Let them add hacks like <use-fucked-up-block-model>. Don't make the standards compliant people have to add <dont-fuck-up-my-box-model/>.

      (Yes, I realize it's an HTTP header. You think that makes it better? I mean, yeah, great -- now "save as" on webpages will break them, unless they're using <http-equiv>. And yes, it's got a browser version number in there!)

      It's a bad situation, and it's Microsoft's fault to begin with, but what solution would you propose that wouldn't inconvenience a lot of end users (both developers and their customers, alike)?

      I wouldn't. I'd much rather have a little short-term inconvenience, if it means that in the long term, we can forget about all this. Maybe even forgive.

      But no, we got the opposite -- something that works in the short term, but will come back to haunt us in the long term. I'm really not looking forward to the <no-really-I-mean-it-standards-compliant-this-time> tag with IE9 in another few years. Nor am I looking forward to IE15 unintentionally introducing a bug in the IE6 compatibility, breaking some decade-old site out of the blue -- I'd much rather it be broken now, when there's a greater chance someone's actually paying attention enough to fix it.

      --
      Don't thank God, thank a doctor!
    8. Re:Wait a second? by totally+bogus+dude · · Score: 5, Interesting

      Well, the "problem" they're trying to solve is that IE isn't standards compliant. It was never standards compliant, so why is it suddenly a problem that needs solving? Simply, because everything else (more or less) is compliant, and they realise that IE will become increasingly irrelevant if it refuses to play nicely with the rest of the world.

      So the answer as to what else could they do is simple: they could drop IE! Rename the new version to "Windows Intranet Application Host" since that's about all it's good for anyway. There's enough other browsers already, and it's likely more would be created to fill the void left by MSIE. We now have reasonably well defined standards and several implementations of interoperable browsers; we simply don't need IE8.

      People could still use IE 6 or 7 for legacy web sites and internal applications until they're no longer needed, at which point they'd just die off gracefully.

      Okay, maybe it's not realistic, but it would be nicer than forcing the entire internet community to endure yet another round of Microsoft's ineptitude.

    9. Re:Wait a second? by Ash+Vince · · Score: 5, Insightful

      You shouldn't have to add a tag just to get the browser to work correct in the first place. Maybe in your strange web utopia, but here in there real world I have spent the last 5 year developing websites for people who only gave a shit about IE and sometimes gave me a deadline of the day before I started the project (the work I started today was due on Friday). I can honestly say that a large proportion of the work I have done will not render in my chosen browser (mozilla under linux).

      I am not proud of this but with tight deadlines cross browser standards compliance is the first thing to slip if you know you are developing a corporate intranet and all the client has deployed is IE6. Anyone who insists on developing for other browers in this situation is just wasting time and hence money.

      I do not develop complicated dynamic websites as a religion or hobby, I do it as a job so tailor each project to the clients needs, not my own.
      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
  2. let me see if I get this ... by kharchenko · · Score: 5, Insightful

    to be standards compliant, web pages have to incorporate a non-standard tag?

  3. Credit where credit is [somewhat] due... by Nemilar · · Score: 5, Interesting

    I've been developing web pages for more years than I can count, and I (like everyone else in the field) know the annoyances of Internet Explorer. Everything from their faulty implementation of the box model to their poor handling of Javascript has done an unimaginable amount of good for the stock prices of the asprin (and beer) industry.

    That being said, IE has come a long was since the days of version 6 (those that came before version 6 are unmentionable), and some credit has to be given to Microsoft for finally trying to do something about their browser. Seeing as how it is the de-facto standard, it's good that they're putting at least some effort into making it better.

    I love Firefox, and I love that Mozilla is the reason why Microsoft is being forced to update their browser (competition is everything), but we're going to be stuck with Internet Explorer for the foreseeable future, and progress can only be a good thing.

    --
    Nemilar http://www.techthrob.com - Visit Me!
  4. The web was invented in 1989 by p3d0 · · Score: 5, Funny

    I've been developing web pages for more years than I can count You can't count up to 19?
    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  5. My Suggested Meta Tag by pergamon · · Score: 5, Funny

    />

  6. Re:Just Like Before by JackHoffman · · Score: 5, Insightful

    It's brilliant: The reason is that there are too many websites out there which work in IE6, but fail miserably in standards compliant browsers. These websites will of course not get that tag. For the the tag to make any sense at all, newer IE browsers must therefore assume that an untagged site expects IE6, so the page will be shown as if the browser were the steaming pile of crap IE6. It's another quirks mode just for IE6, and the only way to escape it is to add a redundant tag.

  7. How could it have passed Acid2? by Len · · Score: 5, Insightful
    There's some kinda BS somewhere...

    However, in order to take advantage of the improved standards compliance in IE8, Web developers will have to opt-in by adding an additional meta tag to their web pages. This improved standards mode is the same that was recently reported to pass the Acid 2 test, as was discussed here.

    So how could IE8 possibly have passed the Acid2 test? The test page doesn't contain the magic META tag that IE needs to pass the test!

    1. Re:How could it have passed Acid2? by Moskie · · Score: 5, Insightful

      They probably ran a closed test that used (forced) this third render mode on the HTML.

  8. Re:Forcing? Look on the bright side. by Anonymous Coward · · Score: 5, Funny

    I get that a lot actually.

    Unfortunately, I get it when I'm using iceweasel.

  9. as long as they don't touch my <blink> tag by circletimessquare · · Score: 5, Funny

    as long as they don't touch my tag, they can do whatever they want

    <blink>i heart you</blink> blink tag, no one loves you like i do

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  10. No the best, but better than I had hoped for. by Chris_Jefferson · · Score: 5, Insightful

    Microsoft really had 4 options:

    1) Don't try to support standards properly.
    2) Obey the DOCTYPE, even though many programs and people put it on old pages which aren't going to render properly in a standards-compliant browser
    3) Add a new flag that means "Yes, I promise I know about standards".

    For years, they have been doing (1). It would be nice if they did (2), and just broke all the badly written IE 6 pages with an improper DOCTYPE. But they aren't going to do that, their users don't want them to do that, and to be honest I don't either. That leaves them with adding a new flag which lets people admit they know about standards.

    In their favour, they are:
    1) Designing the option in such a way other browsers can be extended by it
    2) You can pass it as a HTML header, so if you want just add it to your apache config, and all pages on your website will be rendered in IE8 cleanly (this is the option I intend to take).

    Yes, this isn't perfect and it is evil Microsoft, but it's bettered than I'd hoped for. I'm looking forward to popping the option into my apache config and seeing if IE8 really is standards compliant.

    --
    Combination - fun iPhone puzzling
  11. Then opt-out. by SanityInAnarchy · · Score: 5, Insightful

    First, if you're a webmaster who only designed for IE6, shame on you. If you designed for other browsers, which were mostly standards compliant, you should be able to just swap in one of those for IE8, with minimal tweaking. (Or maybe IE8 isn't that compliant, hmm?)

    But more importantly, they are adding a non-standard tag to indicate standards-compliance, which is just fucked up. How about you use a non-standard tag to indicate non-standards-compliance -- to indicate that you want the old way of doing things? How about you just drop your DOCTYPE?

    If you don't maintain your website enough to even be able to do that, I don't see how that's Microsoft's fault. And it really pisses me off that Microsoft has the audacity to demand that the rest of the world code specifically for IE. You had to do that before, anyway, but this is the first time they've publicly admitted it. Can we have our antitrust suit back, please?

    --
    Don't thank God, thank a doctor!
  12. (slightly OT) A suggestion for Google... by Saberwind · · Score: 5, Interesting

    Tweak your pagerank algorithm so it improves the position of pages that are xhtml-strict, (or at least well-formed and don't use nonstandard tags), and publicize the fact. That will provide an incentive for people to start making their pages standards-compliant. Currently there is very little incentive to standardize.

  13. Re:People think Microsoft is a software company. by palegray.net · · Score: 5, Insightful
    Um, you've managed to compare Microsoft to slaveowners. While not *completely* out of the realm of imagination, for many of the "enslaved" their condition is actually completely voluntary. There are alternatives; my wife saw Ubuntu, fell in love with it, and refuses to use Windows now. Which is great, because I was able to free up that hard drive space. And she knows virtually nothing about how computers work.

    As for this quote:

    That was the reason for slavery, too; just rich people wanting to feel that they are superior. Which grade are you in, third or fourth? The awful fact that people could profit from ownership of another human being, much as one might profit from a sled dog, was the reason for slavery, for just about as long as mankind has existed. Was it a horrible institution? Sure. Did the average slaveholder base his practice of slave ownership on some warm fuzzy feeling of "I'm so awesome?" Well, no. Landowners increased their wealth by owning slaves who increased the profits of their business endeavors, not the other way around. By the way, the majority of American slaveholders in the South weren't all that well off by comparison. Why don't you spend a little less time on the heartfelt backyard historical psychoanalysis and a little more working to educate yourself properly?