back to article 'IE8 compatible' - the cure for web standards headache?

It took Microsoft six years to move Internet Explorer versions from 6 to 7. IE8 should be along a little quicker - it is slated for release within two years, less than three years after IE7's October 2006 debut. But Microsoft has a big, big task on its hands: how to improve support for web standards in IE, without breaking …

COMMENTS

This topic is closed for new posts.
  1. Adam Radestock

    Special Case

    Any web developer worth his/her salt 'special case' IE in CSS and HTML anyway, as it has abysmal implementation of web standards, or even competing implementations of behaviour.

    When this is the case, the web developer will have to do minimal work to support IE8 - if M$ make it standards compliant!

  2. Gerry

    I'm missing something here

    Why not base IE8 on a standards compliant engine such as Gecko or KHTML?

    After all, it's not as it would take much effort nor would much else have to be released under an open source licence.

    What would be the down side?

  3. Michael

    Set things straight!

    I just want to clarify (correct) the first paragraph. Microsoft put IE (6 at the time) into "Sustained Engineering" status. This means that the product was no longer in development and only security fixes would be introduced. There were 2 developers placed in the IE SE team.

    This is a FACT. IE was abandoned when Microsoft "won" the browser wars - and at the time was still in court battles.

    Take this for what you will... but I know the truth - I was there - I dealt with the IE SE team on a very regular basis.

    Just a shame no one can fully report the truth of the matter. :-(

    -michael

  4. Tom

    Microsoft Standards compliant?

    Boy, what a joke this is. Microsoft has never been standards compliant, unless they make the standards. The whole object of Microsoft is to break standards so that they are the only ones that comply. How else will they make money. Need a new standard every year or two, so everyone else is out of compliance (except for Microsoft). Then everyone else attempts to catch up.

    Oh, well. Another Oxymoron added to the dictionary.

  5. Adam Bishop

    And just in case anyone needed any clarification...

    2 years really is less than 3 years!

  6. Robin

    What about the doctype?

    And there's me thinking that I should use the doctype statement at the top of the file to define which standard I want to use.

    Stupid me...

  7. Steve Roper

    Oh god no...

    All this will do is make it even harder for web developers to ensure their sites work across browsers. I currently develop all our sites with browser-sniffing code to check if a user is using IE or a W3C compliant browser, and select between two stylesheets depending on which one is used. Simple, straightforward, and it works (despite some web developers condemning the practice of sniffing the browser). So far, my code goes something like this:

    [read user agent and assign is_msie = 1 if IE, 0 if not]

    if (is_msie) {stylesheet="domain.tld/css/styles_mie.css";}

    else {stylesheet="domain.tld/css/styles_w3c.css";}

    Now Microsoft are going to release a version of IE that IS (supposedly) going to be W3C compliant? So now my browser sniffing code has to contain version checking AS WELL? So now I have to do this:

    [read user agent AND version number and assign is_msie = 1 if user agent is IE, 0 if not, and assign brver = version number]

    if (is_msie && brver < 8) {stylesheet="domain.tld/css/styles_mie.css";}

    else {stylesheet="domain.tld/css/styles_w3c.css";}

    or more likely, considering that even IE8 probably STILL won't be truly W3C compliant, I'll need ANOTHER stylesheet with some hashup like:

    if (is_msie)

    {

    if (brver < 8) {stylesheet="domain.tld/css/styles_mie.css";}

    else {stylesheet="domain.tld/css/styles_ie8.css";}

    }

    else {stylesheet="domain.tld/css/styles_w3c.css";}

    FFS Microsoft, you've done enough damage already. Just stick with your old standards and let us web developers cover your monopolistic deficiencies ourselves, without forcing us to turn our sites into bloatware!

  8. Anonymous Coward
    Anonymous Coward

    Re: Microsoft Standards compliant?

    "Boy, what a joke this is."

    As a web developer striving to build sites that conform to W3C standards, I spend far more time kludging round IE's inadequacies than doing anything else.

    A joke, it is. Funny, it is not. It is pretty much impossible to create a static site that'll conform to standards *and* work correctly on IE - you need to write the site in PHP or similar with special cases both in the page itself and in the CSS (box model, anyone?) to compensate for IE stupidity.

    If Microsoft really were to roll out a version of IE that does conform fully to the standards, there would be much rejoicing. Is it going to happen? I'll believe it when I see it.

  9. Peter Labrow

    Bite the bullet

    They should just bite the bullet and go standards compliant. They have said that is where they need to go - they should swallow hard and go for it. There will be some issues, but any Web developer worth her/his salt will have been coding in a standards compliant way anyway. Plus, it's better to fix things to a standard, rather than be fixing this to suit one broken product.

    Firefox has done a lot to make Web developers more aware of making sites standards compliant. It's time to make the change. Microsoft could issue a warning, two years before product release, that sites need to be standards compliant and that developers should test them in Firefox. That gives people plenty of time.

  10. Ralph B

    MS Opera

    I can see MS buying Opera. They'd get standards-compliance AND a foothold in the mobile & cross-platform market too.

    Hmm, and ever since Opera stopped charging for their browser (and I paid for it on Windows & Psion platforms) I've wondered if being bought by MS was in Opera's business plan.

  11. Greg

    Fix the websites, don't break the browser

    If MS had a pair of balls, they'd start again with IE8. They got themselves into this mess, and the only way out is to make a browser that is standards compliant and finally put web developers on a level playing field. If some numpties have designed sites that only work in IE, then that's their problem to fix. This problem needs sorting, and it won't be sorted through another half-arsed set of Microsoft-only standards. Standards already exist, so bloody well use them!

    Of course, my position on this has nothing to do with the fact that I would make a fortune from new clients coming to me to get their IE-only sites fixed. ;-)

  12. Anonymous Coward
    Anonymous Coward

    Like it's that hard...

    I still fail to see Microsoft's problem with making a standards-compliant browser. Can it be so rediculously hard to get the CSS box model and floating elements right, when every other major browser displays them fine?

    Of course, even if IE8 were completely standards-compliant (which it undoubtedly won't be), we'll still have to keep putting in a load of hacks to get our standards-compliant sites to work with IE6 and 7, which both exhibit completely different bugs...

  13. Anonymous Coward
    Anonymous Coward

    The obvious answer!

    Rebadge Firefox as IE8 (under licence of course). Firefox is apparently more standards compliant, more secure, faster, and is ahead of IE in almost every way.

    IE will then be separate from the OS and so will also meet some of the EU requirements that MS has chosen to delay implementing as long as possible.

    Job done. Invoice for consultancy is in the post Mr Gates.

  14. Edmund Cramp Silver badge

    Quick easy fix for IE problems

    Microsoft has never worried about IE's ability to break websites in the past so it's very unlikely that they are going to start now - also, I note that the article says "improve support for web standards in IE" - meaning that Microsoft are not going to make IE8 work properly either.

    But there's an easy answer - take IE out and shoot it and then offer users the opportunity to install a standards compliant browser instead.

  15. Anonymous Coward
    Anonymous Coward

    We don't need standards

    We don't need standards ... well, not any *more* of them anyway. What's wrong with W3C ?

    Apart from the fact that Microsoft's own non-standard browsers don't comply with it and heavily promote incompatible features, that is?

    But this is Microsoft ... the company that believes in standards so strongly that it tries its best to invent a new one every day.

  16. Robert Grant

    Yeah I agree with Tom in a way...

    ...websites shouldn't be labelled as "IE8 compliant", they should be W3C standards compliant. Setting up any version of IE as a compliance level is just playing the same old game again.

  17. Dale Richards

    The Firefox method?

    Would it be so difficult for IE8 to do what Firefox does (and other browsers, I'm sure)? That is, to render pages in "quirks mode" for backwards compatibility (i.e. compatibility with backwards browsers like IE) but switch to standards compliance mode when rendering a document with a valid DOCTYPE declaration?

    While I'm sure that will messy up the Trident code a little, maybe even requiring two almost completely separate layout engines in IE, but Microsoft have made their own standards-ignorant bed and now they have to lie in it, so to speak.

  18. Will

    Oxymoron?

    "It's challenging for us to support standards," Wilson said. The "core of Trident is great code"

    Sounds like a bit of a conundrum to me. Surely if it was great code it would be standards compliant?

  19. Marc

    Start inovating again

    IE5 was the last browser that had new features I wanted to upgrade to. Most users won't think "oooh wow, it supports standards" and download IE8. Plus this means it won't support innerHTML, which Firefox does.

  20. A J Stiles

    How to make any web page work with IE

    If you want to make sure that IE users can access your web page which you know works absolutely fine in Firefox, Opera, Safari and Konqueror (anything that works in any one will work in any of the others), just put this at the very top;

    <?

    $browser=$_SERVER["HTTP_USER_AGENT"];

    if (!preg_match("/opera/i", $browser) && preg_match("/MSIE/i",$browser)) {

    header("Location: http://www.mozilla.com/");

    exit();

    };

    ?>

    Problem solved!

  21. Micha Roon

    reputation is hard to loose

    M$ has such a bad track record about so many things and made so many people angry, that it will be very challenging, to say the least, to convince people of its good will.

    it reminds me of an article from IBM I read in the 90s. It was about the new version of Visual Age and in the middle of it one could read: "we don't want to lock people into our technology anymore"

    that statement had me thinking that Big Blue had become a bit more humble and really a couple years later they published an Open Source IDE platform.

    Maybe M$ will tread the same path.

  22. Martin Gregorie

    On the challenge of standards

    "It's challenging for us to support standards," Wilson said.

    The real challenge MS faces over standards is in persuading its developers to:

    - read specifications and requirements.

    - implement and test what was described

    - document what they did.

  23. Chris Cheale

    Fix the frigging DOM implementation

    It's not exactly hard to make a standards compliant site that works in IE (5.5+) and everything else - our site does that (ok it has 1 warning because I chucked in an "onresize") - but you do have to do some slightly ugly fudges to get everything to display properly... but they're standards compliant fudges.

    It's about time they turned round and broke everything that relied on bad, old, IE-only code - that would put the difference between actual web developers and the "graphic designers that use Frontpage crowd", into stark contrast.

  24. Anonymous Coward
    Anonymous Coward

    Microsoft may "need authors to opt into standards"

    What a cheek. Authors like myself already use standards. They're called W3C.

    Authors need Microsoft to opt into W3C standards.

    I always write pages to be Firefox compatible. They are then tested against Opera, Netscape, Safari and IE.

    I rarely have compatibility problems.

    If web developers (and I use the term loosely to include those who use abominations like Frontpage) are so lazy that they only check IE compatibility, then the companies for which they develop web sites/applications are inevitably losing money.

    A UK (I don't know the figures for other countries) web site which doesn't work in Firefox is missing well over 10% of its potential market.

  25. Kevin Hall

    The web was lost years ago

    Hang on a second. Before you all start blaming the browser, how many standards compliant pages are there? Most pages I visit would never be W3C compliant. Then again most web designers don't seem to care about this, pages are saturated in Flash or Shockwave (not exactly a W3C standard the last time I checked) and the pages are made excessively complicated. Most pages are marked up for presentation not information but then again most web designers wouldn't know the difference. Blaming Microsoft for the current state of the web is, frankly rubbish. Every Joe Q. with a text editor and a web server is contributing to how poor the state of the web is.

    Of course before you all start trumpeting Firefox I think you're missing a lot of points. Up until Netscape dumped its browser and went open source in 1999, Netscape 4 was a joke. It could barely render any CSS at all. To get to Firefox, it has took Mozilla the best part of five years demonstrating the difficulties of the task. Of course there is the even thornier subject of what is a standard and who decides on one. When standards in this context are purely arbitary, I really don't see how any company is under any obligation to follow it.

  26. Lachlan Hunt

    How the Opt-in Will Work

    I, among others, have been discussing this opt-in issue with Chris Wilson for the past few weeks, in relation to HTML5.

    (See the various versioning threads on public-html if you're interested in reading it all)

    http://lists.w3.org/Archives/Public/public-html/2007Apr/

    So, AIUI, this is how it will work:

    Existing (X)HTML DOCTYPEs (e.g. HTML 4.01 Strict, XHTML 1.0 Strict, etc.) that currently trigger standards mode will require an explicit opt-in in order to trigger the latest standards mode in future versions of IE. Without the opt-in, such pages will default to IE7 mode. So that means, existing pages will continue to render exactly the same way that they do in IE7, forever, until an explicit opt-in is added.

    Existing HTML DOCTYPEs that trigger quirks mode will continue to trigger quirks mode, even if an opt-in is present. I'm not totally certain about this, but it is the most likely to ensure that pages don't trigger standards mode in IE, and quirks mode in other browsers, which would cause more problems and force other browsers to reverse engineer and implement the opt-in switch.

    The HTML5 DOCTYPE will trigger standards mode by default, without an additional opt-in. However, there is no guarantee that this will always be the case. For example, IE9 could be released and require an additional opt-in, even with the HTML5 DOCTYPE. If that occurs, it will be a serious problem (see below).

    The specific syntax of the opt-in is not yet known, but it will either be a comment based opt-in, an attribute on the html element, or both (so the author could use either one).

    Even though Microsoft have good intentions about not unintentionally breaking compatibility with existing content, there are several major problems with this situation.

    1. IE will never, ever be fully interoperable with other browsers in the way it handles legacy content. This was one of the problems that HTML5 was attempting to solve, and the other browsers are going to work hard on being interoperable with each other, but Microsoft are refusing for any pre-HTML5 content.

    2. Because it's possible that IE will continue to add more opt-ins in the future, even for future HTML5, they will effectively be introducing an unbounded number of frozen bug states, each of which will require a new opt-in to be added by authors. In the worst case scenario, other browsers will be forced to reverse engineer every one of those frozen bug states, and support the opt-ins.

    Every new mode added to browsers increases cost, complexity and the surface area for bugs and, worse, security holes. Microsoft seem willing and able to ignore those issues, but they will cause serious problems if other browsers are forced to ever reverse engineer and implement IE's bug-modes and opt-ins. That is extremely anti-competitive behaviour, and I honestly hope it won't come to that.

    IMHO, Microsoft is making a big mistake and they will suffer for it in the long run, but there's not much we can do except try to make the best of a bad situation.

  27. Anonymous Coward
    Anonymous Coward

    Ignore IE

    My partner and i have solved the 'graphic designers that use Frontpage' vs 'actual web developers'* issue: *he's* the graphic designer and shows me mockup of what he wants the page/site to look like, and *i* code.

    Have an objection to "works absolutely fine in Firefox, Opera, Safari and Konqueror (anything that works in any one will work in any of the others)" -- my online college site does *not* work properly all the time in Safari; when i find i'm in a class that won't update/display correctly in that browser, i'm forced to go to Firefox.** It all depends on what code is embedded.

    i've stopped testing sites with IE, since i've discovered that the display can markedly differ from Safari and Firefox. Those two display nearly identical. i figure i'll stay W3C compliant and let MS go hang.

    MS maundering on about complying with standards is a hoot. i wouldn't stand nearby if i were you -- you may get hit in the cosmic blue-bolt backlash.

    *Caveat: i'm not a professional 'web developer'. My coding knowledge ends at stand-alone Java and HTML. But my pages are clean and work.

    **Which is so slow in starting and loading that i just about tear my hair out.

  28. Andrew Badera

    It sounds like Microsoft is really ...

    ... just looking to pass the buck. They want developers to say, "it's ok if your next browser doesn't work with anything I've designed for your previous browsers." They're not trying to fix, or avoid, the problem, they're simply looking to be let off the hook. They need to have the balls to just DO IT -- and take what flack comes with it. It sounds like Trident needs to be revamped from the base up, in order to come into compliancy with standards. A refreshed, standards-compliant Trident would mean it would be difficult to support OLD MSIE pages -- but this shouldn't matter. Since everyone has a FF and MSIE version these days anyways, an MSIE that is standards compliant should be able to render the existing FF versions just fine. A minimal change for developers -- simple removal of the special case.

  29. |333173|3|_||3

    Frontpage?

    Who uses frontpage anymore? Coding monkeys would at least be using Dreamweaver. At least we are not seeing the useless Word HTML pages so much anymore.

    Maybe the solution to teh MSIE compatability problems would be to use an IE exploit to force download Fx and open the page in that ;-)

  30. James Penketh

    Microsoft worried about backwards compatibility?

    And worried about not breaking something that already exists?

    Is it just me who's thinking: "Eh?"

  31. DrFix

    Standards?.... We don't need no steeenkeen standards!

    "....IE8 compliant"

    Well, there you have it. Meet the new boss, same as the old boss. Haven't we been here before? I'm having to shake my head in disbelief at the comments spewed forth from this MS Code-bot.

  32. Anonymous Coward
    Anonymous Coward

    Frontpage!

    Unfortunately the abomination know as Frontpage is used by non-technical people a lot in environments such as corporate Intranets.

    I have given up trying to educate the people on my site who edit the local intranet sub-site about what a URL is, and that there are certain characters which are not valid in one - ie spaces and underscores.

    Do they care? No. They're just trying to get a job done with the tools they're given, and although it makes me nearly tear my hair out and blow a valve with frustration - I can see their point of view to be honest.

    In their context, they aren't "coding" ... its basically a DTP job to them, and if the M$ provided tools don't adhere to W3 standards, thats irrelevent to them as their only concern is that the pages they produce display correctly on the users desktop browser ... which which is, you guessed it, IE.

  33. Matthew Sinclair

    AS IF...

    The day M$ becomes standards compliant is the day they go out of business.

    M$ never follows standards unless they are sued to do so.... or forced by some other chaotic situation...

    They make the standards.

    If they where wanting to make a standards compliant browser they would have it done within the year... they got more money than any other company out there in their line of work.

    So what the heck is the problem I ask?

    Simple...

    Greed.

    They didn't finish Vista afterall! Or XP... etc...

  34. Paul

    I fart in the general direction of your opt-ins.

    All browsers should deal with well-formed HTML and CSS with a correct DOCTYPE in a predictable fashion. No opt-ins or other voodoo required to make it happen. That's why it's called a "standard" after all. Chris Wilson can take his "opt-in" flag and shove it up his arse for all I care, because I certainly won't be using it.

    As Dale Richards mentioned, the best solution would be to assume you want full standards compliant mode, and if your code is broken *then* drop into a more lenient "tag soup" parser. It doesn't even need to be consistent, "adequate" would be enough.

    That way, if you write well formed code, you should be able to rely on consistent cross-browser results. If the browser still mucks it up, then it should be the browser vendor's problem to fix it, not the web developer's.

    Whereas, if you write crappy code, then it'll display, but it may not work well across browsers, or work the way you thought it would. That's not Microsoft's problem, or Mozilla's, it's YOUR problem.

    The point is, someone who chooses to work to the standards should be rewarded by easy to maintain, predictable, cross-browser compatible pages, but Auntie Mabel won't be punished because she forgot a paragraph closing tag in the recipe for bread pudding that she posted on her homepage.

    Opera manages to do this: it's the most standards-compliant browser available, yet it still manages to make some kind of sense out of the burning disasters that Frontpage and (eww) Word vomit into a .HTM file.

  35. Anonymous Coward
    Anonymous Coward

    Correction

    In addition to Michael's comment.

    Firefox 1.0 was released in November 2004. IE6 had been going since 2000/2001.

    As soon as FF started becoming popular, Microsoft got worried and started developing IE7. That is 2 years worth of development to get to IE7, not 6 as you stated.

    Because if IE7 is 6 years worth of development, then Vista's already dead.

  36. RW

    Persuasion Hasn't Worked Yet

    In an eariler reply, Martin Gregorie wrote:

    > The real challenge MS faces over standards is in persuading

    > its developers to:

    > - read specifications and requirements.

    > - implement and test what was described

    > - document what they did.

    Not "persuade." Try "force", "demand", "insist."

    I've often thought that many of M$'s problems are inherent in its organization. Simply put, they have an corporate culture that despises discipline, whether it be consistency across their product line or conformity to external standards. They need to hire a crew of unpleasant old guys in short-sleeved dress shirts to enforce uniformity onto the developers. As matters stand today, one has the suspicion that internally M$ is a free-for-all, everyone doing their own thing.

    And they've *always* been bad about paperwork. One wonders if the reason they don't give the EU their network protocols is because they *can't* - there's no documentation other than the code itself.

    As for IE, the best thing they could do is junk the IE name, think up some new name, and build a new browser from scratch. Or even kiss off having a web browser bundled with Windows. The world would survive quite nicely without IE.

  37. David

    Backwards compatibility?

    Microsoft worried about backwards compatibility?

    They should be worried about their backward mentality.

  38. Anonymous Coward
    Anonymous Coward

    Be realistic...

    It's all very well saying 'just code to standards and ignore IE', all you people who are saying that, but it is hardly realistic, is it? When a client asks us to do a site for them, they kinda expect it to work in the worlds most popular browser. I hate IE as much as anyone, but I never face any significant problems coding for it really. It MOSTLY does what it is told, there are some box model issues with version 5/5.5 of course, which can be solved with minor hacks, but other than that it is never TOO bad.

    To the guy who said he detects the browser and feeds different stylesheets accordingly: Speak for yourself mate! You are bringing these problems on yourself by coding in that way - the rest of the web development community would LOVE for IE to support standards for once! And while it will be a pain to support old versions as well as newer more standards compliant versions... one day in the future, you won't have to support the non compliant browsers any more, and well, you have to start somewhere!

    And to the person who detected browser at the top of the page then sent them off to mozilla.com - also a pretty bad way of going about it! Developers should be bringing users in, not turning them away because of THEIR choice of browser (it is the user's choice after all, not the developers choice, how their website is viewed). Also, unless the browser is both Opera AND MSIE at the same time, that script isn't going to do a lot!

  39. Anonymous Coward
    Anonymous Coward

    A choice error

    "bringing users in, not turning them away because of THEIR choice of browser (it is the user's choice after all"

    No, that's not true at all. People who CHOOSE their browser have chosen Firefox or one of the others. Almost nobody has actually *chosen* IE and those that use it usually do so only because they aren't aware that there are better choices.

  40. Anonymous Coward
    Anonymous Coward

    I agree

    I completely agree, but that still doesn't give the web devloper the right to insist that they change to view their site. As much as I try and persuade people to stay away from IE, I am not going to tell them they can't use it to view my site as intended.

    And MS will NEVER say 'check the site in Gecko', or use the Gecko engine in IE. That would look extremely bad on them (or rather... even worse on them) to recommend / use a competitor. They just won't do it.

  41. Dan

    Quirks Mode Button?

    Surely all Microsoft need do is create a standards compliant browser and add a "Quirks Mode" button, which the user can press if a website looks odd, and then display pages using the old IE engine.

    Even better: they should just add an attribute to the DTD that only IE 8 can read that allows developers flag pages as standards compliant. If that flag isn't there, then the page reverts to old quirky IE engine.

    Therefore if every developer adds this flag, within 5 years new versions of IE need not have quirks mode as most sites would be standards compliant by then.

  42. Anonymous Coward
    Anonymous Coward

    Quirks mode flag?

    Its those kind of 'IE Only' addons or flags that causes these problems in the first place! IE DOES have a quirks mode already, I'm pretty sure, and it is governed by the presence of a doctype in the first place. People who put the doctype in are generally assumed to know what they are doing, so IE renders the page in standards mode. Quirks mode for everything else.

  43. Anonymous Coward
    Anonymous Coward

    Hey, did anyone forget something?

    Uh, I hate to mention this...but 90% of the browsers out there are IE6. So a page that is W3C compliant loses 90% of possible hits, eh? Great economic sense!

    Go tell your customer that your web design is 100% W3C compliant, oh, and, by the way, no one using IE will be able to view it without problems. Then ask for your check.

    Everyone should do as Motorola has done on their support pages for Windows Mobile devices: they check for an IE browser -AND- check for Windows as the OS. If either fail, you get sent to a generic error page. No content for you until you toe the Man's line! (BTW, Vista/IE7 failed this test until the middle of April...OOPS!!)

    Lesson: get a clue - be Microsoft TRUE!

  44. Anonymous Coward
    Anonymous Coward

    2+2 = 5 eh?

    "So a page that is W3C compliant loses 90% of possible hits, eh?"

    No. You're obviously not a coder because only somebody with no grasp of logic would make that interpretation.

    The problem is not that pages don't work in IE when they are W3C compliant. They do.

    The problem is that "IE compliant" pages often don't work in other browsers, because they are using non-standard markup.

    With more and more people choosing other browsers, this is the part that doesn't make economic sense.

This topic is closed for new posts.

Other stories you might like