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."

15 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 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!
    4. 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)?

    5. 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.

    6. 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!
    7. 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. 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.

  4. 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.

  5. 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
  6. 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!
  7. 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?