Forgot your password?
typodupeerror
Internet Explorer The Internet

IE8 May Not Pass the Acid2 Test After All 434

Posted by Zonk
from the follow-me-indy-i-know-the-way dept.
dotne writes "CNET has published an article called Acid2, Acid3 and the power of default. The article predicts that IE8 will not pass the Acid2 test after all: '[Another] scenario could be that Microsoft requires Web pages to change the default settings by flagging that they really, really want to be rendered correctly. Web pages already have a way to say this (called doctype switching, which is supported by all browsers), but Microsoft has all but announced that IE8 will support yet another scheme. If the company decides to implement the new scheme, the Acid2 test — and all the other pages that use doctype switching — will not be rendered correctly.' Microsoft's IE8 render modes have been discussed here previously, and they've caused an uproar in the web development community. According to the scheme, authors must put Microsoft-specific <meta> tags into their pages in order for them to be rendered correctly. I doubt Acid2, nor Acid3 will have Microsoft extensions in them."
This discussion has been archived. No new comments can be posted.

IE8 May Not Pass the Acid2 Test After All

Comments Filter:
  • Steamrollin' On (Score:5, Insightful)

    by flaming error (1041742) on Wednesday January 23, 2008 @02:07PM (#22155708) Journal
    > I doubt Acid2, nor Acid3 will have Microsoft extensions in them.

    But lots of web pages will.
  • Amazing (Score:5, Insightful)

    by idontgno (624372) on Wednesday January 23, 2008 @02:13PM (#22155782) Journal

    Another Microsoft "We'll do it our way, and you'll do it our way too if you know what's good for you."

    I wish Microsoft would at least learn to fake sincerity in actually following common standards. This isn't even lip service. This is "We follow standards (for certain Microsoft-centric values of 'standards')."

    Of course, the market has rewarded them, so why should they change? All they need is smoke, some mirrors, and some moderately-skilled PR, et Voilà! "standards-compliant!"

  • by RingDev (879105) on Wednesday January 23, 2008 @02:15PM (#22155818) Homepage Journal
    Shove the anti-MS rhetoric in the closet for a moment and think about it.

    IF MS were to change the way pages rendered with existing doctypes, millions of pages could/would render differently requiring businesses and individuals across the world to either re-vamp their websites or at least change the existing doctype to a new name that referred to the old rendering style.

    Alternatively, they can create a new doctype specifically for the new "more better" rendering. This way, the millions of existing pages that are already designed to render in the exiting style will continue to do so, and anyone looking to use a closer to the standards rendering has the option to.

    That ACID(2,3) tests are designed to test browsers, browsers are not designed to test ACID. As such, ACID should be updated to include the new doctype option for IE.

    Okay, NOW you can pull that anti-MS rhetoric back out and ask: "WHY THE HELL DIDN'T THEY DO IT RIGHT THE FIRST TIME?!?!?"

    -Rick
  • by Phillup (317168) on Wednesday January 23, 2008 @02:21PM (#22155910)

    IF MS were to change the way pages rendered with existing doctypes, millions of pages could/would render differently requiring businesses and individuals across the world to either re-vamp their websites or at least change the existing doctype to a new name that referred to the old rendering style.
    Sounds like just the medicine they need for creating browser specific web pages.

    In other news, many Americans against government bailout of mortgage companies that made bad loans...
  • Re:Steamrollin' On (Score:5, Insightful)

    by Yetihehe (971185) on Wednesday January 23, 2008 @02:23PM (#22155948)
    My pages WILL have them, if it's easier to make render them correctly than custom hacking. I may not like IE8 but my clients will use it and they will require that my pages work ok on ie(6|7|8), firefox and opera.
  • by ushering05401 (1086795) on Wednesday January 23, 2008 @02:23PM (#22155952) Journal
    On a purely philosophical point... what is the use of having an international standard if the said standard changes based on the whims of a single corporation?

    I get your point, and you may have a more real-world-ready opinion than some of us, but I am not ready to concede anything to MS in this regard.

    There are other ways MS could address this issue rather than continuing their embrace extend destroy strategies. There is no reason IE specific tags should be required to make a page display according to an international standard.

    If anything, broken pages should require tags to inform the browser that they do not conform to standards, and thus require special attention - not the other way around.
  • by Runefox (905204) on Wednesday January 23, 2008 @02:32PM (#22156090) Homepage
    Well, if standards compliance is going to break web apps, then why not just implement the new tag as a compatibility mode flag to activate the IE6/7 quirks mode instead of doing it the other way around? App devs can just add that meta tag to their web apps, and the rest of the world can code to a standard that doesn't involve MS.

    I really think that'd be the best way to go, and you'd probably agree that this isn't an anti-ms rhetoric. I code HTML, too, and I really think that if IE8 can do ACTUAL standards compliance, that should be the default. I shouldn't have to put a tag on my document saying that Firefox should render the site differently than Opera, so I shouldn't have to put a tag on my document saying that IE8 needs to render it a certain way, either. Legacy is unimportant, in my opinion (just try using IE4 to browse the net), and so instead of having a tag to depart from it, the tag should instead be a tag to go into "Legacy" mode. Hell, using the tag like that, it might be possible to look at rendering those Frontpage sites the same way across platforms.
  • Reading... (Score:2, Insightful)

    by Bellum Aeternus (891584) on Wednesday January 23, 2008 @02:40PM (#22156206)

    So I actually read TFA, and it seems that this isn't just a MS thing; in fact it looks to be a standards thing that MS will just happen to be the first to support. Funny how the slashdot crowd automatically makes assumptions and jumps all over MS's case; even when they do something right.

    The basic concept is preserving HTML based content for the future despite advancement in rendering software. Sounds like a good idea to me.

  • by RingDev (879105) on Wednesday January 23, 2008 @02:41PM (#22156218) Homepage Journal

    the tag should instead be a tag to go into "Legacy" mode.
    There's the problem... WHO is going to go through all of the Legacy websites to update that HTML?

    In the last 8 years I've probably done 20 websites for various NFP's, schools, and organizations I've been a member of or was hired by. The vast majority of those sites are for organizations that have little to no internal IT department. If IE8 renders the page differently than IE6/7, even if it does so in a more standards compliant way, it is still going to make their pages appear incorrect, and they have no one on staff with the knowledge or ability to fix it.

    -Rick
  • by Z00L00K (682162) on Wednesday January 23, 2008 @02:41PM (#22156228) Homepage
    HOW am I not surprised?

    But I don't think that we are going to see much of that special tag anyway since those who care about standards will shy it and those who doesn't will ignore it anyway and continue with their broken pages...

    But wasn't Microsoft going to push Silverlight (or whatever they call it) instead???

    At least - we need this tag and the circumventions for special pages about as much as we need severe dandruff...

  • by Chris_Jefferson (581445) on Wednesday January 23, 2008 @02:42PM (#22156242) Homepage
    I replied on the previous thread on this.. I shouldn't really post again, but I feel I have to.

    Yes, in a magical perfect world, Microsoft would use DOCTYPE to tell if a page wants standard-compatible rendering, and simply break all the pages which have a correct DOCTYPE but then rely, either on purpose or by accident, on IE6 and IE7 bugs. But most of their customers don't want them to, and so they aren't going to.

    Therefore they are trying to offer an alternative. An alternative you can either put in as a meta tag or a HTTP header. I can't think of anything they could do in practice which would be better than this, other than the one thing they would never do, which is break old webpages which rendered correctly on IE6/7.
  • Re:Amazing (Score:5, Insightful)

    by Bogtha (906264) on Wednesday January 23, 2008 @02:43PM (#22156250)

    I think you're missing the point somewhat here, as are a lot of people. The core issue is that Microsoft have painted themselves into a corner by not following the specifications in the past. This makes it difficult to follow the specifications today, as all the pages that expect Internet Explorer to deviate from the specifications will break if Internet Explorer starts following the specifications.

    They solved this in the past by inventing doctype switching, which is a pretty poorly-thought out hack, and with conditional comments, which uses non-standard syntax. This approach, on the other hand, uses standard HTML syntax and is designed for this purpose.

    Far from being "A Microsoft extension to HTML" as some people are describing it, this is an attempt to retain backwards compatibility while fixing Internet Explorer to more closely follow the specifications. It does this using the standard HTML way of incorporating additional metadata. Let me repeat that: what you are seeing is Microsoft improving conformance with the specifications. The mechanism they are adding is so that older code doesn't break, which is an entirely reasonable thing to want.

    If you have a better idea of how they can satisfy the constraints of backwards compatibility and closer conformance to the specifications, please, describe it. As far as I can see, this is the best way of doing it. Sure, it's their own fault they are in this mess, but bitching about their past behaviour doesn't mean that this attempt to fix things is the wrong approach. Microsoft are doing the right thing here.

  • by Myopic (18616) on Wednesday January 23, 2008 @02:44PM (#22156280)
    I just want to point out that these ongoing shenanigans show that IE is not a web browser. The whole world (including Microsoft) got together and decided exactly what a "web page" is and wrote it down in very clear specifications. So, anyone who writes a piece of software that renders a web page, as defined by those specifications, is a web browser. If you write software that does anything else, then that isn't a web browser. Therefore, insofar as IE does not render web pages, it is not a web browser. So, if anyone complains that your documents don't look right when they view them in IE, gently explain to them that your documents are web pages, and to view them the person needs a web browser, and IE isn't a web browser.

    That leaves open the question of exactly what IE is.
  • by orclevegam (940336) on Wednesday January 23, 2008 @02:45PM (#22156290) Journal

    Someone mod parent up.

    I admit when I first heard about this in a previous article (in which it was claimed IE8 wouldn't used standards mode UNLESS the meta tag was added), I figured it was business as usual for MS, but after reading the full rational behind this, I think people have misinterpreted the intention. As long as the browser defaults to standards compliant, and only switches to a particular rendering mode in the presence of the meta tag, then this is a useful way to force a page to be rendered in a way you actually intended. This also appears to be a design originating from outside of MS, they asked other developers for suggestions of how to tackle this problem, and the meta tag solution was the one recommended to them.

  • by termix (680919) on Wednesday January 23, 2008 @02:48PM (#22156320)
    The meta tag is a GOOD idea, they just put it in the wrong place, EXISTING websites should be able to add a meta tag to continue use of the existing quirks mode, and going forward the default could then be acid mode.

    With that setup if people really wanted their website to render the old way they could just add a meta tag, and it doesn't mess with the new version of ie
  • by dereference (875531) on Wednesday January 23, 2008 @02:48PM (#22156344)

    IF MS were to change the way pages rendered with existing doctypes, millions of pages could/would render differently requiring businesses and individuals across the world to either re-vamp their websites or at least change the existing doctype to a new name that referred to the old rendering style.
    Allow me to vehemently disagree with this premise. As it has been said, "no, there is ... another" and in this case there is an option you and Microsoft have totally overlooked. Think of the ignored person behind the keyboard; let the user decide!

    Yes, let the site break by default. Let it render like hell, without any change to the site. Just offer the user a "try to make this site look better" button, that will switch through the various so-called "compatibility" rendering modes.

    Microsoft always does this; they ignore the user and focus on the developers (recall Ballmer's silly rant). Think about that for a moment. Their real market demand comes more indirectly from developers building software (yes, including web sites) that need Microsoft, and they know that.

    But they're not blind to the users, nor do they always fear change. Think of the XP interface for folks who upgraded from 2000. It looked like a cartoon and took up lots of real estate. Users adapted; a change caused by an upgrade didn't bother them in the long run. Some [gasp] even found that Microsoft provided a nice "classic" option that restored their old look at feel. Even IE7 removed the menu bar by default, but let users restore it.

    Now--stay with me for a context shift--the same can be true of a browser. The browser is a client-side piece of software. It can be upgraded, and the upgrade can make things different. Yes, even by default. But let the users click a button to have IE re-render any broken sites (site-wide, of course). Oh, what a burden, I can hear you protest. Fine, let's allow users to even set a preference that all sites should be set to use this "compatibility" mode by default. Then, if some seldom-used site looks bad because a user managed to stumble across one of the few odd standards-compliant sites (please mind the sarcasm) then they can set an exception for this site.

    Basically your premise there is flawed; there's a false dichotomy you've presented to fix the breaking of millions of sites. Both of your solutions require the developers to take some action, one indeed less painful than the other.

    I'm fine, Microsoft, with you inventing and respecting some non-standard tag, but let me be the voice of developers everywhere begging you to please let us summarily ignore this. Further, I suggest (yes, I'm still talking to you, Microsoft!) you not burden your prized developers any further, and actually consider distributing the pain as a much smaller burden on the end-users. They can and will adapt, soon, as long as you're sure to empower them with sufficient options to fix for themselves the mess you've made by thumbing your nose at web standards for all these years. It's Ok, admit you were wrong about web standards and do an about-face, just as you did with the Internet itself a decade ago.
  • by timster (32400) on Wednesday January 23, 2008 @02:52PM (#22156418)
    Forgive me if I'm wrong (as I'm not an HTML guru in the least) but isn't that the point of DOCTYPE? Meaning, if a broken page wants to use the buggy renderer they shouldn't be setting a strict DOCTYPE.

    Microsoft is so committed to their long-standing policy of coddling the incompetent that they want a way to be lax on pages that specifically request a strict interpretation.
  • by hr.wien (986516) on Wednesday January 23, 2008 @02:54PM (#22156440)

    What's not to like? This tag allows the people that are writing horrible IE-only HTML/CSS in Visual Studio today to continue their business as usual. There is absolutely no incentive for these people to adhere to standards since the IE7 engine will be kept around for "a couple of web lifetimes" apparently (source [msdn.com]). This effectively locks browsers other than IE out of these sites since they won't have this IE7 compatibilty.

    Hooray, everybody wins. No, wait, the other one.

  • by Anonymous Coward on Wednesday January 23, 2008 @02:57PM (#22156500)
    You must have been getting a low 5-digit id when they were handing clues out to everyone else.

    By your logic there is no web browser in existence. Firefox and Opera sure as hell do the wrong thing on occasion. There are cases where Firefox deliberately (as in "will not fix") breaks the standards. And Lynx doesn't even try to lay the page out as the CSS demands.

    In your fantasy world of perfect standards compliance your web pages are viewable by nobody.
  • Re:Reading... (Score:1, Insightful)

    by Anonymous Coward on Wednesday January 23, 2008 @03:03PM (#22156624)

    ... actually read TFA, and it seems that this isn't just a MS thing; in fact it looks to be a standards thing that MS will just happen to be the first to support. Funny how the slashdot crowd automatically makes assumptions and jumps all over MS's case; even when they do something right.



    Huh? I suppose you're referring to this sentence in the IE blog:

    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 think you've just made a highly tendentious and inaccurate interpretation of that comment by the IE people. This has been cooked up by Microsoft's people's in consultation with one other group--and at Microsoft's request in order to try to sort out a problem Microsoft has. That most certainly does not make it a "standard" except in the alternate (and Microsoft-servile) reality in which you're living.



    And while you're about it try reading some of the many other linked articles as well.

  • by KevMar (471257) on Wednesday January 23, 2008 @03:06PM (#22156658) Homepage Journal
    The issue is that IE6 allowed people to use the strict rendering with out truly strictly rendering stuff. When IE7 was released that was more strict, it broke a lot of pages that assumed that strict worked because IE6 worked.

    They already corupted the doctype tag. The logic behind the new tag is to indicate the renderer you want so future releases do not break the current page.

    They dont want to break the web again (like IE7 did). So the web will work by default (as defined by IE 6) and new stuff that targets the new browser should not break when IE 9 is released.

    They are attempting to end a cycle of new browsers breaking older pages.

    What they need to do is do it right the first time and fix rendering bugs quickly. force people to fallow the standard and it will work. Microsoft should be the most accurate implementers of the specs because they have such a huge install base.
  • by Kjella (173770) on Wednesday January 23, 2008 @03:11PM (#22156734) Homepage

    <meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
    What is there to not like in this? It's a simple, elegant and practical solution to this very real problem. Sure, it could have arrived earlier, but better later than never.
    I do know what all the non-IE users here on slashdot will say, and there's quite a few of them (myself included). First off, it looks like only Microsoft will use this, other browsers seem to have broken compatibility early and often and have a fairly rigorous standards compliance. I'm sure evil tounges will say it's because only a minority use these browsers, but I've not heard any noise over Firefox or Opera breaking pages by fixing things. On the whole they seem to be way ahead of web developers, so the benefit of extending it to other engines is pretty much neglible I'd say.

    The possible downside is that precisely because these buggy pages work in IE, noone will bother to fix them. Imagine you're at IE12 and it's now a super anal 99.9% standards compatible browser in IE12 mode. What good will it do if pages still call for IE7 compatibility mode and are still broken on every other browser? That said, between "We won't fix the browser because it'd break sites" and "We won't fix the pages because they work" I think the latter is easier to fix and new code would presumably be written to spec and work in all browsers. So it's something of a percieved downside which I don't think is real.

    Now, if I take on my hat as an IE user it's a slam dunk. More pages will work. If I take on the hat as a web developer, I know my pages won't suddenly break (because you were forced to use an IE hack to make it work right in the first place). Also a slam dunk. If I take on the hat of Microsoft, they don't get screaming customers about how they broke the intranet. Also a slam dunk. If Microsoft was really really nice, they'd put in their status line "This web page is designed for a higher version of IE. Please upgrade to ensure optimum performance" too, so we'd lose these buggy versions as quickly as possible.

    It's easier to cut the developers loose and let them fix IE than the pains of trying to slowly break IE while not getting killed by angry customers. The sooner they get a standards compliant browser out there, the sooner we can get to *really* fixing the problem.
  • by AmaDaden (794446) on Wednesday January 23, 2008 @03:15PM (#22156790)

    WHO is going to go through all of the Legacy websites to update that HTML?

    In the last 8 years I've probably done 20 websites for various NFP's, schools, and organizations I've been a member of or was hired by.
    You just answered your own question. It should be VERY trivial to add the one line of MS-HTML to these sites for you. They don't feel like paying someone to do it? Then they get a broken web site. It's sounds like I'm being an ass but in the long run it will be far less work for everyone. The switch over to standard HTML has to happen at some point, delaying it with stupid tricks is not going to make it any easier. If MS keeps up this kind of crap anyone coding to IE will just have a huge mess on their hands. They are just making it harder for web developers from here on out and by doing that they are shooting them self in the foot.
  • Re:Steamrollin' On (Score:4, Insightful)

    by filbranden (1168407) on Wednesday January 23, 2008 @03:19PM (#22156852)

    they will require that my pages work ok on ie(6|7|8), firefox and opera.

    Then the tag won't serve your purpose. It won't make IE6 or IE7 render like IE8 would. The objective of the tag is the opposite, is for newer versions keep rendering broken pages as they render in broken versions of the browser.

    As long as you'll need to support IE6 (or IE7 for what it's worth) you won't need the tag at all.

  • by Animats (122034) on Wednesday January 23, 2008 @03:25PM (#22156942) Homepage

    The real problem isn't on the browser side. It's in Dreamweaver, the most popular web page design tool. Dreamweaver does not create valid HTML or XHTML. Not even close. Create a page in Dreamweaver for anything later than HTML 3.2 and run it through the W3C validator. It will fail.

    The basic problem is that the Dreamweaver people never really figured out what to do about CSS. In theory, CSS is supposed to have some abstract model of the format of some block of text, like TeX does. In practice, there's usually a big block of CSS with machine-generated names at the beginning of the web page. There's a fundamental disconnect between the CSS model and the Dreamweaver "Properties" box. So Dreamweaver is still inserting I, B and FONT tags.

    In layout, Dreamweaver does table-based layout quite well, but DIV/FLOAT/CLEAR layout isn't handled well. Much of this is due to the limitations of the DIV/FLOAT/CLEAR approach. Tables are a 2D grid system, and map well to the drag-the-lines editor in Dreamweaver. DIV/FLOAT/CLEAR doesn't map well to a visual layout editor.

    The end result is a mess. And HTML 5 doesn't help.

  • by Bogtha (906264) on Wednesday January 23, 2008 @03:40PM (#22157210)

    This new tag is supposed to apply to web-pages where the web author has already explicitly said he wants strict rendering, because he said so in the DOCTYPE.

    No, that's not at all the case.

    Way back when the web was first taking off in a big way, browser vendors were adding lots of proprietary element types and attributes. Most of them weren't very well thought out, but there was a pressing need to get them into a specification to ensure interoperability. The result was HTML 3.2, with a lot of stuff that really shouldn't be in there.

    The next version of HTML took all these out again because better ways (e.g. CSS) had been developed to handle their functionality. Of course, there needed to be an upgrade path from HTML 3.2 to HTML 4, so the W3C published HTML 4 in two major forms — a backwards-compatible document type, called "Transitional", and a modern document type, called "Strict".

    That's what the "strict" refers to in the doctype. It's got nothing to do with rendering modes.

    Now, when Internet Explorer 5 for the Mac was being developed, Microsoft realised that they couldn't improve its conformance to the specifications without breaking backwards compatibility. They came up with a hack that guessed whether to be backwards-compatible or specifications-compatible by looking at the doctype to see if it was there, if it was out of date, etc.

    This "doctype switching" is a proprietary, non-standard hack, that happened to catch on amongst browsers. The fact that a document refers to the strict doctype does not imply that the developer is choosing a particular rendering mode, it just means that they are using a modern document type.

    But instead of just fixing IE so that it renders that standards-compliant code better and better

    No, this is exactly what they are doing, and this is the very reason why such a switch is necessary.

    Microsoft's plan isn't sustainable or elegant: they basically want the entire web-community to add another tag each time MS releases a new version of IE.

    No, this isn't the case. Any developer who wants Internet Explorer to use its most recent rendering engine at all times can select "edge" and be done with it.

    The entire point of these standards was to get away from browser-specific tags and hacks.

    Yes, and this is an attempt to do just that. Doctype switching is a proprietary hack. <meta> is the standard HTML method of including metadata. Furthermore, providing a switch like this allows them to slowly deprecate the older rendering engines over time.

    Put otherwise: Instead of asking everyone who has written a standards-compliant page to add-in a non-standard tag to make it work in IE... wouldn't it be easier to tell everyone "hey, if you've coded a page that is ~almost~ standards-compliant, but relies in some way on IE7-specific behavior, then add in this <NotQuiteStandard> tag, and IE8 will render it like IE7."

    No, this would cause mass regressions because there are a hell of a lot of unmaintained websites out there.

  • by TheMCP (121589) on Wednesday January 23, 2008 @03:48PM (#22157348) Homepage

    What is there to not like in this? It's a simple, elegant and practical solution to this very real problem.
    First of all, I've been working in software long enough to know that I can't trust it for a minute. Oh sure, they may say they're going to maintain all these special compatibility modes, but in reality one or more of the major browsers won't do it, or they'll try but they'll screw it up, or they'll do it for a while and then suddenly drop all the backwards compatibility stuff because they don't feel like maintaining it any more. Regardless, eventually it will come to pass that I can't trust the version specifying mechanism to do me any good, and I'll have to update my pages anyway.

    Secondly, it encourages the web to come to a halt, technology wise. As an expensive consultant to big companies, my experience has been that they all want to try to tell you "our web site has to look perfect on every version of every browser ever invented, period." Of course that's impossible, so once I drill it through their head that it's impossible, they have to settle for some major subset, at which time they always want me to use ancient UI technology for maximum compatibility. (Seriously, I deal with people who freak out if I want to use CSS positioning or an iframe, and god help me if I mention AJAX.) If they got the idea that browsers have a magical compatibility mode so that all future browsers will support pages written for today's browsers, they'll instantly write up a corporate policy that basically says that nothing will ever change again and for the rest of time their web site will be maintained as if it is forever 2005, and then they won't change it until someone practically holds a gun to their head to force them to.

    Now, you're asking yourself, why should you care? Because it's more than a few idiots, it's a substantial portion of the web. Sure, there will always be little guys who will come along and innovate, but do you really want to deal with a web full of sites that forever use 2005 technology and just a few sites that have caught on to the latest stuff?

  • by unlametheweak (1102159) on Wednesday January 23, 2008 @03:51PM (#22157396)
    Businesses can do as they please, but consumers can always vote with their browsers.
  • by S.O.B. (136083) on Wednesday January 23, 2008 @03:55PM (#22157426)
    Here, let me fix that for you:

    They are attempting to end a cycle of new Microsoft browsers breaking older pages.

    Opera, Mozilla/Firefox don't have this problem so why should Microsoft. By adding a tag that specifies the browser it makes the page browser specific and since we are talking IE it is now OS specific .

    Sure a web developer could code other browsers in the tag but it will be ignored by other browsers because other browsers already follow standards and don't require the hint. The metatag might as well be called "IEVersion(tm)" because that's what it is. Once again, Microsoft is trying to make a standard Microsoft specific because they are too stupid, lazy or ignorant to implement what everyone else on the planet has agreed to.

    Microsoft has no intention of ever being the "most accurate implementors of the specs" because they have no incentive. Implementing a standard does not make Microsoft more money, tying people to Microsoft products does.

    The tag gives Microsoft a get out of jail free card so they don't have to follow standards ever again. Using the tag only reinforces their behaviour.
  • by twistedsymphony (956982) on Wednesday January 23, 2008 @03:59PM (#22157502) Homepage

    Businesses can do as they please, but consumers can always vote with their browsers.
    The problem is that they don't usually vote that way but rather with a combination of ignorance and laziness.
  • by porneL (674499) on Wednesday January 23, 2008 @04:02PM (#22157554) Homepage
    The problem is that currently you can't, and Microsoft only prolongs this situation. None of the existing pages will see the improvements. They've made it easier to keep pages broken than to fix them. Microsoft has decided that the current buggy engine should be the default, forever. You may end up maintaining hacks on pages written for IE7-bugmode long after IE7 fades into insignificance.
  • by Jumphard (1079023) on Wednesday January 23, 2008 @04:16PM (#22157816)
    by refusing to accommodate a non-standards compliant browser.

    As a web-dev I'm getting near the point of making webpages that look great in Firefox and other standards compliant browsers and only ensuring that the basic functionality works in IE. If things look like my dog's breakfast in IE, placing a handy link to www.getfirefox.com at the bottom of the page for viewers who want to view the site properly. Perhaps being even more vicious by writing javascript to blank out the entire page if the user is using IE.

    The problem with going ahead with this Plan of Action is that it's then, me, the developer who looks like crap. It seems web developers are stuck between a rock and a hard place.

    a) Don't support IE and have your pages render improperly for a fair whack of your user base, which makes you look like a bad designer or...
    b) Spend countless hours fixing, tweaking, and using the myriad of IE hacks to make pages look half decent.

    Usually I don't have a problem with Microsoft - hey, if they make a craptastic OS: I don't have to buy it. But when it comes to being a web developer they cause me serious headaches! I think the web development community should be up in arms about IE8.
  • Re:Amazing (Score:3, Insightful)

    by AeroIllini (726211) <aeroillini.gmail@com> on Wednesday January 23, 2008 @04:26PM (#22157996)

    If you have a better idea of how they can satisfy the constraints of backwards compatibility and closer conformance to the specifications, please, describe it. As far as I can see, this is the best way of doing it.
    You're right. With those two constraints (backwards compatibility and standards compliance) this is the best way to go.

    However, I don't agree with the first constraint. Backwards compatibility should not be an issue here. Period. They should have set the non-standard flag to invoke non-standards mode. Then all the pages that want to keep rendering in IE 6/7 can simply set that flag (since it's an HTTP header, you can just set it on the whole domain and be done with it) and move on with their lives. But on the plus side, any new webpage will have incentive to code to standards, because now all the browsers would support a single codebase (something that has not happened since back in the Mosaic days). No more coding for specific browsers, ever.

    And don't give me that crap about old websites that are no longer maintained. Sites coded specifically for IE 4 and Netscape 4 break in IE 6 and Firefox... should we be crying over that? Give me a break. If it's no longer maintained, then why are you still using it? Maintained websites will update their code for the new version of IE every time, just like they did for IE4, IE5, IE6, IE7...

    Movement towards standards compliance is a good thing, but Microsoft is not doing that. This is a thinly veiled way to keep every web developer coding specifically for IE, every time they write a website. Microsoft is the center of the universe, and all that.
  • by devjj (956776) on Wednesday January 23, 2008 @04:28PM (#22158008)
    Most consumers don't know they even have a choice.
  • Re:Amazing (Score:4, Insightful)

    by LordLucless (582312) on Wednesday January 23, 2008 @04:34PM (#22158138)
    MS required a bigger change to websites earlier, when they deliberately broke IE6 as a result of the Eolas dispute. If they can break their browser to get around patent disputes, but not to comply with standards, it just shows where their priorities are.

    But this is a major new rendering engine, switching to it by default when it is totally unproven is a really bad idea.

    The idea is that MS would test their engine before shipping. A bit of an assumption, I know, but that's the theory.
  • Re:Amazing (Score:3, Insightful)

    by porneL (674499) on Wednesday January 23, 2008 @05:14PM (#22158764) Homepage

    They encourage keeping pages broken (and broken in a way that's best for IE only) rather than getting sites and browser move to standards. IE5 is dead now, but its legacy quirksmode is thriving. With this switch IE7's bugs get chance for immortality too.

    If they'll keep adding new bugmodes with each release (and this syntax makes it possible), they will create anti-competetive situation, where they can keep 100% compatibility just by freezing their engine, and forcing competition to reverse-engineer and implement each of their past mistakes.

    There are plenty of alternative solutions, but none of them are so weasly and self-serving as this one.

    • Like other vendors, they could release betas early or even keep nightlies continously, to allow webmasters to prepare for future changes.
    • They could default to real-super-duper-standards mode and use magic tag only to regress on pages that ask for it. If there was preference/registry key that switches IE8 to IE7 engine, their beloved "corporate customers" could remain blissfully unaware of technological progress.
    • They could detect hacks and popular broken scripts and regress only then. It's not difficult (you can smell conditional comments and * html hack mile away). Opera successfuly does something like that with browser.js.
    • They could draw a line by changing User-Agent to "Internet Explorer/8.0 Windows/5.1", hiding likes of document.all, and reading pages like all decent browsers do. They would give up "privilege" of being allowed on worst of the IE-only sites, but that's good for open web and good for fair competition... thus absolutely unthinkable for Microsoft.
  • by AmaDaden (794446) on Wednesday January 23, 2008 @05:15PM (#22158776)
    Those sites broke every other time a new version of IE came out, and those times there was no magic one line fix. Hell every time a new version of Windows came out they were "breaking existing code all over the world." I'm sorry but it's no excuse. If I code a web site correctly I expect it to work correctly. I should not need a hack because MS thinks it's the golden boy.
  • by jesuscyborg (903402) on Wednesday January 23, 2008 @05:45PM (#22159248)

    Businesses can do as they please, but consumers can always vote with their browsers.
    Yes, consumers can "vote with their browsers" by choosing to use the ones that support all the awesome capabilities described in W3 standards! You know, those features that no website utilizes because IE doesn't support them.

    New standards don't mean anything if no one uses them. A non-developer switching to a browser like Firefox simply because it "supports standards" would be like buying a high definition television fifteen years ago; you're still getting the same quality broadcasts.

    W3 standards don't catch on because they're not intended for the end-user, they're intended for developers. End-users don't care that the columns on your website were coded in CSS rather than a table. If you want people to switch to a more developer friendly browser, you have to give 'em the old razzle dazzle. For example, let's say Macromedia Flash was introduced later in the game, relied on a W3C standard instead of a browser plugin, and that standard was only supported by non-IE browsers. Developers would be so anxious to use Flash that they would leave IE users in the dust, encouraging them to switch if they wanted to see the fancy dynamic content. IE users would then feel left out and switch to Firefox, which would end up with a 70% market share before Microsoft could even blink.
  • by dotancohen (1015143) on Wednesday January 23, 2008 @06:02PM (#22159564) Homepage
    So _you_ wrote non-standards compliant pages. Now _you_ can go back and change them. That's right, you bent over backwards supporting Microsoft's broken habits, now you can pay the piper. I stopped coding for IE around late 2006 and you know what? I do not need to recode anything that I've done since then.

    If users insist on using a broken browser then I let them see a broken webpage. Let them know the headaches that MS has done to those who design the web. Better yet, let those who choose to use their products (and those who choose to support their products, like you) suffer the headaches now.

    I'm full aware of the fact that some people stopped looking at my sites because IE doesn't display them nice. I suffered the loss of advertising income. And you know what? It was worth it.
  • by styrotech (136124) on Wednesday January 23, 2008 @06:02PM (#22159566)

    Forgive me if I'm wrong (as I'm not an HTML guru in the least) but isn't that the point of DOCTYPE? Meaning, if a broken page wants to use the buggy renderer they shouldn't be setting a strict DOCTYPE.


    Only in a very roundabout way. The actual point of the doctype isn't anything to do with rendering engines - it is how you specify exactly which version of HTML/XHTML/(some other random XML language) etc your markup should validate against.

    In terms of rendering engines, CSS doesn't (unlike HTML) have any way of defining which version you are using anyway. The different versions just kinda build on each other, and browsers are supposed to ignore anything they don't understand.

    What happened was that when browser makers needed to diverge their rendering engines into quirks mode and standards compliant mode, they figured it was a reasonable assumption that any site that uses a strict doctype is going to the trouble of complying with the standards. So they used the presence of certain doctypes to switch to standards mode. And now that (pragmatic but short sighted) approach is starting to show its warts.

    None of this was originally intended by the standards writers - ie people writing standards sort of assume that they are intended to be complied with. So the standards (I think HTML5 might be an exception) don't really allow for providing configurable levels of brokenness in a well thought out extensible way. Actually being able to configure how broken your code is seems a bit strange anyway.
  • by NereusRen (811533) on Wednesday January 23, 2008 @06:57PM (#22160292)

    No, this isn't the case. Any developer who wants Internet Explorer to use its most recent rendering engine at all times can select "edge" and be done with it.
    Am I the only one who doesn't find this reassuring in the least?

    Setting -- 2014 AD. Microsoft's IE10 includes a dramatically improved rendering engine with better compliance to standards. This causes it to render pages significantly differently from IE8 and IE9.

    Microsoft: "To take advantage of our new rendering engine, please add the following tag to each page: [...]"

    Us: "What about the 'edge' attribute? Shouldn't you force everyone who specified that to follow standards by rendering their pages with the new engine?"

    Microsoft: "Too many pages are using that to mean 'render like IE8/9,' and using browser-specific hacks for those engines. It would break the web if we changed the rendering of those pages. Don't worry, we've added the attribute 'modern' that will always mean 'use the latest rendering engine,' so you'll never have this problem again."

    Us: [facepalm]
  • Re:Amazing (Score:4, Insightful)

    by SL Baur (19540) <steve@xemacs.org> on Wednesday January 23, 2008 @07:14PM (#22160578) Homepage Journal

    I think you're missing the point somewhat here, as are a lot of people. The core issue is that Microsoft have painted themselves into a corner by not following the specifications in the past.
    I think you have part of it right, just complete the thought.

    First, Microsoft only does things to further their own goals. This is not a matter for the convenience of non-Microsoft developers. This is an internal engineering decision for the benefit of internal Microsoft Windows developers same as the paragraph-spacing-for-word96-for-macos "tags" in MSOOXML.

    Second, Internet Explorer is a critical operating system component. Moreover, it functionally has a similar role to that of the Unix shell. As such, its defaults for how it renders HTML is a fundamental system interface. Nobody is perfect here. As an analogy, consider how on Linux systems, /bin/sh is usually a link to bash, then people write shell scripts with #!/bin/sh and then use bash extensions, which of course breaks when a Posix compliant /bin/sh exists. See we can make the same mistake too. The difference is that the Microsoft engineering team can't just tell apps to fix themselves (or have the users recompile the now-broken app). They must support the old interface in the same way that they have to keep other ABIs compatible.

    Do you see how this makes sense? IE8 can't break IE6 stuffs because that's a critical O/S interface that too many internal components rely upon. We can just say "You're an idiot. If you must use bashisms in scripts, you must also use #!/bin/bash #!/bin/bash-4.0.6 or whatever." Microsoft doesn't have the same luxury.

    Defaulting to IE6 behavior makes total sense if you think of it this way. So what would you rather have, standards compliance when viewing web pr0n and a non-functional MS Windows O/S (which probably cannot boot far enough to even get to the point where you can look at pr0n in the first place) or having your O/S continue to work as it has?

    As a general engineering solution, relying on specific version numbers to control behavior went out of fashion a couple decades ago. I'm not surprised other browser developers are not enthusiastic about the idea. However, I'm also not surprised to see this kind of thing in an end-to-end controlled environment where you can trace specific desired "non-standard" behavior to a specific version number and act accordingly.

    I will now present the source code to Internet Explorer 8:

    #include <ieglobals.h>
    extern int getDesiredIEVersion(int, char **, char **);

    void main(argc, argv, envp)
    int argc;
    char **argv, **envp;
    {
        switch (getDesiredIEVersion(argc, argv, envp)) {
        case 6:
        default:
            ie6_main(argc, argv, envp);
            break;
        case 7:
            ie7_main(argc, argv, envp);
            break;
        case 8:
            ie8_main(argc, argv, envp);
            break;
        }
    }
  • by styrotech (136124) on Wednesday January 23, 2008 @07:44PM (#22160954)
    Calling opponents of what MS is doing "academic eggheads" is extremely short sighted. The opponents of this care about the web and it's infrastructure as a whole (including browser developers) rather than just a bunch of badly hacked up user agent sniffing sites they have to maintain.

    If you think user agent sniffing is the only way to do your job then I would question how you could call yourself a professional web developer.

    Going down the path MS is creating by adding new rendering modes will only end in madness as every webdesigner has to specify what browser version that site is to be rendered with. When there was only quirks mode and standards mode, most people didn't see that as a problem even if the "academic eggheads" did. But will it become a problem when browsers need to support 5 different IE rendering modes, 3 different Firefox rendering modes, 2 different Opera rendering modes etc etc? Or does only MS get the privilege of writing buggy browsers that every other browser writer have to emulate?

    Effectively there won't be any web standards once you get to that point - web sites will end up just be coded to one of a dozen different rendering engines. That sets back all the hard won recent progress that has been made with promoting web standards. As only MS will have the clout to make everyone follow their rendering bugs, that puts MS back in charge of browser innovation (or lack thereof) as the other browsers end up chasing their tail in an eternal Samba like reverse engineering effort. How is that good for the web as a whole? Everyone ends up with buggier bloated browsers that are harder to maintain by their developers.

    All this just because some webdesigners were too lazy to figure out how to do their jobs properly, and too shortsighted to see the bigger picture of what is at stake. This isn't MS getting out of the problem they created, it is MS perpetuating it even though they have finally created a standards compliant browser. Quirks modes should be opt-in rather than opt-out, and the aim should be to eventually leave them behind rather than lock them in place forever.

    Quoting another comment: MS desire to "not break the web" really means "not fix the web". Every other new IE version has done similar things before - why is it now a problem?
  • by TheSunborn (68004) <tillerNO@SPAMdaimi.au.dk> on Wednesday January 23, 2008 @08:03PM (#22161172)
    But even if ie8 starts in "super standard mode" a site is only giving problems with ie8 if it have a doctype, and don't work in standard browsers, such as firefox. (If firefox can render it, so can ie8 super standard mode).

    And it is many years ago I saw such a buggy site. (In fact I can't think of any site where there would be problems right now.

  • by KevMar (471257) on Wednesday January 23, 2008 @09:46PM (#22162104) Homepage Journal
    This is the exact problem they have.

    People write the page with the markup and tags they know work today. People use the retarded work arounds to make the pages look correct in IE. The problem is when the newest and greatest renderer fixes the original bug, the hack fails to work because it uses some unsupported markup/feature.

    You should be able to code a page once and have it work forever. That is what microsoft is trying to get back to. This is something people want.

    But this is microsofts own fault. They are trying to fix thing now but they have already corupted the standards (by not fallowing them).
  • by Onyma (1018104) on Thursday January 24, 2008 @06:49PM (#22174602)

    "I've had hundreds more problems with FF rendering than IE rendering. That's because I start with IE, and build FF second. It's been that way for developers since the dawn of time. The primary browser is easy, the secondaries are not. You get to pick the one that you want primary."

    And I am the reverse... I develop in FF first and make sure it renders there fine, then I also find that it works well in Opera and Safari 99% of the time right off the cuff... then I go back and fix poor lagging IE by working around it's rendering issues. Heck in IE7 MS ponied up and re-worked many of their known issues admitting they had been lagging behind the standards on their own blogs.

    "But I'll say again what I've been saying for well over a decade. The day the W3C makes a browser that correctly meets each and every one of their standards, then I'll point to IE and others and say that they suck. Until then, it's the W3C that sucks. I too can invent standards that are difficult to follow."

    So because the FAA doesn't build airplanes they shouldn't set guidelines for manufacturers? And because the FCC doesn't produce any TV programs they shouldn't define guidelines what can be broadcast? How about because GM is the largest auto manufacturer we let them decide how cars should be built and what guidelines they should adhere to? Then all of the other manufacturers could just follow along.

    Can you imagine what the Internet would be like if we didn't have organized bodies attempting to set a standard everyone can agreed on? Can we say "free for all"? Can you imagine a world without standards? No broadcast TV signal standards, no adherence to a wireless spectrum rules, heck my telephone probably wouldn't even work outside my local calling area. The W3C is attempting to bring the same form of organization to the web and set one common set of rules that make things inter-operate at an expected level. That is in no way a bad goal or a fruitless effort. Nor should it be ignored.

  • by tzot (834456) <antislsh@medbar.gr> on Thursday January 24, 2008 @11:59PM (#22177538) Homepage
    Quoting from the ALA post you linked to:

    Now sure, you could just shrug it off and say that since IE6's inaccuracies were well-documented, these developers should have known better, but you would be ignoring the fact that many developers never explicitly opted into "standards mode," or even knew that such a mode existed.
    This sentence is the basic argument I can find in the complete post that can be considered as justifying your "DOCTYPE was flawed from the beginning", or Gustafson's "The DOCTYPE switch is flawed" (the sentence is a round-up of the previous numbered list where "2. IE6's rendering behavior was not updated for five years, leading many developers to assume its rendering was both accurate and unlikely to change." existed).

    I can be accused of quoting out of context, but anyone can read Gustafson's post. I fail to accept the logic: "A switch (DOCTYPE) came into existence; its use suggests that the page developer knows what they're doing. Yet, many developers didn't know what they were doing as they used it, and for that, a specific tool is to blame, a very common tool that failed to understand the switch. Ergo, the switch mechanism is flawed."

    I'm sure someone can help me understand this logic. Please do.

Help stamp out Mickey-Mouse computer interfaces -- Menus are for Restaurants!

Working...