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

26 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 cp.tar · · Score: 4, Insightful


      So, it isn't DOCTYPE switch that failed, but it was Microsoft that failed to implement the standards


      Boy would I hate to be the one to break that awfully shocking news to them. Don't suppose they will survive that one, you think?

      Anyway. Get over it. Detect your browser version and render your custom CSS. Play like everyone else plays.

      Or leave it broken for the people without a proper browser.

      If it's strict, it's strict. If your browser cannot render strict properly, go and bitch to the manufacturer.

      --
      Ignore this signature. By order.
    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 cp.tar · · Score: 4, Insightful

      That's absolutely asinine. Just because Microsoft screwed up by not making their browser standards compliant, doesn't mean you should punish a majority of the users of it's browser. A lot of people haven't even heard of other browsers that are better, so why should they be punished?

      No. They should be educated.
      Inform them they are using a non-compliant browser and send them to download Firefox.

      And if they insist on using a deficient product, it is not my problem.

      Meh, it's your loss. When you have fewer customers because only a certain percentage of them can view your website, you'll realize that your OMGWTFBLAMEEVERYONE attitude was truly the one at fault, not MS.

      I am an educator.

      Every user I educate is a win for me.
      And for everybody else, in the end.

      --
      Ignore this signature. By order.
    8. 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!
    9. Re:Wait a second? by beav007 · · Score: 4, Insightful

      Because in the web design world, that's not how it works. You spend 90% of your time making the website. It then takes another 90% to make it render properly in IE without breaking it in more standards compliant browsers, thus causing you take 80% more time to create the site than it should have.

      It's just like any other project in the software world. The first 90% of the project takes 90% of the time, and the last 10% of the project takes 90% of the time.

    10. Re:Wait a second? by JackHoffman · · Score: 4, Insightful

      First, instead of pretending that this is a doctype problem, own up the mistake and explain that IE6 created the problem which needs to be fixed.

      The only actual problem is that many IE6-only pages exist which declare a wrong doctype. A solution to that does not need to be extended into a mechanism which makes it a standard compliant behaviour to design to specific browsers and browser versions. The proposed solution puts Microsoft in the position where they can continue to disregard standards, because as long as the document declares for which browser it is written, every other browser has to cope, should this become a standard.

      In conclusion, Microsoft could either provide a new browser which faces the same problems as every other browser, i.e. not being recognized as IE and therefore being excluded from certain pages and web applications, alongside a compatibility browser which emulates IE6 for those legacy applications. Or Microsoft could simply push for a new version of HTML, complete with a new doctype, which a new browser version would then render accurately while treating older doctypes like IE7 or IE6 does today. The only thing they really need is a way of saying "this is a new page, no quirks mode, for real" and a new HTML doctype would do that just fine.

      What they propose is the same compatibility scheme which has failed miserably in Word: Each version of Word creates its own "standard" of the DOC file format and every successive version has to render all versions of that format. Even Microsoft, despite having the code to the older Word versions, doesn't get that right. Competitors don't even stand a chance because there is no specification and no code to look at. Do you really want that for the web? That kind of mess is exactly why standards and accompanying standards replaced the proprietary Netscape vs. Microsoft tag soup.

    11. Re:Wait a second? by nmb3000 · · Score: 4, Insightful

      You really expected true standards compliance? I am SHOCKED! SHOCKED I tell you!

      Oh come on. You and the OP should take a second and THINK before running your collective mouths off.

      There is nothing wrong with using a special (standards compliant) tag to tell the browser to render differently than normal. In addition to preventing tens of thousands of websites from breaking, there are plenty of CDs and other media containing websites written over the last 10 years. Should all these become unusable just because Microsoft updated their browser? Is adding one tag really that much trouble for you?

      I know it's fashionable on Slashdot to say things like "NOT STANDARDS COMPLIANT!?! HOW DARE THEY!!1" (and then get modded up for it!), however the real world requires more tact than that. Coming up with a solution like this that unifies the three Trident rendering modes (quirks, IE6, standard) is pretty elegant. It keeps real old sites from breaking. It keeps sites made in the last 7 years from breaking. Above all, it gives web authors the ability to fine-tune the way their page renders without a bunch of hacks.

      Is it ideal? Obviously not, but unless you've got a time machine and can fix the problem, please shut up. Bitching about the past doesn't do anything except give people headaches. It's worth wondering if Microsoft's dedication to backwards-compatibility has anything to do with their success. It's popular around here to say "get with the times" but in the business world, that means money. The supposed "bit rot" is an artificial and man-made result of ignoring this fact.

      --
      "What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
      /)
    12. 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. Just Like Before by excelblue · · Score: 4, Insightful

    Hence again, MS is imposing its powers of monopoly by forcing us to work around their nonstandard quirks, forcing us to add their own meta tag. Nothing much new here - this is still part of embrace, enhance, extinguish.

    1. Re:Just Like Before by dedazo · · Score: 4, Insightful
      Do you want to add a single tag that all other browsers will ignore, or do you want to spend all your time hacking workarounds? I ask because Microsoft is not about to drop compatibility with billions of pages that unfortunately rely on IE6-specific shortcomings and rendering quirks. So you can accept that IE is not going anywhere soon and that this is the only realistic way to handle this problem (admittedly created by Microsoft themselves), or you can go back to the previous crap situation.

      The comments on the blog to the tone of "break the web" are amusing. I'd like to see the face of a CIO when his architect tells him that the corporate-wide upgrade to IE8 broke half the apps on the intranet because, you know, some technorati bloggers with snazzy-looking web sites signed the W3C suicide pact and wanted everyone to do the same.

      Or, use Firefox and convince everyone to do as well. That's what I've been doing lately. Maybe IE8 will pull me back, but IE7 sure has heck didn't.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    2. 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.

  3. 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?

    1. Re:let me see if I get this ... by _xeno_ · · Score: 4, Insightful

      I know that was a joke, but the answer is no, it uses a standard HTML tag.

      Which is used to add a non-standard HTTP header, "X-UA-Compatible". Standard HTML, non-standard HTTP.

      Which leads to the great possibility of a webpage looking different on the local computer compared to the server it was originally downloaded from...

      --
      You are in a maze of twisty little relative jumps, all alike.
  4. Makes Sense by DigitalisAkujin · · Score: 4, Insightful

    This move makes sense but I wish they would stop making up random tricks like that whenever they damn well please. HTML 5 has a way to set render modes while being compliant.

    At least their decision isn't going to mess with any other browsers.

  5. OOXMLish by bigdavex · · Score: 4, Insightful

    sigh.

    <render-like-IE6>

    --
    -Dave
  6. Forcing? Look on the bright side. by JonTurner · · Score: 4, Insightful

    Now's as good a time as any to check for browser type. If IE, redirect to the "You are using an non-standard browser" page with a link to GetFirefox.com

  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. 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
  9. 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!
  10. 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?