The Internet Explorer 8 User-Agent String


As Dean announced, a beta version of Internet Explorer 8 will be released in the first half of 2008. 

The HTTP headers of every web request contain a simple string called the “User-Agent” that allows servers to identify the type and version of the visitor’s browser.  For a deeper understanding of the User-Agent string, please see Understanding User-Agent Strings.

When released, the IE8 beta will introduce an updated User-Agent string.  For IE8, we’ve simply replaced “MSIE 7.0” with “MSIE 8.0”.  For example, on Windows Vista, IE8 sends:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)

Best Practices
Websites that are sensitive to changes in the User-Agent string may need to be updated to support IE8. 

During internal testing, we have encountered a small number of sites which fail to recognize IE8 because they are performing exact string matches to look for specific IE version strings. Those checks will need to be removed or updated to accommodate IE8.  The article Best Practices for detecting the Internet Explorer version provides suggestions and code samples.

As noted in the Best Practices article, it is not recommended that you block access to content based on the user-agent string of the browser. If you do have to offer different content to different versions of the browser due to improved capabilities, you should ensure that future versions of the browser are not blocked. Serving content based solely on the user-agent string is often an unreliable way to detect the full capabilities of the browser, because the user might have adjusted some settings, such as disabling script or extensions.

Detecting Beta Versions
For IE7 beta, a “b” was added to the User-Agent string

Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0

… to identify the browser as a beta release.  While this was consistent with prior IE releases, it caused many site compatibility problems.  Server code tried to cast the string between MSIE and the next semicolon into a floating point number, and failed when the “b” was encountered.

To prevent similar problems in the IE8 beta, we will not include the “b” in the IE8 beta User-Agent string.  Pages can detect if they are running inside a beta version using the following script:

if ((null != window.navigator.appMinorVersion) &&
    (window.navigator.appMinorVersion.toLowerCase().indexOf(“beta”)>-1))

       window.alert(“This is a beta browser.”)
}
else

       window.alert(“This is NOT a beta browser.”);
}

User-Agent Spoofing

If you’d like to see how your sites react to the new IE8 User-Agent string today, you can use the existing registry-based User-Agent override mechanism to cause IE7 to masquerade as Internet Explorer 8

For the convenience of beta users, a new menu option is available in beta versions that will enable the IE8 beta to masquerade as IE7 without restarting.  When the “Report IE7 User-Agent string” option is checked, IE8 will send the IE7 User-Agent to allow beta users to interact with any sites that have not yet updated to support IE8.

Eric Lawrence
Program Manager

Comments (207)

  1. Anonymous says:

    Awesome. Can’t wait for the beta!

  2. Anonymous says:

    Looks nice! Keep the good work!

  3. Anonymous says:

    And of course you’re going to allow me to run the beta standalone aren’t you. I mean anything else would be crazy wouldn’t it, given the number of changes you’re making to turn your product into something that has suddenly started to adhere to standards…

    Oh wait… you aren’t?  I’m going to have no way of testing compatibility between versions 5 through 8 of what has been the buggiest, most consistently inconsistent browser of all time?

    "Run them in virtual machines".  No.  I’m not going to have 4 different installations of Windows on my machine.  I can’t be bothered any more.  I’m just going to develop in Flash, Flex and AIR (Silverlight can take a running jump given how I feel about how I’ve been treated as a developer by Microsoft over the last 7 incredibly painful years) and if I do write HTML I’m going to make it standards compliant and include a "gold bar" at the top of the window telling IE users to download Firefox.

    Including proprietary headers like X-UA-compatible is not something I’ll be doing just to save Microsoft’s blushes.  As much as the current team is to be commended for their efforts, their employers did nothing for *years*.  Developers were required to work hundreds of hours for no recompense to get it to work properly and I, for one, have had enough.

  4. Anonymous says:

    You’ve just ADMITTED that even WITH super standards mode as an opt-in, IE8 will STILL cause site breakage.

    The question remains: are you incompetent, or do you just hate developers?

  5. Anonymous says:

    It’s time to drop the "Mozilla/4.0" from your user agent string. The user agent string is relatively useless but keeping "Mozilla" in there is just another indicator that folks at Microsoft won’t get with the times and are an anchor on the web. Of course, some is forgiven if addEventListener, event capture, and working get/setAttribute are included in IE8.

  6. Anonymous says:

    > Serving content based solely on the user-agent

    > string is often an unreliable way to detect

    > the full capabilities of the browser

    Tell that to the Silverlight team!

    I know that Silverlight works in Firefox 3 and pretty much any other Gecko browser, but I guess Microsoft doesn’t realise that.

  7. Anonymous says:

    Considering the "don’t break the web" mantra, I’m curious as to why you guys have gone with a UA string that will, apparently, break certain sites. Why is one level of breakage acceptable while the other is not?

    Do you guys perform any stats and then have a percentage cutoff point at which you decide that it’s an acceptable loss? Is it possible to share these stats?

  8. Anonymous says:

    Great news on the beta. Just please make sure that you can run it as a standalone and that it doesn’t over install itself over IE7

  9. Anonymous says:

    @Jonathan: If they didn’t change the UA, how would the server know to send the UA-Compatible version of the page?

  10. Typhoon87 says:

    dump the mozilla 4 part of it just make it MSIE X.X Win NT XX

    (the x’s are the version)

    Just break everything one time then let the standards compliant engine rise out of the ashes.

    these stuipid multile rendering engine thing is plain dumb.

  11. Anonymous says:

    Feature detection is preferred over userAgent sniffing these days. What new features should we be detecting? What behaviours have changed? How do we identify these changes?

    Thanks,

    -dean

  12. Anonymous says:

    Amen Tom.  Yeah it would be nice not to break the web, but IE will always be one step behind unless they get it out of the rut it is in.  No, super standards mode.  Have standards mode on from the get go and if developers want their sites to not break they can go back in and put in a special meta tag to bring the site back to non-super-standards mode.  As a developer I would rather go back into my site and limit it to a previous version of IE than tell all my new sites to use a new super duper cool standards mode.  Microsoft, listen to the developers.  You don’t want to break the web, but the developers are telling you to break it … we’ll clean up the mess that your browser has left us with (once).

  13. Anonymous says:

    "If you’d like to see how your sites react to the new IE8 User-Agent string today, you can use the existing registry-based User-Agent override mechanism to cause IE7 to masquerade as Internet Explorer 8."

    Another "brain fart", no surprises here, if we can already pretend to be IE8 why bother with IE8 at all, after all isn’t IE8 just going to pretend to be IE7?

    The fumes in here are becoming more and more noxious.

  14. Anonymous says:

    I continue to wonder why IE’s UA string keeps the "Mozilla 4.0 (compatible" in it, when IE has grown far beyond those days. I think it’s time IE created a more accurate and fresher UA string for itself. I don’t think it would break the web either, since it would be for a new version anyway.

  15. Anonymous says:

    @Devon: It’s pretty surprising how much of the web breaks when the legacy "Mozilla" portion of the string is dropped.  

    If you’re interested, you can see for yourself using Fiddler (www.fiddler2.com).  You can rewrite the User-Agent header to anything you’d like, then visit major sites (e.g. http://www.cnn.com) and see what breaks.

  16. PatriotB says:

    @Fred Clown — what about webpages burned to CD?  How do you put an opt-out tag in them?

    Even if Microsoft were to announce TODAY that sites would need to opt out of standards mode, as you say you’d prefer, I guarantee that when IE8 actually ships there would be millions of pages that would not have added this tag and would therefore be broken.  Remember when IE7 was shipped and how much outrage there was from web devs about their sites being broken, even though all the changes were made to *improve* standards compliance?

    And remember that users don’t care WHY it’s broken; they just want it to work.

  17. Anonymous says:

    It is kind of history, given current the current history of Mozilla, the community, the foundation, and the company, that Microsoft’s super-duper new browser will still identify itself as somehow compatible with Mozilla. Does that mean compatible with standards? 🙂

  18. Anonymous says:

    PatriotB, the new switch is awfully convenient for Microsoft’s goals of keeping people using an IE6 compatible mode (rather than standards) as the web continues to try to move forward.

    Of course, with more than 1 in 4 browsers being something other than IE in most of the world, this may not matter eventually. (Soon enough, it will be 40% or more…)

  19. Anonymous says:

    @EricLaw:

    Firstly, http://www.fiddler2.com is completely atypical of a common web page. Its code is an atavism and the fact that it’s a Microsoft site makes it all the more dubious.

    Secondly, Opera completely removed the word "Mozilla" from its navigator.userAgent string two years ago and has unfettered access to cnn.com and all major websites.

  20. Anonymous says:

    As a semi-related thing, since you mention it.. is there any chance of leaving the quick UA-change mechanism in the browser? Since you’ve added one here for testing, obviously at least part of the code exists already. Most of the other browsers have a method for doing so, even if it’s accessed through an extension. Not a requirement (hardly) but it’d be an appreciated item.

    Yes, I know this is a poor spot to mention what amounts to a feature request, but since you mentioned that it was partly in there for the beta… If nothing else I’d like to know why not, if you have the time to answer. Thanks! ^.^

  21. Anonymous says:

    appMinorVersion.indexOf(‘b’) you mean, not indexOf(‘beta’)

  22. Anonymous says:

    Please, get us out of the rut we are in. Changing the user-agent string to "Internet Explorer/8.0" will break a few poorly designed sites, but on the whole it will make it quite a bit easier to identify user-agents.

  23. Anonymous says:

    @Gyrobo

    "Firstly, http://www.fiddler2.com is completely atypical of a common web page. Its code is an atavism and the fact that it’s a Microsoft site makes it all the more dubious."

    Fiddler is add-in to IE that logs HTTP traffic and alows you to edit it.  The content of the fiddler site has nothing to do with it.

    "Secondly, Opera completely removed the word "Mozilla" from its navigator.userAgent string two years ago and has unfettered access to cnn.com and all major websites."

    A changed agent string could still cause issues because pages are often modified depending on the browser.

  24. Anonymous says:

    @AnomynousCoward

    "Changing the user-agent string to "Internet Explorer/8.0" will break a few poorly designed sites"

    It would break many apps (not just internet based) and as usual, a lot of people would scream bloody murder.

  25. Anonymous says:

    That means that an IE8 using the IE7 rendering mode (engine?) will identify himself non the less IE8 which will break the web what exactly is the reason why you implemented the IE7 rendering mode? That is wired, because the people who are using user agent sniffing are exactly the ones who make websites work only in IE7.

    Please get it a) right or b) dismiss that whole “don’t break the web” mantra. Because the only reason the web is broken is your plain wrong implementation of international standards in IE6, which lasted too long. Changes in IE7 were more cosmetic. And IE8 continues to continue that tradition.

    Why don’t you allow people to get a meta element which says “behave like IE7” which is, what the browser does then. Including the UA string. That would make just more sense than an IE8 which uses the IE7 rendering engine for CSS and IE7 JS but says to a website that it is not an IE7. This is just not true and every website that breaks is right spot on.

    Not breaking the web? Thats sarcasm, obviously.

  26. Anonymous says:

    @Al

    "PatriotB, the new switch is awfully convenient for Microsoft’s goals of keeping people using an IE6 compatible mode"

    Now you’re on the other side of the fence, you seem to be enjoy the kind of rubbish you used to put down.  Not to mention the conflict of interest here.

  27. Anonymous says:

    Hi IE Team,

    Keep up the good work guys. A lot of developers appreciate the new openess and the strive for better standars support.

    IE is finaly becoming the browser it deserves to be and the new meta target tag helps the IE team to advance more rapidly.

    Looking forward to IE8 and I hope IE9 will soon follow!

  28. Anonymous says:

    "Keep up the good work guys. A lot of developers appreciate the new openess and the strive for better standars (sic) support."

    You’re being sarcastic, right ?

  29. Anonymous says:

    Mnnnnnn, many questions.

    This blog entry doesn’t state what user agent string IE8 will send out when in IE7 mode. Can this be clarified?

    I can see in my stats in the future many UA strings with IE7, but how do I know that this is not IE8 in IE7 mode, where the majority of visits is actually IE8 masqurading as IE7.

    Which one of these is IE8?

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

    or

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; MS-RTC LM 8)

    It you could hit one of my pages one night with both in IE8 standard mode and IE8 in IE7 mode I will be able to tell the modes apart from each other.

    That will make some IE team members wonder. 🙂

    So does IE8 in standard mode still use the IE7 targeting hack?

    *+html div {min-height:1%} /* hasLayout trigger */

  30. Anonymous says:

    And what do I find here.

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; MS-RTC LM 8)

    compared to

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; MS-RTC LM 8)

    and

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

  31. CornedBee says:

    Given how much IE8 will improve standards support, wouldn’t it be time to put Mozilla/5.0 in the front, to match other highly conforming browsers?

    Hmm, I wonder how many sites that would break …

  32. Anonymous says:

    I just don’t get this.

    If you are expecting sites to need to modify code due to hardcoded matches on the user agent string, why won’t you make them modify their code to opt out of IE8 standards mode?

    @Dean Edwards: re: "Feature Detection" – I would agree, if this were legitimately possible.  If I test for if(document.getElementById){…} this won’t help me one bit in knowing if the browser is IE 7 or less thus informing me that the implementation is completely broken.  Ditto with (setAttribute), yes a browser may support it, but I wouldn’t suggest for a second that IE supports it (without major hacking).

    I too look forward to the Beta.  I hope that I can run it *STANDALONE* on my *XP* machine for testing, but I have this strange feeling that I won’t be able to do either (since no one from [MSFT] has talked about it yet).

    @MSFT – How about some news here?  is SVG in the Beta?, what DOM methods & properties are fixed/implemented in the Beta?, does PNG Gamma work in the Beta?, has the UI had the major overhaul it needed in the Beta?, can I move/merge toolbars in the Beta?, can I drag a link to a new Tab in the Beta?, Does > Fullscreen > Un-fullscreen still reveal toolbars that were hidden in the Beta?, are the Reload/Stop buttons moved back to the correct location in the Beta?  What version of ECMAScript will the Beta support?  Has VBScript been dropped yet in the Beta?  Has printing been fixed in the Beta?

    Looking forward to your responses MSFT,

    Clive

  33. Anonymous says:

    "if ((null != window.navigator.appMinorVersion) &&"

    shouldn’t that be " null !== ".

  34. ccatto says:

    Hey Now!

    The beta is going to be great!

    Thx 4 the info,

    Catto

  35. Anonymous says:

    @ Eric

    Drop Mozilla from the useragent please. If something breaks then the blame falls on the web designer or web developer masquerading as as web designer. CNN? Seriously, I doubt they have abandoned work on the site. Can you give us a better example of a site that is still popular though not maintained that will break without Mozilla in the useragent?

  36. Anonymous says:

    it is really annoying to post a legit comment only to have it filtered out.

  37. Anonymous says:

    Ok, lets try reposting piece by piece…

    Correct me if I am wrong, but your JavaScript test is broken.

    navigator.appMinorVersion returns a number!

    If you release IE8 Beta, with this as a string, you’ve already messed up.

    Since 0.8 would indicate Alpha, even 0.9 would be better than the String "beta".

  38. Anonymous says:

    you explain how to determine the beta version… But where is the example?

    this one?

    Mozilla/4.0 (compatible; MSIE 8.0beta; Windows NT 6.0)

  39. Anonymous says:

    That’s a good idea! Good luck with IE8.

  40. Anonymous says:

    Actually, the whole test case is overblown. navigator and alert are global objects, and never null…

  41. Anonymous says:

    @DOM: No, appMinorVersion, like most DOM attributes, is a string rather than a number.

    Furthermore, at least one of the browsers I tried returns null for this property, hence the additional test.  Code which fully specifies the scope of the objects it is using runs faster.

    @Autosuchprogramm: The post clearly states the IE8 user-agent string, which does not contain the "beta" indicator for the reason previously described.

    @John: Users don’t really care whose "fault" it is when their sites break.  They blame the browser, don’t upgrade, and then you have to put up with older browsers longer.

    @aaron: Either != or !== would work in the code given.  It’s not clear to me why you’d want to use !== in the case of a null check.  http://www.ecma-international.org/publications/standards/Ecma-262.htm

    @alan: The User-Agent string isn’t render mode-specific, as the page gets to determine its own render mode, but the UA string is sent to the server before IE has the page used to determine the desired render mode.

    @Robbert Broersma: Your test for "b" would also be effective in this case, although it could return false positives in the admittedly unlikely event that there was a different "b"-containing string inside appMinorVersion.

    @Eric: I’ve written a simple addon that changes the user-agent string to a string of your choice on the fly.  I will release it sometime around the beta, and I expect it will continue to work in the final release.

    @Gyrobo: If you watch your network traffic in Opera, you will see that on startup, they download a list of compatibility "shims" that contains the list of sites that they need to spoof their user-agent string in order to successfully render.  While it’s a clever idea, it does have a performance impact, and frankly it doesn’t scale to the entire internet– there’s sites they’ve missed.

  42. Anonymous says:

    @EricLaw [MSFT]

    Thank you for your reply. Another question please if I may. Does IE8 use the following IE7 targeting hack?

    *+html div {/* IE7 style */}

    What would happen if IE8 in standard mode is targeted by *+html. IE7 style targeting the edge. Is Microsoft going to suggest to developers that we should use conditional comments? Add the very things that make these *  hacks possible.

  43. Anonymous says:

    Keep up the awesome work.

    And please do your best to ignore the negative comments out there. 😉

  44. Anonymous says:

    @Mark Wisecarver

    What negative comments? Where? This has been a good start for a recent IE8 announcement.

  45. Anonymous says:

    @EricLaw, thanks for the info.  I wasn’t aware that any browser returned null.  I’m a bit surprized that window.navigator.appMinorVersion is quicker than navigator.appMinorVersion, but I appreciate the knowledge tidbit!

    I see that you didn’t comment on any of Clive’s requests for more info on IE8.

    Can you verify if IE8 will be available for XP?

    Can you verify if IE8 has significant DOM fixes?

    Can you verify if IE8 has native support for SVG?

    Thanks.

  46. Anonymous says:

    @Clive and Dom

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2)

    They have tested IE8 on XP if I read the above UA string correctly.

  47. Anonymous says:

    @Andrew:

    "The content of the fiddler site has nothing to do with it."

    I wasn’t talking about the site’s content, I was referring to its antiquated code. Just from looking at it, I can see improperly nested elements and deprecated attributes.

    "A changed agent string could still cause issues because pages are often modified depending on the browser."

    Exactly. If the default rendering mode is IE7, then the userAgent should identify itself as IE7. That’s why the whole opt-in scheme reeks to me of hypocrisy.

  48. Anonymous says:

    @EricLaw:

    I’m fully aware of how browser.js works. It’s something that would be become completely unnecessary if all browsers would just support the same standards.

    Do you have an example of a site Opera’s browser.js "misses" that specifically uses the "Mozilla" aspect of the userAgent string?

  49. Anonymous says:

    @EricLaw:

    I’m fully aware of how browser.js works. It’s something that would be become completely unnecessary if all browsers would just support the same standards.

    Do you have an example of a site Opera’s browser.js "misses" that specifically uses the "Mozilla" aspect of the userAgent string?

  50. Anonymous says:

    Hello all,

    It is widely known, widely admitted and widely acknowledged that user-agent string detection is not reliable, not best, difficult to maintain, not forward-compatible and not recommendable. On the other hand, object/method support detection is much more reliable, much more manageable, forward-compatible and overall best (assuming browser manufacturers implements correctly objects, methods and attributes). Why Microsoft does not update several of its MSDN documents to explain that, to teach that, to document all that?

    Lots of MSDN articles and MSDN webpages teach the wrong way to do things in code examples. For once, Microsoft’s left hand should say and should do the correct thing while the Microsoft’s right hand (MSDN) is editing something.

    Checking browser version, browser name, browser build number, etc… has never been important, never been useful or helpful per se. Testing and verifying if the support of a method or the support of an object about to be used in a script (assuming that such method or object is being correctly implemented by browser vendors to begin with) is what truly matters and what is utterly relevant in a javascript-DHTML-driven webpage.

    Regards,

    Gérard

  51. Anonymous says:

    Remove me from the ice blog list. Thanks

  52. Anonymous says:

    Remove me from the ice blog list. Thanks

  53. Anonymous says:

    If the ASP Atlas AJAX folks can put together a website that allows for tracking bugs/features and upcoming releases of their software – why can’t the IE Team do it?

    http://www.codeplex.com/AtlasControlToolkit/WorkItem/List.aspx

    This seems so simple, and best of all you can get an accurate count of which bugs/features users care about most (which you CANT right now.  right now you only hear from the developers that are paying the most for their MSDN licenses)

  54. Anonymous says:

    Pas de surprise, la cha�ne d’agent utilisateur de la version 8 ressemblera � celle des versions pr�c�dentes, MSIE 8.0 rempla�ant MSIE 7.0.

  55. Anonymous says:

    La bêta d’Internet Explorer est prévue pour le premier semestre de cette année. Toutefois, il n’est pas nécessaire d’attendre pour connaître le comportement de la prochaine version. Pour cela, il suffit d’éditer la clé.

  56. Anonymous says:

    Firefox reaches the 500 Million download milestone!

    Think about that for a second.

    That’s 500 million times that someone thought…

    "Hmm, there must be a better browser out there than the one I have!"

    I wonder how many of them are Windows users?

    (yes, blatent trollin’ but with no info on IE8 to read about….)

  57. Anonymous says:

    @"In related news": 500 million "downloads" divided by at least 12 new versions with security fixes. ~42 million users, maximum.

  58. Anonymous says:

    Could I ask what will the IE 8 RSS user-agent be?

  59. Anonymous says:

    Andrew, it isn’t rubbish if it is true. 🙂

    There is no conflict of interest. I am still a Windows user as well, often enough, which means that I have to work with IE. I’m also someone with a bunch of web sites that I’ve written so I have to deal with it there.

    My attitude is transparently obvious and hangs out like a blazing sign on my brow written by the gods. If I had some sort of secret agenda, your comment might hold water but my agenda is open.

    I want IE to actually communicate openly in public AT LEAST as well as it did when I worked on the team on IE7. That’s the low end of the goal. The desired goal is to have the bug database back (better and staffed with a commitment to use it) and actual open communication, at least to the extent that Opera and Apple can manage, as closed source corporate entities, if not to the level that Mozilla maintains.

    If the IE team had actually really had anything to say about IE8, long term goals, or standard support, during the last year, I really wouldn’t have a place to complain from, would I?

    The fact that I work for Mozilla now is no secret since it is blazoned across my blog and well known here. I’m still friends with a few people on IE as well though many people that I knew have since left the team (and sometimes Microsoft as well).

    So, what is your complaint? That I say churlish things when we get relatively useless posts about IE on this blog instead of actual content? Well, I can see an obvious way for IE people to fix that problem but, really, I probably count as noise to them, as with so many other commentors here, at this point.

  60. Anonymous says:

    @Gyrobo

    "I wasn’t talking about the site’s content, I was referring to its antiquated code."

    My mistake in terminology, the intent was the same.  I felt your statement was irrelevant to Eric’s original point of modifiying the agent string.

    "Exactly. If the default rendering mode is IE7, then the userAgent should identify itself as IE7. That’s why the whole opt-in scheme reeks to me of hypocrisy."

    I do see your point, however it would be nonsensical to release a new browser (backwards compatible or not) and not update the User Agent string.  I’m sure even non-standards mode will have many code changes, so regardless of the rendering mode you are still running IE8.

    I’m sure the IE team has canvassed most scenarios but I’ll throw this out anyhow:

    Let’s say IE8 uses the new rendering mode by default but can intelligently fall back to non-standards (backwards compatibility mode). This could be achieved by interrogating the page prior to rendering for (unmistakable) non-standard DOM-calls or non-standard HTML tags.  The browser could indicate to the user which mode IE8 was in (something like pure or compatibility – not that anyone but us would understand).

    Obvious flaws:

    * A performance impact that would keep IE8 at a disadvantage to competitors and IE7/IE6.  Caching the test result might help with repeat visits. The Opt-in meta tag would help.

    * It would get it wrong a lot, so sites would still break; hopefully not as many.

    * Could not detect behavioural intent particularly with CSS.

  61. Anonymous says:

    Why are you using Mozilla in the string? It shows both a pirate approach and a low self esteem.

    I thought Microsoft had stopped stealing from people.

  62. Anonymous says:

    Come on, just support standards from the 90s and upwardsa and people don’t have to bother about user agent string, this is hilarious.

  63. Anonymous says:

    @Al

    "Andrew, it isn’t rubbish if it is true. :-)"

    I objected to the statement because it’s particularly subjective given your employment.  Needless to say I disagree with it.

    “There is no conflict of interest”

    You work for Mozilla, so it is in your interest to encourage negative sentiment towards IE/MS to benefit FireFox.

    “The desired goal is to have the bug database back”

    It will be interesting to see if the bug tracking experiment (aka IE bashing log) will be effective in it’s next incarnation with the release of IE8 beta.

    “If the IE team had actually really had anything to say about IE8, long term goals, or standard support, during the last year, I really wouldn’t have a place to complain from, would I?”

    The IE team have made statements committing to standards support and have released information regarding IE8.  Whether or not they were made last year doesn’t seem relevant to me.

    “So, what is your complaint?”

    You worded them well:

    “That I say churlish things when we get relatively useless posts about IE on this blog instead of actual content?”

    We obviously disagree on the merit of information posted.

    “Well, I can see an obvious way for IE people to fix that problem”

    My main complaint Al is that unless you post solutions we can debate, then your repeated statements about openness seem hypocritical, and are clouded by your position with Mozilla, regardless how much you claim to advertise this fact.

  64. Anonymous says:

    @Andrew:

    My statement is FAR from irrelevant to the original post. It is the ESSENCE of the post.

    If the default rendering engine is IE7, the browser should identify itself as IE7. If the IE team wants to change the user agent in "super" standards mode, then by all means, they should go for it.

    But the IE team justifies the default nonstandard behavior of IE8 by saying that if the rendering engine is changed IN ANY WAY that pages will break. And by changing the default user agent, what we’ll see is a browser rendering in the same way as IE7 but not identifying itself as such.

    It seems to me to be contradictory and illogical.

  65. Anonymous says:

    Here’s to another 500mil downloads of Firefox plus as many downloads as possible of Opera and Safari.

    Firefox 3.0 is shaping up to be a very incredible release, very pleased with the nightlies, write code and it just works. If it didn’t work, fix site code and it works, if bugged then just report to Bugzilla and it gets sorted out by browser devs. Amazing, unlike here where this is just a marketing too for spreading misinformation about some browser passing Acid2, when it won’t out of box.

  66. Anonymous says:

    @Gyrobo

    "If the default rendering engine is IE7, the browser should identify itself as IE7."

    No. The agent string identifies the correct browser version. If it did not, a server would not know to serve standards compliant content.  We would be in a much worse position.

    "It seems to me to be contradictory and illogical."

    It’s not an ideal situation. The alternative is to be standards compliant by default, which would cause a massive delay to the adoption of IE8 and have a negative effect on advancement of web standards.

    BTW, what did you think of my solution?

  67. Anonymous says:

    @Andrew

    According to the IE team, IE8 already follows your solution. The meta opt-in intelligently "falls back" onto true standards mode. Nobody from the team has fully explained the implications of the opt-in on initial page rendering and its (deleterious?) effect on performance.

    Getting back to the userAgent: if a browser uses IE7’s css rendering engine, IE7’s JavaScript engine, and has all of IE7’s flaws in said engines, is not that browser, for all intents and purposes, IE7?

    You can’t put a sweater on a pig and call it a poodle.

  68. Anonymous says:

    @Gyrobo

    "According to the IE team, IE8 already follows your solution. The meta opt-in intelligently "falls back" onto true standards mode. Nobody from the team has fully explained the implications of the opt-in on initial page rendering and its (deleterious?) effect on performance."

    Mine is similar however given the discontent about an opt-in tag I suggested one wasn’t required.  I imagine the performance hit of inspecting a page for a meta tag would be minimal. You seem to disagree with the proposals, so what is your solution?

    "Getting back to the userAgent: if a browser uses IE7’s css rendering engine, IE7’s JavaScript engine, and has all of IE7’s flaws in said engines, is not that browser, for all intents and purposes, IE7?"

    Do you accept that some websites will want to support a full range of browsers including  earlier versions of IE plus IE8 standards mode?

    If the answer is No, we can stop here.  If the answer is Yes, tell me how a server can target IE8 standards mode (via the opt-in tag) without a change to the User Agent string within IE8.

  69. Anonymous says:

    In der ersten Jahresh�lfte 2008 soll die erste Beta des Internet Explorer 8 erscheinen. Eric Lawrence, einer der Program Manager f�r den Internet Explorer, hat jetzt im IEBlog einige Informationen zum User Agent String des Browsers ver�ffentlicht. Der

  70. Anonymous says:

    Andrew, you speak of the next incarnation of the bug database? What makes you think that there is ever going to be a next incarnation? Do you have some insider knowledge?

    It has been "temporarily" offline for more than a year. It isn’t coming back.

    You state:

    "My main complaint Al is that unless you post solutions we can debate, then your repeated statements about openness seem hypocritical, and are clouded by your position with Mozilla, regardless how much you claim to advertise this fact."

    I have a solution, openness.

    The IE team can start *actually* communicating with people, especially developers, about the content of IE8, the roadmap of IE’s future, both with IE8 but also beyond that, and how they are going to address the issues that web developers still have with them. They can recreate (or create) a bug database in which developers can log IE issues and they can actually do *something* with the issues logged so that people can see progress.

    How about starting developer chats again? How about having interviews with people outside of Microsoft? How about sitting down with the makers of the other browsers (like Opera, Apple, Mozilla, not to mention others) to discuss how they can work together for the common good of the web?

    They can make milestone builds available, call them "alphas", to the development community and others so people can actually see what the IE team is doing.

    They can use this blog to actually communicate substantive things on a regular basis, not two or three times a year, to show that they actually care about their own community.

    Or they can not do these things and appear to be arrogant and to only care about the development community (or their users) when it is in their own personal interest to do so. That’s what the past year and a half has been like.

    You can label my comments all you want, Andrew, but I worked on a few versions of IE over a decade and I’ve been working on both Firefox 3 and security releases of Firefox 2 for a while now. I think that I have a pretty good picture of the strengths and weaknesses, not to mention attitudes, of Microsoft, and IE in particlar, in comparison to other people.

  71. Anonymous says:

    Acid2 をうけて 2008 内のマイルストーン展開を見込んでいる IE 8。 個人的にも 2008 年の最大関心事と位置づけて期待していますがプロダクトマネ…

  72. Anonymous says:

    Heh… Let me get this straight.

    So, basically, the main excuse for IE to make the super standards mode opt-in (not default) was to avoid "breaking the web". Insisting on bad sites that couldn’t be modified (like, on CDs), and bad intranets.

    Therefore, the big idea was to make the IE7 standards mode the default, in order to ensure that not a single site would be broken, at the cost of giving the middle finger to web standards…

    Yet… with the new UA string, these examples may still not work. Not to mention badly coded sites are even more likely to do browser sniffing than your average site… In other words, the super standards mode was disabled by default for no good reason, in the end.

    None of this makes sense… Or actually, it does, sadly. Microsoft acts like they suddenly want to play nice and respect standards, but still do everything they can to hinder web development and unfairly abuse their monopoly to kill off competitors.

  73. Anonymous says:

    Let me sum it up this way, and I have said the same to Microsoft earlier as well. The only people Microsoft even considers polling are the people as someone way above in this thread said "pay for their MSDN subscriptions". I would expand that list to include its titular reps known as "MVP"s. Microsoft has long since stopped caring about the developer and user communities. It cares only for what its Program Managers think about the product.  No one else.

    Take a look at the Windows Live Messenger feedback page on MS Connect — the MS team there were being BOYCOTTED because they were simply and blatantly marking EVERY logged item as "Closed" and "Wont Fix". It was only after a mass-outrage that items were reopened and considered. This is CALLOUSNESS. This is ARROGANCE.

    Let me put it this way. I have mostly spoken in favor of Microsoft for the past 15 years, but I am making this post from Firefox 2. My websites today are first tested with Firefox more than it is tested with IE. And that is a strong message from an ex-MVP.

  74. Anonymous says:

    i  have just about had it with Microsoft i have been a web developer for over 8 years and at the point of just doing something else!!! coding now for 3 versions of ie is making everyone nuts do you all not read what people are saying, i think not cause now your going to put another one out there come on would you all over there just please resign and have them ship the os with firefox For The Love Of God please BILL just let them all go.

    crying web developer  

  75. Anonymous says:

    @Andrew

    "I imagine the performance hit of inspecting a page for a meta tag would be minimal."

    What if the meta tag is at the end of the head section, or after the closing html tag? The team never specified WHERE in a page the tag has to be. Will the browser hang while the page is downloaded and then rendered?

    My solution is to have true standards mode enabled by default, with IE7 mode as an opt-out.

    "[T]ell me how a server can target IE8 standards mode (via the opt-in tag) without a change to the User Agent string within IE8."

    Set your server to transmit the IE=edge HTTP header to ALL browsers forever. The userAgent has NOTHING to do with the opt-in.

    And as I’ve said, I have nothing wrong with IE8 identifying itself as IE8 in true standards mode.

    But all the scripts that work around IE7’s flaws will suddenly break if the browser uses IE7’s rendering engine but identifies itself differently. This isn’t backwards compatibility, and it contradicts the IE team’s "don’t break the web" mantra.

  76. Anonymous says:

    Why the need to detect a user agent string again?

  77. Anonymous says:

    @Gyrobo: As stated in the original article, the UA-Compatible META tag must be placed in the HEAD of the document.  Placing at the top of the HEAD would be wise.

  78. Anonymous says:

    @EricLaw

    But how would the page render if the meta tag was placed at the END of the head, with a script ahead of it? And what if it was nested inside a conditional comment, or added dynamically by the aforementioned script?

    You still haven’t explained how conditional comments will work in IE8. Will the IE7 rendering engine use comments coded for IE7? How will conditional comments be interpreted before the meta tag is discovered?

    Also, you seem to have ducked my request for an example of a SINGLE case where removing the "mozilla" part of IE’s userAgent would cause breakage. Were you lying when you said that removing "mozilla" from IE’s userAgent would cause breakage, or are you still looking for such a case?

    Would you rather I phrased that differently so you could save face?

  79. Anonymous says:

    @Gyrobo: Since you’re clearly too busy to follow my suggestion to Devon of simply trying the "Mozilla"-less user-agent, http://www.yahoo.com and http://www.wellsfargo.com are two cases where removing the "Mozilla" token causes the site to break.

    Would you rather I did not reply, so you could save face?

  80. Anonymous says:

    @EricLaw

    Your answer here has me wondering?

    "@alan: The User-Agent string isn’t render mode-specific, as the page gets to determine its own render mode, but the UA string is sent to the server before IE has the page used to determine the desired render mode."

    If this is correct then can you explain what I seeing below?

    "GET css-class.com/cssscript/class-base2.css HTTP/1.1" 200 526 "http://css-class.com/articles/explorer/guillotine/index.htm" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MS-RTC LM 8)"

    and at the end of this session for the same page we have this.

    "GET css-class.com/favicon.ico HTTP/1.1" 200 1406 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; MS-RTC LM 8)"

    I believe that these above strings would indicate that IE8 is being tested in IE7 mode and the UA string will show IE7 for all files accept when the favicon.ico is requested.

    I have previously asked in this thread if the following UA string was IE8 masquerading as IE7.

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; MS-RTC LM 8)

    and I believe I was correct in the first place. This will be corrected with the beta?

    Here a riddle:

    I know that you know but I know that you know, and if you know that I know then we all know that I know, but if you don’t know that I know then you don’t know what I know. 😉

  81. Anonymous says:

    Great job guys. Please don’t disappoint us with IE8. I’ve got high hopes.

    I’m quite sure Microsoft understands that if they don’t make IE8 something really revolutionary of some kind, then there’s little or no hope of making people like me switch to alternative browsers that probably do better.

    So please, add a ton of new features that are non-existent in other browsers, or improve your features so they do the best.

    Don’t disappoint us!

  82. Anonymous says:

    @EricLaw

    Opera seems to render both pages fine without having the "mozilla" token. And before you start harping on Opera’s browser.js, there’s no apparent patch for http://www.wellsfargo.com and the fix for yahoo.com seems to be based entirely on document.all sniffing.

    Your response is insulting. I asked for a concrete example using only the "mozilla" token of navigator.userAgent, and you brush me off until I start talking about losing face.

    And now you refuse to answer my questions about conditional comments, and placement of the meta tag.

    Would you like help finding your face?

  83. Anonymous says:

    @Gyrobo you wrote:

    "You still haven’t explained how conditional comments will work in IE8. Will the IE7 rendering engine use comments coded for IE7? How will conditional comments be interpreted before the meta tag is discovered?"

    Conditional comments in IE8 standard mode will work the same way as the currently do in IE7, and I mean "exactly" the same way.

    It think really is important where you place the meta tag. If the meta tag was placed after the conditional comments for IE7, then it’s possible that any linked script or CSS inside these comments would be loaded first before IE8 had a chance to realized that it should be in standard mode.

    As EricLaw wrote, "Placing at the top of the HEAD would be wise."

  84. Anonymous says:

    @EricLaw MSFT

    Please confirm (yah, or nah) if IE8 will be available on Windows XP.

    Thanks.

  85. Anonymous says:

    @Rex

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)

    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2)

    Indeed I have many of these in my log files.

  86. Anonymous says:

    @Alan Gresley

    Thank you for your engaging and provocative response. It fills me with queasiness and unease, but that’s hardly your fault.

  87. Anonymous says:

    gyrobo {roboshrub inc??} why do you suppose it that they’re not answering your questions?  you are clearly not rational, and some people have better things to do than try to reason with a nutcase.  the fact that opera works is completely irrelevant… your question was what breaks if {mozilla} is removed from the IE ua string… two examples were provided, and rather than admit your lazy error, you start hurling insults and trying to change the subject… you can hide your name behind your anonymity, but you can’t hide your ignorance.

  88. Anonymous says:

    You other web developers need to quit whining. You don’t HAVE to do all sorts of extra work for IE8. Say you already have a standards compliant page (and don’t have special mods for different browsers), then you don’t need to do a damned thing.

    If you already do a check for something like "IE6, IE7, Opera, Firefox, and All Others", then you can probably let IE8 fall into the all others and let it render the page compliantly, or you can make the check go like this "IE6, (IE7 or IE8), Opera, Firefox, and All Others".

    The only problem I can see arising is for sites that just do a basic check for IF IE then render the page this way. In which case its still an easy fix. I’ve realised that most other web developers create a lot of extra work for themselves thats just unnecessary, and instead of stepping back, taking a look, and figuring out if they should change it, most of them just keep charging ahead and do everything the hard way.

  89. Anonymous says:

    Dave: although my sites will be fine, this isn’t about me, but about the web in general. It also makes it clearer that the infamous "Don’t break the web" song played by Microsoft was just a bad excuse to hinder progress.

  90. Anonymous says:

    @John Hawks

    I didn’t make a "lazy error," I checked those two sites and couldn’t find anything that didn’t work with a browser that didn’t have "mozilla" in its userAgent.

    And every time I try to point out the inconsistencies in what the IE team is doing, a team member tries to misdirect my comment.

    Not to "change the subject" on you, but I take exception to your name calling. I was not hurling insults at anyone, I was expressing consternation that the IE team makes claims but cannot prove them to me.

  91. Anonymous says:

    Greetings from the Internet Explorer Team!

    We are nearing the launch of Windows Internet Explorer 8 Beta 1 and we will be making it available for the general public to download and test. IE8 Beta 1 is focused on the developer community, with the goal of gaining valuable feedback to improve Internet Explorer 8 during the development process.

    We have identified you as a qualified beta tester and we would like to offer an opportunity to join our limited technical beta program for Windows Internet Explorer 8 Beta 1.

    Participation in the Technical Beta will enable you to evaluate a common release of Windows Internet Explorer 8, the ability to submit feedback, post bug reports, download software answer surveys on product quality as well as vote on top bugs filed by others from the technical beta program. This is a very exclusive program, by invitation only. The only way to submit feedback is to enroll in the Windows Internet Explorer 8 Technical Beta program. As such, we would be happy to have your participation.

    To accept this invitation and to apply to become a member of this program, follow this link:

    removed for obvious reasons

    (If this link does not work for you, copy the full link and paste it into the Web browser address bar.)

    Follow the steps shown to you by that program to apply to become an active participant. You may be asked to take a survey, or submit other preliminary information. To report a problem or to ask a question, visit the Contact Us page (found at the bottom of every page).

    We hope to see you in the technical beta!

    Best regards.

    The Internet Explorer Team

    If you do not want to be invited to participate in other Microsoft Connect programs, change the contact preference you have set on your Microsoft Connect Profile (http://connect.microsoft.com/myparticipation.aspx). This is an unmonitored e-mail address, so do not reply to this message.

    http://channel9.msdn.com/ShowPost.aspx?PostID=385426

  92. Anonymous says:

    Stifu: I’m glad that your sites will be fine, as will mine. But it shouldn’t matter for the web in general. The IE Team is making perfect sense. Yes, the whole situation sucks. But the "don’t break the web" mantra makes sense from the user point of view. The real "super standards" mode will function and view the page just as FF or Opera would WITHOUT modifying anyone’s webpage, except for maybe a single line of code, at most. The "IE7 mode" will just allow the user to view pages "more correctly" if some web developer has that catch-all ‘IF this browser is IE then display this way’. That way, for the user, the webpage is never broken. It either works because it worked in IE7, or it works because it is a standards-compliant site, that doesn’t do something different for IE versions.

    Now I’m no IE evangelist, as I do use Opera on about a 60/40 ratio to IE. But between the two I usually enjoy my IE experiences better for a couple of reasons. 1) pages tend to load better for me. 2) Opera has this weird tendancy to display images on sites in inappropriate places forcing me to refresh once or twice. 3) In Opera sometimes when opening a new tab, if the site hangs a bit on the load time, in hangs the whole browser.

    So, why do I use Opera more? The native mouse gestures. That’s about it.

    As for FF, I just don’t like it. I don’t know why, but when I sit there and use it, I just get angry for no reason. It’s not like I need to get used to it or anything, I just don’t like it, and I probably never will.

  93. Anonymous says:

    *And yes, I’m aware that there is an IE add-on that allows the use of mouse gestures. The only ‘add-ons’ I run are things like Flash, trusted AtiveX’s, and the sort.

  94. Anonymous says:

    @Al Billings

    Al, I’ve said all I need to say about the reality of your posts here.  

    I have no inside information, I just recall it being said that some form of bug tracking will be available during beta (as it is for all MS public betas).  Instead of innuendo, let’s wait and see shall we?

    What is obvious from comments in this blog (which is not a problem for Mozilla) is the large faction that are not interested in IE progress.  Microsoft are communicating logically about the direction of IE but those with an ax to grind speak loudest.  An extra layer of communication is unlikely to change this.

  95. Anonymous says:

    Maybe have popup when it detects the site using "legacy" codes:

    "This site is using outdated codes. Please help us berate the webmaster for not keeping up with the times."

    If Vista can break old apps, why not let IE8 break old webs?

  96. Anonymous says:

    @Andrew

    "My solution is to have true standards mode enabled by default, with IE7 mode as an opt-out."

    The typical user *will not understand an IE7 opt-out mode*.  Almost every site they browse to either does not work, or displays strangely.  What do they do?  Complain bitterly and uninstall IE8.  Public relations disaster.  Then you have a very small proportion of users who understand the IE7 opt-out switch.  They switch to IE7 immediately because it’s the only way they can get anything done.  What have you now?  The current situation with IE8, without the opt-in Meta tag.

    Now, if you want IE to die, this may well suit your position.  If not, how can you justify it?

    "Set your server to transmit the IE=edge HTTP header to ALL browsers forever. The userAgent has NOTHING to do with the opt-in."

    I’m beginning to think you ignore parts of my posts.

    Yes you can use client-side scripting and such to target different browsers.  Many solutions however are server based, so they will inspect the User Agent string to construct pages targeting different browsers.  In this case, once a site has upgraded their IE8 content to standards mode, they commence inserting the opt-in tag.  This is all based on the User Agent string as this is the *only version information available to the server within the request*.

    "But all the scripts that work around IE7’s flaws will suddenly break if the browser uses IE7’s rendering engine but identifies itself differently. This isn’t backwards compatibility, and it contradicts the IE team’s "don’t break the web" mantra."

    Let’s repeat the initial post for you:

    "Best Practices

    Websites that are sensitive to changes in the User-Agent string may need to be updated to support IE8.  

    During internal testing, we have encountered a small number of sites which fail to recognize IE8 because they are performing exact string matches to look for specific IE version strings" …

    This may be a suprise but it’s in MS’s interest for things not to break, so this is likely to be the path of least pain based on their research.  Given your solution of standards mode by default, your path is one of most pain.

  97. Anonymous says:

    @Gyrobo

    That last post was for you.  Not me 😉

  98. Anonymous says:

    @Andrew

    I don’t see anything wrong with being vocal.  The IE team regularly ignores people who comment on this blog and only respond when they are called out on something, several people complain about something, or a user posts mis-information that they can prove incorrect.

    If I were to post that IE doesn’t follow RFC-2345 properly with their HTTP Requests (2345 made up btw), then I would expect a response.

    But if I ask:

    Will IE8 be available on XP? – I don’t expect a response until after Mix08 (and to be honest I don’t expect a yes)

    Will super-standards mode fix the DOM? – I don’t expect an answer until after Mix08 (and I don’t expect a yes)

    Will super-standards mode fix more CSS and rendering issues beyond ACID2 stuff? – I don’t expect an answer until after Mix08 (and I don’t expect a yes)

    Experience on this blog has taught me that when the IE Team does not respond, 3 things are known.

    1.) The answer is NO.

    2.) They will say nothing, because they believe that telling people will upset them, and they don’t want angry developers.

    3.) Although they haven’t figured it out yet, not answering us is what makes us Angry.

    One final question for the IE Team.

    Is Al right? Is "Temporary" the new "Permanent"?  When will public bug tracking resume for IE, and can we expect it to be a stable part of the 2 way transparent developer communication with the IE Team in the future?

    Anwar

  99. Anonymous says:

    Anwar, the problem is Microsoft, not specifically the ‘IE Team’. Microsoft never talks openly about anything, whether it’s IE or other software.

    The ‘IE Team’ isn’t allowed to say anything unless the powers-that-be allow it.

  100. Anonymous says:

    @Anwar

    "The IE team regularly ignores people who comment on this blog"

    Do you really expect Eric (given he is the lone voice in this post) to respond to every half-wit comment?

    This is the level we are dealing with:

    "The question remains: are you incompetent, or do you just hate developers?"

    Eric answered this poster on several occasions.

    "and only respond when they are called out on something"

    It’s only right that you should defend false accusation.

    "or a user posts mis-information that they can prove incorrect"

    Are you saying they shouldn’t disprove mis-information?

    As I see it:

    1. Policy: they don’t want to make a commitment to behaviour or features while development is underway.

    2. The answer has already been given either in the post or previous comment.

    If you know the poster is not going to listen to you, there’s not much point in answering.

    "If I were to post that IE doesn’t follow RFC-2345 properly with their HTTP Requests (2345 made up btw), then I would expect a response."

    Huh?  That’s exactly the kind of loaded question that is worthless to the majority of developers.  You are not going to be happy with any answer, so what’s the point of wasting our time?

    "Experience on this blog has taught me that when the IE Team does not respond, 3 things are known.

    1.) The answer is NO."

    That is your answer not theirs.

    "2.) They will say nothing, because they believe that telling people will upset them, and they don’t want angry developers."

    Just about anything they say will upset someone.  This is an angry blog.

  101. Anonymous says:

    A fine example:

    "Microsoft never talks openly about anything"

  102. Anonymous says:

    @Andrew

    Side note: I’d like to thank you for putting up with me and having this discussion. Although our points of view differ, I consider our discussion meaningful.

    "Complain bitterly and uninstall IE8."

    If previous versions of IE are any example, the casual user would have to be EXTREMELY repulsed to even Google how to go about uninstalling IE8.

    But seriously, you’re asking me to justify why the opt-in is a bad idea. I think enough blogs have done a pretty thorough job over the last two weeks on that end.

    "Many solutions however are server based, so they will inspect the User Agent string to construct pages targeting different browsers."

    This is browser sniffing, a holdover from a time when browsers had competing and differing implementations. It would become obsolete if Microsoft would simply adhere to web standards; they show no inclination to do so.

    For example, packaging IE7 with XP SP3 would alleviate many of the IE6 bugs and shortcomings we must deal with. IE7 is over a year old at this point; is it not stable enough for Windows XP? Have the enterprises and corporations not had enough time to prepare?

    "Websites that are sensitive to changes in the User-Agent string may need to be updated to support IE8."

    The problem here is that when I see this, it screams hypocrisy to me. Maybe I’m not seeing some big picture here, but I’ve been under the (mistaken?) impression that the POINT of having true standards mode as an opt-in to to PREVENT ANY breaks in pages that have already been created. If even ONE LINE of code, ONE PIECE of data differs between IE8’s legacy mode and IE7 (other than security fixes, of course), then it’s nothing short of a sham.

    "Given your solution of standards mode by default, your path is one of most pain."

    I understand what you’re saying. The userAgent is one string. How much could it break?

    When IE7 was coming out, nobody thought its changes would break anything. If they did, we’d have had this discussion two years ago.

    If I’ve missed a point somewhere, please tell me so I can explain myself.

  103. Anonymous says:

    @Andrew

    Just read your other comment.

    "The question remains: are you incompetent, or do you just hate developers?"

    I must apologize for that; it was a gut reaction and I now believe there must be a third explanation.

    Eric, if you’re listening, I throw myself at your mercy! Let’s never fight again.

  104. Anonymous says:

    @Gyrobo

    "But seriously, you’re asking me to justify why the opt-in is a bad idea. I think enough blogs have done a pretty thorough job over the last two weeks on that end."

    Isn’t this one of the main points of our discussion?  The only thing opt-in dissenters have achieved is a thorough job of re-iterating the same slogan, which is along these lines:

    "force every site to upgrade to support IE8 standards mode"

    Which of course will not happen, because IE8 will be boycotted by users.  So yes, I’m asking you to justify; you seem to have a bit of time (as I do) so include the forceful arguments from said blogs.

    "This is browser sniffing, a holdover from a time when browsers had competing and differing implementations. It would become obsolete if Microsoft would simply adhere to web standards; they show no inclination to do so."

    I like to deal in the here and now, not in some future state of idealism.  The fact is browser sniffing is still used – one of the major points of this post.  Let’s not get into a discussion about the history of web standards, there is enough here already.

    "For example, packaging IE7 with XP SP3 would alleviate many of the IE6 bugs and shortcomings we must deal with. IE7 is over a year old at this point; is it not stable enough for Windows XP? Have the enterprises and corporations not had enough time to prepare?"

    Can we stick to the point?  What does this have to do with the User Agent string?

    "The problem here is that when I see this, it screams hypocrisy to me. Maybe I’m not seeing some big picture here, but I’ve been under the (mistaken?) impression that the POINT of having true standards mode as an opt-in to to PREVENT ANY breaks in pages that have already been created. If even ONE LINE of code, ONE PIECE of data differs between IE8’s legacy mode and IE7 (other than security fixes, of course), then it’s nothing short of a sham."

    I think you might have worded that incorrectly; the point of opt-in standards mode is to support standards, not backwards compatibility.  (Obviously, the new standards mode will have its own backwards compatibility issues down the track, as every browser has).

    Anyway it’s called compromise, not hypocracy.  Must you take everything so literally?  Can you not see the intent?

    "When IE7 was coming out, nobody thought its changes would break anything. If they did, we’d have had this discussion two years ago."

    Gyrobo, the intent with IE7 was to increase support for standards while minimising the impact.  The impact turned out to be much greater than thought.  We should be grateful that the policy is now a complete break from backwards compatibility.  An Acid2 pass would have been many years away if not for this.

  105. Anonymous says:

    > the intent with IE7 was to increase support for standards while minimising the impact.

    The intent of IE7’s release in relation to HTML and CSS was to fix the most popular, annoying bugs. The level of new standards support was relatively low.

  106. Anonymous says:

    @Andrew

    "Isn’t this one of the main points of our discussion?  The only thing opt-in dissenters have achieved is a thorough job of re-iterating the same slogan, which is along these lines. Force every site to upgrade to support IE8 standards mode."

    No Andrew, us dissenters are re-iterating our displeasure with hearing the same old mantra again and again from Microsoft which is "don’t break the web."

    No`one is forced to write standard complaint code, it’s just that with the evolution of the web, some sites may break. It is called progress. I have page layouts or demos that will remain broken in IE8 because by some grand wisdom they are deemed to be non standard.

    "Which of course will not happen, because IE8 will be boycotted by users.  So yes, I’m asking you to justify; you seem to have a bit of time (as I do) so include the forceful arguments from said blogs."

    And your forced argument is to say that anyone with a different opinion to yours is wrong. Microsoft is forcing developers to add non standard code, so they can safe face. They are also forcing IE8 onto the world as a critical update. Why can’t they let the Intranet use there IE5, IE6 or IE7.

    "I think you might have worded that incorrectly; the point of opt-in standards mode is to support standards, not backwards compatibility."

    No Andrew the first motivation of Microsoft is to support backwards compatibility (part of their income base) and secondly support standards. If it was otherwise, then it would be an opt-in for backwards compatibility. I would think that some IE team members would feel liberated to not have big brother watching over their shoulders.

    "Anyway it’s called compromise, not hypocracy.  Must you take everything so literally?  Can you not see the intent?"

    Comprise indeed, read this Andrew.

    http://en.wikipedia.org/wiki/Compromise

    "compromise is a concept of finding agreement through communication"

    Then we have extremism.

    http://en.wikipedia.org/wiki/Extremism

    "describe the actions or ideologies of individuals or groups outside the perceived political center of a society; or otherwise claimed to violate common moral standards."

    So Andrew, consider deeply, is IE8 as standard compliant as would be indicated by Microsoft’s’ claim in wanting to support standards. By CSS standards IE8 is NOT standard compliant and in the future this may all come back to haunt us. In hindsight we may say, if only if we did it different in 2008.

  107. Anonymous says:

    Andrew wrote:

    > The only thing opt-in dissenters have

    > achieved is a thorough job of re-iterating

    > the same slogan, which is along these lines:

    >

    > "force every site to upgrade to support IE8

    > standards mode"

    Not at all.

    Your site can still be crappy and non-standard, but if that’s your chosen path you should have to opt IN to that. Standards mode should be the default, what you opt out of.

    Furthermore, you are LYING about all the arguments that have brought up against opting out of standards mode. That, or you are ignorant.

  108. Anonymous says:

    @Andrew

    Are you ignoring everything I write, and just complaining about it on purpose?

    MS/IE Team has *NEVER* stated anything about IE8’s support for DOM being better or different.  If they had, then we wouldn’t be having this conversation.

    The have announced that the internal builds pass ACID2 with the Meta Tag hack applied – that is all. (within the video they mention specific bugs that were fixed)

    They have not indicated *WHAT* will be altered in the "super standards" mode of IE8.  e.g. just minor CSS fixes? DOM fixes? JavaScript fixes, HTML/Form fixes? (cough, can anyone say button?)

    You can stand by an MS policy to not say anyting until it is carved in stone, but there is a price to pay for doing so.  That price is loss of respect in the development community, loss of interest in developing for IE, loss of market share because lets face it, developers talk, developers have spouses & kids & friends…. and if we think that IE has no future, then we’re going to tell everyone we know when they ask us.

    Keeping developers in the dark may have worked back in 1995, but those days are long gone, as have monopolistic attitudes in software development for the open web.

    Learn to adapt, or be left behind.

  109. Anonymous says:

    Estoy escribiendo este post desde el Aeropuerto de Guadalajara. Los sábados si que esta bueno el tráfico

  110. Anonymous says:

    Andrew,

    If the IE team uses Connect for a bug database during the Beta (whenever that is), that will be an improvement but doesn’t change the overall issue. There needs to be a way for developers to log real issues, which the IE team then triages and potentially responds to, *at all times*, not just during a beta. If they have a temporary bug database and then turn it off, I will understand why they do so but that doesn’t really solve the problem of "How do you report a serious bug or issue to the IE team?" and "If you do report an issue, how do you know if it will ever be addressed?" These are real issues to people. There are developers that hold off on implementing work on their sites because they either think or hope that an issue currently blocking them with IE use will be fixed in the future. If they knew that an issue was fixed and that it would be in a future patch, they would have a lot of relief, wouldn’t they?

    Since you seem to have come out of nowhere recently, how about providing us with either your last name or a link to a site when you post? Otherwise, you kind of look like a troll yourself…

  111. Anonymous says:

    Also, as to what other people have been saying here, no one outside of Microsoft really knows what IE8 will have changed other than the Acid2 mention and the new switch for different modes. None of the other feature work has been discussed, nor has any additional standards compliance.

    Andrew can say that it is company policy but people want to know what is coming or to have a roadmap before continuing to focus development on IE.

    I also, wonder, as well if IE8 will ship on XP. Somehow, I doubt if Microsoft has a choice with the lack of Vista uptake though.

  112. Anonymous says:

    Al:

    It should ship with XP. At this rate, by the time IE8 is released (late 2008/early 2009), Vista will have 20-35% of the market share for operating systems.

    If MS were to strip IE8 for XP, they’d be shooting themselves in the foot. Do you really think they’d be willing to offer their latest and greatest browser to just a small percentage of their Windows users?

    Besides, the only IE XP has gotten since release was IE7. Because of its longevity as the world’s dominant OS, it has to have something more than that.

  113. Anonymous says:

    Last time I read, Google estimated they we indexing 4+ billion pages, and that they were indexing 10% of the web. Even if you only break a small %age of them, that’s a large number of pages that need to be fixed. Not breaking the web does have some merits worth considering.

  114. Anonymous says:

    @Fred

    I like your rationale there, very nice.

  115. Anonymous says:

    @Al Billings

    "Also, as to what other people have been saying here, no one outside of Microsoft really knows what IE8 will have changed other than the Acid2 mention and the new switch for different modes."

    I don’t know javascript or the DOM but CCS is quite useful for testing browsers for CSS standards support.

    That is why I know that IE8 in standard mode (one build) will use conditional comments meant for any version greater than IE7. At least IE8 doing some things correctly. You know my name and my site so if you have any queries in what I know, please contact me.

    What is of great importance are the questions I keep asking IE team members again and again that are not answered. In saying this Eric Lawrence may not himself be able to answer my questions.

  116. Anonymous says:

    @EricLaw

    You are using the real IE7, so if it was you who visited my site that day here is one log:

    [22/Feb/2008:11:07:30 -0700] "GET css-class.com/favicon.ico HTTP/1.1" 200 1406 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; InfoPath.2; MS-RTC LM 8)"

    [22/Feb/2008:11:07:30 -0700] "GET css-class.com/ HTTP/1.1" 200 4092 "http://blogs.msdn.com/ie/archive/2008/02/21/the-internet-explorer-8-user-agent-string.aspx" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; InfoPath.2; MS-RTC LM 8)"

    The real IE7 will always request the favicon.ico at the start of as session

    Another IE team member or yourself:

    [23/Feb/2008:16:18:46 -0700] "GET css-class.com/ HTTP/1.1" 200 4092 "http://blogs.msdn.com/ie/archive/2008/02/21/the-internet-explorer-8-user-agent-string.aspx" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Tablet PC 2.0; .NET CLR 1.1.4322; InfoPath.2; MS-RTC LM 8)"

    String of request in between

    [23/Feb/2008:16:18:47 -0700] "GET css-class.com/favicon.ico HTTP/1.1" 200 1406 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Tablet PC 2.0; .NET CLR 1.1.4322; InfoPath.2; MS-RTC LM 8)"

    The real IE8 will always request the favicon.ico at the end of as session so this is why I have asked this question.

    http://blogs.msdn.com/ie/archive/2008/02/21/the-internet-explorer-8-user-agent-string.aspx#7860099

    Will this be corrected with the beta release or don’t you know the answer?

    Let’s say if IE8 arrived at a page on my site by following a link from another site. What confuses me is what is going to happen next depending of if the page is meant to default to IE7 mode or use this new meta to be in IE8 deluxe mode. Some severs will respond to a request by what is contained in the user string. Your initial answer was:

    “@alan: The User-Agent string isn’t render mode-specific, as the page gets to determine its own render mode, but the UA string is sent to the server before IE has the page used to determine the desired render mode.”

    So IE8 gobbles up whatever is on my server and either determines either from my server or from an inserted meta tag in the source which mode to use. But what is going to happen with these conditional comments like:

    if IE

    if gte IE 7

    Included within these conditional comments are scripts and css or linked files for these with rules meant for a typical IE. Two years ago there was the infamous “Call to Action”:

    http://blogs.msdn.com/ie/archive/2005/10/12/480242.aspx

    This means that it may be very simple to include this new meta in the page header by a script on the server, but then for any developer who has used such conditional comments, they will now have to change the conditional comments on each and every page they appear on.

    None of this would matter if IE8 was by default in standard mode and didn’t use conditional comments. All the solutions that the IE team has dreamed up over the years just to keep on supporting backward compatibility has now created this current mess and indeed the IE team members do not know all the answers for all the questions that we ask.

    Please Microsoft, break the web, you are expecting too much from the IE team members. Supporting backward compatibility just causes a continuous spiral into the abyss which no IE team member can possibly climb out of.

  117. Anonymous says:

    @Alan Gresley

    "No Andrew, us dissenters are re-iterating our displeasure with hearing the same old mantra again and again from Microsoft which is "don’t break the web.""

    So your argument is that you don’t believe the web will break.  Maybe we can discuss that more.

    "No`one is forced to write standard complaint code, it’s just that with the evolution of the web, some sites may break. It is called progress. I have page layouts or demos that will remain broken in IE8 because by some grand wisdom they are deemed to be non standard."

    It’s the number of sites that will break that is the problem here.

    "And your forced argument is to say that anyone with a different opinion to yours is wrong. Microsoft is forcing developers to add non standard code, so they can safe face. They are also forcing IE8 onto the world as a critical update. Why can’t they let the Intranet use there IE5, IE6 or IE7. "

    Actually Alan I’m trying to have a reasoned discussion.  Let’s not get off track here.  How do MS introduce a much more compliant browser without causing massive disruption.  This is the problem (in my view).  

    "… "the point of opt-in standards mode is to support standards, not backwards compatibility."

    No Andrew the first motivation of Microsoft is to support backwards compatibility (part of their income base) and secondly support standards. If it was otherwise, then it would be an opt-in for backwards compatibility. I would think that some IE team members would feel liberated to not have big brother watching over their shoulders."

    Agreed my statement was misleading; there may well be some backwards compatibility in IE8 enhanced standards mode.  However it will be obviously be less than the default compatibility mode which is the point I was trying to make.

    Opt-in is a mechanism to introduce much greater standards support without breaking a lot of existing content.  

    "Then we have extremism."

    Thanks for labelling me an extremist because I have a different view to yourself.

    "By CSS standards IE8 is NOT standard compliant"

    You really are confusing me.  Presumably this statement only applies if IE8 enhanced standard mode is opt-in.

  118. Anonymous says:

    How is IE8 going to handle XSLT PI on XML where the XSLT now uses features of XSLT that require permissions to be set to true such as scripting, document fucntion, include, import?

    My understanding is these are set to false by default in IE8 and there does not seem to be any mechanism for turning them on inside XSLT or as part of the PI.

  119. Anonymous says:

    How is IE8 going to handle XSLT PI on XML where the XSLT now uses features of XSLT that require permissions to be set to true such as scripting, document fucntion, include, import?

    My understanding is these are set to false by default in IE8 and there does not seem to be any mechanism for turning them on inside XSLT or as part of the PI.

  120. Anonymous says:

    @bleh

    "Furthermore, you are LYING about all the arguments that have brought up against opting out of standards mode. That, or you are ignorant."

    I don’t remember saying anything about an opt-out mode.  I was talking about all the arguments (of which there seem to be few) against an opt-in mode.  Forcing every site to opt-out is unrealistic, nobody likes being told what to do by MS or any company for that matter.  It costs money.  People just want things to keep working.

  121. Anonymous says:

    @Anwar

    "Are you ignoring everything I write, and just complaining about it on purpose?"

    I was a bit testy.

    "MS/IE Team has *NEVER* stated anything about IE8’s support for DOM being better or different.  If they had, then we wouldn’t be having this conversation."

    Ah the DOM.  I imagine the IE team is struggling with that one as we speak.  "Do we match W3C’s specification exactly and make also most every line of code written for IE obsolete?"  No doubt there’s some grumblings about the quality of the standard itself.  Seriously Anwar, standards support is a complex subject.  No browser gets it right or will ever get it right. There’s no guarantee that a standard (especially as complex as these) will be specified completely or properly to ensure consistent implementation.  CSS2R1 is still not ratified, God knows when CSS3 will be ready or if it will even work.  Sorry. Off-topic.

    "The have announced that the internal builds pass ACID2 with the Meta Tag hack applied – that is all. (within the video they mention specific bugs that were fixed)"

    Well it’s a nice indication that they’re working on standards support isn’t it.  Perhaps you’d prefer silence.

    "You can stand by an MS policy to not say anyting until it is carved in stone, but there is a price to pay for doing so.  That price is loss of respect in the development community, loss of interest in developing for IE, loss of market share because lets face it, developers talk, developers have spouses & kids & friends…. and if we think that IE has no future, then we’re going to tell everyone we know when they ask us."

    Anwar you may prove right.  The alternative is to announce something now and possibly reneg later, which also does not go down well. I tend to feel it’ll all blow over when it’s announced.  Then they’ll be something else to complain about, because standards are a tricky thing.

  122. Anonymous says:

    @Al Billings

    "If they knew that an issue was fixed and that it would be in a future patch, they would have a lot of relief, wouldn’t they?"

    I agree with you.  I was arguing about the effectiveness of the system due to those wishing to disrupt it.  If we lived in a world of flowers and roses, the system would no doubt be in-place.

    "Since you seem to have come out of nowhere recently, how about providing us with either your last name or a link to a site when you post? Otherwise, you kind of look like a troll yourself…"

    My name is Andrew Hilton.  I don’t have a URL.  I have no affiliation with Microsoft.

    It’s interesting to note that you no longer appear to have an opinion on standards opt-in.  Perhaps Mozilla will adopt the same approach.

    "Andrew can say that it is company policy but people want to know what is coming or to have a roadmap before continuing to focus development on IE."

    How can a roadmap be relied upon if it cannot be guaranteed?  People now know that standards support is being worked on.  if it’s good, we get closer to writing a purer set of code to multiple browsers.

  123. Anonymous says:

    @Alan Gresley

    "What is of great importance are the questions I keep asking IE team members again and again that are not answered. In saying this Eric Lawrence may not himself be able to answer my questions."

    Vague questions about pre-alpha versions of IE8 accessing your site may be exciting to you, but no doubt Eric has more important work to do.

    "if gte IE 7"

    So you have to upgrade your site in order to support IE enhanced standards mode.  Isn’t that the point of opt-in?  To give you time to upgrade?

    "None of this would matter if IE8 was by default in standard mode and didn’t use conditional comments."

    How would you support older versions of IE?  

  124. Anonymous says:

    @Alan Gresley

    "Comprise indeed, read this Andrew.

    http://en.wikipedia.org/wiki/Compromise"

    I wasn’t referring to compromise within the context of an argument.  

    "something intermediate between different things" (from dictionary.com)

    As in – "the information found in wikipedia is a compromise between convenience and accuracy".

  125. Anonymous says:

    "So your argument is that you don’t believe the web will break.  Maybe we can discuss that more."

    Intranets using IE buggy interpretation of CSS and script will break. Some sites will break if the author used a Doctype that would indicate that they knew what they were doing where in fact they didn’t.

    "It’s the number of sites that will break that is the problem here."

    And this percentage is completely unknown for those pages in the wild web so to base a decision about the method of opt-in on an unknown variable is wrong.

    "Actually Alan I’m trying to have a reasoned discussion.  Let’s not get off track here. How do MS introduce a much more compliant browser without causing massive disruption?  This is the problem (in my view)."

    Andrew every time you face a challenging discussion point in this thread your response is always "Let’s not get off track here." Microsoft already has a much more compliant browser, its name is IE8.

    "Thanks for labelling me an extremist because I have a different view to yourself."

    Andrew, you’re not an extremist. Read your reply again to Gyrobo where you wrote "Anyway it’s called compromise, not hypocracy."

    Microsoft action to support backwards compatibility and standard compliance was this new meta tag solution which was developed behind close doors. Then Microsoft announces this new meta to the world.

    "In arguments, compromise is a concept of finding agreement through communication, through a mutual acceptance of terms—often involving variations from an original goal or desire. Extremism is often considered as antonym to compromise."

    Can Microsoft and the greater web community work together for an agreement through communication even though it involves a variation of the original goal or desire.

    Let me reword the wikipedia entry for Extremism.

    "Extremism" is a term used to describe the actions of individuals or groups outside the perceived “best practices” center of a web community; or otherwise claimed to violate common web standards.

    "By CSS standards IE8 is NOT standard compliant"

    "You really are confusing me.  Presumably this statement only applies if IE8 enhanced standard mode is opt-in."

    It applies to a particular build of IE8 in standard mode. This build still has the some of the same CSS bugs as IE7.

  126. Anonymous says:

    "So you have to upgrade your site in order to support IE enhanced standards mode.  Isn’t that the point of opt-in?  To give you time to upgrade?"

    Visit this page in IE6 or IE7

    http://www.stopdesign.com/portfolio/promotional/hotbot_mousepad.html

    Are you going to suggest to Douglas Bowman that he needs to now include a new meta in the header and use conditional comments for IE6 and IE7 so IE8 doesn’t show the Guillotine bug on this page and other pages in this section of his site. If the default for IE8 was standard mode then the bug would not be present and all Douglas has to do is use one of the three fixes on my site for IE6 and IE7. All achieved with one CSS declaration.

  127. Anonymous says:

    It is looking more and more like the ACID 2 pass is just being used as a marketing ploy ‘Look – now we are 100% standards compliant!’

    What about support for HTML5 what about fixes to javascript?  These are the things that are holding us back at the moment.  When will we expect CANVAS support?  Or will you be forcing Silverlight down our throats even more in the future.

    Looking forward, IE is no longer the dominant force it once was so must support standards like everyone else.

    Are we likely to see a roadmap for support?  Even just an indication of your intentions will be good.  ACID compliance does not mean much in the real world.

  128. Anonymous says:

    Do you guys have a newer version of the Script Debugger not from 4 years ago? or is that in the land of IE8. I’ll state it once more, IE8 is bullshit. Cannot wait till Microsoft goes under with their HD-DVD. This might be the year Microsoft is losing, maybe you can merge with Mozilla.

    I am not trying to be mean, I cannot believe the bowing and kneeling down you guys do with your corporate world.

  129. Anonymous says:

    I hate IE7. Thought you might like to know that

  130. Anonymous says:

    @Andrew

    As much as I’d like to continue our discussion, it’s becoming untenable.

    I agree with Alan Gresley; every time I bring something up that is worthy of discussion, you act like having more than one conversation at a time is impossible and that we should only proceed on the track that benefits your argument the most.

    On that note, I’d like to briefly expound on my earlier comment on including IE7 in XP SP3, and why its exclusion proves why the opt-in tag is fallacious:

    If a web site currently WORKS in IE7, then it’s almost certain that it is being maintained by someone who can insert an opt-out tag to maintain backwards compatibility in IE8.

    If a web site BREAKS in IE7, and STILL has not been fixed over a year after IE7’s release, then it is PERMANENTLY BROKEN in Internet Explorer now and for all time. No opt-in can change that.

    By excluding IE7 from the service pack, Microsoft is implicitly admitting that even IF true standards mode is opt-in, all the pages that would have broken by such a move WILL be broken anyway.

  131. Anonymous says:

    * When I said "by such a move," I was referring to enabling true standards mode by default.

  132. Anonymous says:

    Where has Molly been? I thought Bill Gates brought her onto your guys team to give a talk line between the IE Team and developers. But it seems that it was more of a silencing thing to do.

    Don’t jump to respond to any of the questions that the 138 comments bring up. Just keep posting about how IE8 will break again and we will all laugh at your pathetic attempt to once again create a browser that is supposed to be innovating but just another failed attempt by Microsoft. Hopefully Vista showed people that Microsoft is going down down down in the burning ring of fire. Congratulations hopefully in a year or 2 people will be wondering Micro…who?

  133. Anonymous says:

    @Alan Gresley: There are many possible explanations for what you’re seeing in the server log.  Using Fiddler or another tool, a prankster could send anything he wants as the User-Agent string.

    IE8 sends the IE8 UA string for ALL requests (including favicons), unless the aforementioned "Report IE7 User-Agent String" menu option is checked.

    While I did not discuss the Version Vector behavior in this post, rest assured that both "if IE" and "if gte IE 7" will continue to work.

  134. Anonymous says:

    Awesome stuff! Keep up the great work guys! IE 7 is awesome.. IE 8 is gonna be super awesome.. thanks 😉

  135. Anonymous says:

    Andrew, you wrote:

    "It’s interesting to note that you no longer appear to have an opinion on standards opt-in.  Perhaps Mozilla will adopt the same approach."

    Well, I don’t speak for Mozilla, either the company or the larger community. I speak for myself. That’s always been the case. I’ve already thought that *I* think it is a bad idea (I think I called it "stupid" but I’d have to go look) for a number of reasons. Just because I haven’t banged that drum in the last few weeks doesn’t mean my opinion magically changed. I have other things to blog about than repeating myself on a particular IE issue (the general one of openness will always be returned to, though).

    Mozilla people much more likely to influence direction have publicly stated that they think it is a bad idea as well. I’d really *really* doubt that you’ll see Mozilla implement it. Actually, I think someone relatively high placed at all of the browser makers other than Microsoft has effectively said that there are no plans to implement this. IE is going it alone here, I expect.

    Leaving that aside, Firefox 3 just shipped a third beta. There is a fourth one planned but no mention of more beyond this. This switch for opting in (or out) is not implemented in Firefox 3. It currently does what Firefox 2 did. I would not expect that to change during a beta or for release. Firefox 3 is going to be shipped pretty soon after all. We’re effectively done except for polish and a few fixes.

  136. Anonymous says:

    Any plans to use the correct English spelling of "favourites" in IE8?  The American spelling is very annoying!

  137. Anonymous says:

    @Andres: re: "No browser gets it right or will ever get it right. There’s no guarantee that a standard (especially as complex as these) will be specified completely or properly to ensure consistent implementation."… re: DOM stuff.

    I was reading this bit and had to join in.  Your are correct, there is a chance that not every browser will perfectly implement each and every method in the DOM specs.  However a reasonable attempt *IS* expected.

    getElementById() makes no mention anywhere in the description of this method any reference to the "name" attribute.

    setAttribute() makes no mention anywhere in the description of this method being designed to choke on inline event handlers (onclick, onmousedown, onkeypress), the style, class, for, cellpadding, nofollow, cellspacing, frameborder, maxlength, readonly, or name attributes.

    Yet both of these methods are fatally flawed in their implementation.  No one is arguing if the spec is too vague, or if there is a better method.  They are just 2 of the very important building blocks of the DOM, and both are badly broken in IE.

    If MS wants to create a new method called:

    document.magicallyThinkWantIWantAndReturnIt();

    By all means go ahead! But before you code a single line of that method, please make the existing, *WELL DOCUMENTED* DOM methods work.

    Thanks for letting me get that off my chest.  Wow I feel so much better now.  Any chance that there is someone from Microsoft that can respond to the "expected" status of DOM method support in IE8?

    I would like to know either way – even if it is "we are not comfortable fixing the web yet".

  138. Anonymous says:

    Wow, I need to type comments *after* my morning cup of coffee. Typos aside, I think my intent is clear.

    No one other than IE has said that they will support the versioning switch and, in fact, a number of high placed people are multiple browser makers have said that they think it would be a bad idea.

  139. Anonymous says:

    Wake me up when you support SVG.

  140. Anonymous says:

    @Andrew

    "So your argument is that you don’t believe the web will break."

    Oh, they will. Merely changing the user-agent string will break sites. So by your logic Microsoft can’t even change that string to say "IE8".

    "Forcing every site to opt-out is unrealistic"

    They could opt-in to IE7 mode.

    By the way, if they don’t opt-in to IE8 mode they are basically getting the IE7 engine. So why does it identify itself as IE8 when it’s basically IE7 (mode)?

  141. Anonymous says:

    Microsoft has a chance to redeem themselves. do what is right this time guys and stop crome plating turd! its the age old saying, beauty is skin deep!

  142. Anonymous says:

    Com’era stato promesso lo scorso dicembre, entro la fine di questo trimestre Microsoft prevede di rilasciare al pubblico la prima versione beta di Internet Explorer 8. A confermare questa tabella di marcia è una email, inviata da Microsoft ad u

  143. Anonymous says:

    Uhm, several people seem to be getting email invites to test drive the first IE8 beta?

    Is this a public beta or what?  I have an MSDN licence but I don’t see/get any email on this.

    I want to try it out, can someone send me a link?

    PS Still waiting on a list of bug fixes for IE8 since this is a "Developer Release" according to the email (that I didn’t get)

  144. Anonymous says:

    @EricLaw

    Could you kindly explain why IE7 won’t be included with XP SP3?

    If IE7 causes so many problems that it can’t be pushed on users, how will taking IE7 and changing its userAgent make IE8 more compatible? The pages that break now under IE7 would remain broken in IE8 whether or not true standards were the default.

    Isn’t the REAL compatibility solution under an opt-in system to make IE6 the default rendering engine?

  145. Anonymous says:

    IE7 will run just fine on XP SP3 when that service pack becomes available.

    Generally, it is our policy not to require new browser versions within a service pack.  

    For myriad reasons, some customers prefer to deploy new browsers on their own schedule, and sometimes, not alongside OS service packs.

  146. Anonymous says:

    @Steve: Stay tuned to the IE blog for the latest news about the upcoming beta.  At the moment, there’s no "link" to send.

  147. Anonymous says:

    @EricLaw

    Thank you for your response. I appreciate it, but now I’ve got a question about your answer.

    If it isn’t Microsoft’s policy to include a new browser with service packs, then it’s conceivable that when XP finally reaches its end of life that some users may be using a browser older than they are. Given the antitrust complaints that Microsoft is retarding web standards, shouldn’t you be pursuing every possible avenue to update your customers?

    Furthermore, I believe you just undercut your primary reason for the meta opt-in: if your customers are able to deploy new browsers at their leisure, then why not enable true standards mode by default and let them catch up at their own pace?

  148. Anonymous says:

    Gyrobo, Opera will say literally *anything* to get press coverage.  (Reference their executive’s claim that he was going to swim the Atlantic a year or two ago).  Remember, they have FAR less share than even Firefox, despite giving away their product for free.

    There’s nothing at all in anti-trust law (or any other law) to suggest that Microsoft must require that users upgrade their browsers.  If users want new browsers, they can simply install them.

    As for the "meta" thing, you are making Microsoft’s case for them!! Websites WILL break if they default to the newer engine.  Hence, the default is the OLD engine, and sites can "catch up at their own pace" by opt-ing in with the new META tag.

  149. sonicdoommario says:

    EricLaw:

    Can’t MS just include an option to install IE7 upon the SP3 setup? For example, they’ll be a screen saying "Your Internet Explorer is out of date!" and will ask you if you want to upgrade IE during the installation with the default option set to no.

  150. Anonymous says:

    @@sonicetc– if someone is going to bother installing xpsp3 (big), they probably already have ie7 (small)… Since service packs go out on WindowsUpdate, the user would already see the IE7 update on Windows update.  And since Microsoft has ie on the autoupdates, someone on xpsp3 with ie6 will get asked to install ie7 anyways.

  151. Anonymous says:

    When released, the IE8 beta will introduce an updated User-Agent string. For IE8, we’ve simply replaced ’MSIE 7.0’ with ’MSIE 8.0’. For example, on Windows Vista, IE8 sends: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) IEBlog : The Internet Explor

  152. Anonymous says:

    @Stanley

    "As for the "meta" thing, you are making Microsoft’s case for them!!"

    I am NOT making Microsoft’s case for them, I was trying to follow to its conclusion what I saw as a contradiction in Eric’s logic.

    He says that Microsoft can’t afford to enable true standards mode by default, because that would break web pages. Then he says that Microsoft won’t push an updated web browser because it might break web pages, a web browser that renders pages allegedly the same as the older version by default.

    The argument is strange to me: if a web browser is going to render the same (by default) as an older version, why not push the new version?

    This is especially pertinent on Vista. Will Vista SP2+ include IE8? If Microsoft goes through with this meta scheme, then the default rendering mode will be the same as IE7.

    "Websites WILL break if they default to the newer engine."

    Haven’t I already pointed out at that by changing the userAgent, IE8 WILL break sites anyway?

  153. Anonymous says:

    @Gyrobo: On the contrary, I have never said that Microsoft is not requiring customers deploy IE7 "because it might break web pages."  

    Customers elect to deploy browsers on the schedule of their choosing.

  154. Anonymous says:

    @whut

    Your questions were answered previously.

    @Alan Gresley

    "It applies to a particular build of IE8 in standard mode. This build still has the some of the same CSS bugs as IE7."

    They haven’t finished it yet.

    @Gyrobo

    "As much as I’d like to continue our discussion, it’s becoming untenable."

    I’m sorry you feel that way. However you don’t attempt to read and understand IE blog posts or replies from EL, so it’s unlikely you’ll understand me (I’m not nearly as eloquent).

    I want to see MS support web standards to the best of their ability.  I find it exciting that the op-in method frees them from the shackles of backwards compatibility.  It offers a chance to fully support the latest HTML/CSS/DOM standards.  The result of that freedom would be a rendering mode vastly different to IE7 and below, and possibly more compliant than competing browsers (who have their own bc issues).

    Forcing MS into standards mode by default would likely mean a watering down of IE8’s standardisation effort, from fear of breaking existing sites.

    I’m sure you guys want to see IE more standards compliant, a complete break from the past is the only way forward.

    My time is limited so I apologise if you don’t get replies in future.

  155. Anonymous says:

    While the mozilla team are releasing betas of a really impressive browser to the public, you are revealing your new User Agent String. Really exciting…

  156. Anonymous says:

    I beg to differ: there were differences between ‘original’ Internet Explorer 6 and IE6 for Windows XP SP2 (I want for proof that I once had to add fixes to handle IE6sp1 for Windows 2000, fixes that weren’t needed for IE6sp2).

    So, not including a new IE version in XP sp3 because MS doesn’t include new browser versions in their SPs doesn’t hold much water.

    Still, I’d personally appreciate something else a lot more: porting IE8’s engine to Windows 2000, so that everybody could get rid of IE6 – and not wait for 07/2010.

    Other than that, I’d really enjoy support for CSS2/3 advanced selectors.

    One question: what will happen when a page, using selectors like :before and :after are opened without the compatibility shim – sorry, the ‘UI version indicator’ in IE 8? Personally, I dynamically add empty elements under IE and give them the same style I give the correct elements, but will IE 8 pop me both out?

    Should I use a browser detect to tell IE 7 (and masquerading IE 8) not to display unsupported IE 7 extensions?

  157. Anonymous says:

    @EricLaw

    You wrote:

    "@Alan Gresley: There are many possible explanations for what you’re seeing in the server log.  Using Fiddler or another tool, a prankster could send anything he wants as the User-Agent string.

    IE8 sends the IE8 UA string for ALL requests (including favicons), unless the aforementioned "Report IE7 User-Agent String" menu option is checked.

    While I did not discuss the Version Vector behavior in this post, rest assured that both "if IE" and "if gte IE 7" will continue to work."

    My reply:

    So when the "Report IE7 User-Agent String" menu option is checked in IE8, this allows for testing IE8 in IE7 mode and all files requested will use the IE7 UA string accept the favicon.ico. This is a fact. Concerning the requesting of favicon.ico., this is the first true authenticated IE8 bugs.

    http://www.gtalbot.org/BrowserBugsSection/MSIE8Bugs/

    "Rest assured that both "if IE" and "if gte IE 7" will continue to work."

    So any script or style or linked script or style within them which is meant for a buggy IE or a version equaling or greater than IE7 (remembering that we could only assume that IE would always remain buggy) will be used also by IE8 in standard mode. Is this correct?

    Isn’t that IE bug behavior targeting the edge?

    I really don’t understand the true implications of this from a scripting perspective, but I do understand in simple terms that if there was some improvement in the DOM in IE8, then these scripts within these conditional comment would have some impact.

    Yes indeed a prankster is trying to fool me. I added a new test page on my site on the 13th of February and this prankster with amazing insight visits this page on the first day of it being live. This prankster is very clever because they knew well enough to check out the source of this page and discover all my reverse testing methods for IE8 which I have hidden in the code. So very quickly they rebuild Fiddler or another tool to fool me.

    [13/Feb/2008:02:00:04 -0700] "GET css-class.com/images/examples/t10.png HTTP/1.1" 200 180 "" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; MS-RTC LM 8)"

    This prankster is really good too; they managed to build a UA that also has the ability to understand conditional comments which are only meant to target any version greater than IE7. The image (t10.png) is requested this conditional comment.

    if gt IE 7  img src="t10.png"  endif

    And for the real dinki-di IE7

    [14/Feb/2008:11:08:49 -0700] "GET css-class.com/images/examples/t9.png HTTP/1.1" 200 180 "" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"

    The image (t9.png) is requested by a conditional comment.

    if IE 7  img src="t9.png"  endif

  158. Anonymous says:

    So what is the deal with the IE8 standards mode?

    What exactly does it fix?

    I don’t understand how you can tell us that there is this new mode for better standards but not give us any idea what those fixes are?

    Can I exclude IE8 from 75%-100% of all my conditional JavaScript hacks?! 😉

    Thanks in Advance

  159. Anonymous says:

    @Andrew

    "It applies to a particular build of IE8 in standard mode. This build still has the some of the same CSS bugs as IE7."

    "They haven’t finished it yet."

    Andrew I understand that you are for this opt-in to standard approach and I respect you for having a difference in opinion, but I don’t think you have considered fully the consequences of such an approach. The approach should be to put all the dramas of IE whatever behind us forever and move forward.

    IE7 showed a big improvement in standards support but some of these new features have there own bugs. One is with the dynamic pseudo class (:hover) on any element. Another one is with sibling selectors.

    The former bug with E:hover I am presently helping a IE team member work with. Hopefully IE8 in standard mode doesn’t have this bug.

    http://css-class.com/test/bugs/ie/recalculatedoffsetbug.htm

    http://css-class.com/articles/explorer/sticky/index.htm

    And doing a search with IE7, sticky and hover will show that this bug is epidemic.

    http://www.google.com/search?hl=en&q=ie7+sticky+hover&btnG=Search

    Microsoft is releasing IE8 to the world in a few weeks. A bug with sibling selectors is still present in IE8 in standard mode.

    H1 + * ~ p {} /* style for the 2nd paragraph onwards*/

    This sibling selector string will select different elements in the source in IE7 and IE8 if ordinary html comments appear between these elements. This is non-standard complaint behavior because ordinary html comments are not elements. If I had a comment after the h1 header then the 1st paragraph onwards will all have the same style. To get around this you have to give IE7 or IE8 a whole new sibling selector.

    H1 + * + * ~ p {} /* style for the 2nd paragraph onwards in IE7 and IE8 */

    Then you have to overrule the sibling selector that you gave the good browsers in the first place.

    H1 + * + p {} /* style for the 1st paragraph in IE7 and IE8 */

    Please Andrew, explain to me the workarounds and where do all these go? Please don’t suggest to me that my universal selector could be replaced with a "p" for a paragraph because the universal selector could be selecting a list or blockquote instead.

    So can we all (the web development community) separate fact from fiction and consider the consequences across the whole spectrum of what this meta, UA string, and IE bug behavior will bring.

    Is this a true break from the past or is this just history repeating itself?

  160. Anonymous says:

    @EricLaw

    As Mitch074 pointed out, XP SP2 included a version of IE6 that contained new functionality not present in the original IE6. Is this not tantemount to a new browser?

    "Customers elect to deploy browsers on the schedule of their choosing."

    This seems like a good reason to enable true standards by default. If a site "breaks" in IE8 then customers can schedule to install IE8 after the page is fixed.

    Side note:

    I don’t know if you know this, but in XP the Active Desktop Recovery file seems to be broken with IE7. Will a fix for this be in SP3?

  161. Anonymous says:

    Alan, I’m not sure where you get your information, seeing as how IE8 hasn’t even shipped in a *BETA* form yet.

    <<"all files requested will use the IE7 UA string accept the favicon.ico. This is a fact">>

    I assume you mean "except" rather than "accept"?  

    I can tell you that your "fact" is incorrect, as I watch my network traffic constantly, and IE8 builds do not behave as you describe.  My original statement correctly describes the "Report as IE7" feature.

    The "bug" from Talbot’s site is a by-design behavior, and has nothing to do with the User-Agent string.  As IE invented that FavIcon feature, it’s ironic that the behavior is now being called a "bug" after everyone else adopted the feature.  Talbot fails to note that a web developer can avoid the query to the root by specifying the FavIcon via META tag, a feature we documented when we invented FavIcon support.

    There’s no inherent linking between the UserAgent string and conditional comments; they are controlled from different sources.  The Conditional Comments version comes from the Version Vector registry key, while the UA string is in the code but can be overriden by other registry keys.

    Registry scripts from my site (http://www.enhanceie.com/useragent.aspx) have offered the ability to override both the UserAgent and the Version Vector for several years now.

    I’m not sure what you mean when you say "rebuild Fiddler"?  Fiddler enables user-agent string spoofing via either a menu option or checkbox; you don’t need to "rebuild" anything.

  162. Anonymous says:

    @Gyrobo: It’s hard to imagine what your definition of "tantamount to a new browser" is.  There’s no question that IE6 as shipped on XPSP2 included new features, pretty much exclusively focused on security.  It did not include significant UI changes (many business customers wait to deploy UI updates for support reasons).  It did not include changes to the rendering engine, and no changes to HTML support or DOM support.  Rather than including a new User-Agent Version or Version Vector Version, only a token was added to the UA.

    <<This seems like a good reason to enable true standards by default. If a site "breaks" in IE8 then customers can schedule to install IE8 after the page is fixed.>>

    That’s a very risky game that has a chicken and egg problem.  

    Businesses (and lots of consumers) wouldn’t install IE8 until all sites are updated, and sites wouldn’t bother to update because no one is using IE8.

    Hence, web developers would be stuck supporting IE7 for YEARS longer than they will be under a compat-friendly strategy.

  163. Anonymous says:

    .

    .

    Wow, Stanley, what a pathetic thing to say:

    "Opera will say literally *anything* to get press coverage.  (Reference their executive’s claim that he was going to swim the Atlantic a year or two ago)."

    It’s called a PR stunt. Of which Microsoft has had many. Remember the video when Bill Gates stepped down? Did you REALLY think that Opera’s CEO was going to swim? You are more gullible than one could ever imagine, but maybe that’s the norm for Microsoft employees?

    You are shooting yourself in the foot by criticizing Opera of PR stunts while your own employer uses them!

    .

    .

  164. Anonymous says:

    @EricLaw

    <<"all files requested will use the IE7 UA string accept the favicon.ico. This is a fact">>

    "I assume you mean "except" rather than "accept?""

    Thank you for correcting my spelling 🙂

    "?Alan, I’m not sure where you get your information, seeing as how IE8 hasn’t even shipped in a *BETA* form yet."

    "I can tell you that your "fact" is incorrect, as I watch my network traffic constantly, and IE8 builds do not behave as you describe.  My original statement correctly describes the "Report as IE7" feature."

    Can some in the IE team set Eric straight on this?

    "The "bug" from Talbot’s site is a by-design behavior"

    "Talbot fails to note that a web developer can avoid the query to the root by specifying the FavIcon via META tag"

    A meta is needed to opt-out of automatically requesting favicon.ico when they may not be present in the root directory. How about that, we need another meta tag.

    "There’s no inherent linking between the UserAgent string and conditional comments; they are controlled from different sources.  The Conditional Comments version comes from the Version Vector registry key, while the UA string is in the code but can be overriden by other registry keys."

    Can someone from the IE team please explain to Eric what I am talking about here? My question is will IE8 in standard mode still use IE buggy rules inside conditional comments like [if IE]? Eric, I do understand that they are not linked, they operate differently as do the IE7 UserAgent strings and conditional comments for IE7.

    "I’m not sure what you mean when you say "rebuild Fiddler"?  Fiddler enables user-agent string spoofing via either a menu option or checkbox; you don’t need to "rebuild" anything."

    The latest hit.

    131.107.0.102 – – [25/Feb/2008:22:28:57 -0700] "GET css-class.com/articles/explorer/sticky/index.htm HTTP/1.1" 200 18171 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; .NET CLR 3.5.21022)"

    I have approximate 500 hits from IP addresses beginning with 131.107 which all trace back to Redmond and the other approximate 400 hits from IP addresses where the user is using IE8.

    I make a conclusion from my stats that there are bugs in IE8 in "standard" mode. Why are some pages visited again and again, over and over?

    Eric, test this page in IE7, it will explain to you the cause of the escaping floats and pee-ka-boo bugs in IE.

    http://css-class.com/test/bugs/ie/renderingbands.htm

    Eric, here is a file on my site to make you reconsider what you have been arguing about.

    http://css-class.com/cssscript/images.css

    I do feel empathy for any IE team member who has to report something about a new version of IE on this blog.

    Is it decided by the person who chooses the shortest straw?

  165. Anonymous says:

    @pathetic:

    Heh… I don’t work for Microsoft, and I often prefer to use Firefox.  Opera is a nice browser too, but it’s a darn shame that Opera cannot compete on their merits instead of pulling PR stunts.  Poor Opera engineering team!  They write fine code, but their management makes them look absurd.

    PR stunts that use the legal system cost us all…

  166. Anonymous says:

    Alan, posting on the IE blog is a privilege I enjoy; I just wish I had more time to do it.  

    Vis-a-vis the FavIcon issue: As noted, the IE team invented this feature ~long~ ago, and we support specification of the favicon via a meta-tag. All of the other browsers adopted this feature and the meta-tag.  The fact that IE built the feature originally to support a fallback icon (/favicon.ico) merely demonstrates that we want the webplatform to be easy to use, and we didn’t want to force web developers to update every single one of their pages with a META tag specifying the desired icon.  

    Vis-a-vis the "Report IE7 User-Agent" option, I somehow doubt that anyone else on the IE team is going to try to tell me how my feature works.  🙂  If you examine your logs from this morning, you’ll find that your site was hit by "MSIE 12.0" running on "Windows NT 9.1"

    … You can either believe your web logs, or believe me that the User-Agent string can be spoofed.

    <<I make a conclusion from my stats that there are bugs in IE8 in "standard" mode.>>

    That’s one possible conclusion.  The other possible conclusion is that the hits are not coming from IE at all, as noted previously.

  167. Anonymous says:

    @EricLaw

    Thank you for your explanation. It’s given me a great idea about how you could mollify me on the whole issue of changing the userAgent if you decide to stick to the opt-in: keep the IE7 string, but add a special heretofore unknown little flag token to designate it as IE8 for people looking for that.

    I’d still disagree about the concept of an opt-in, but at least you wouldn’t seem so hypocritical.

    And I’m afraid I still don’t understand why, if IE8 won’t be pushed on Vista users in a later service pack. In comparison to IE7, it (under your opt-in scheme) has no "changes to the rendering engine, and no changes to HTML support or DOM support."

    "Businesses (and lots of consumers) wouldn’t install IE8 until all sites are updated, and sites wouldn’t bother to update because no one is using IE8."

    When Firefox was first released in 2004 it had 0% of the market, back when virtually all sites were tested only in IE6. The secret to driving adoption is having a good product. The yearlong (and continuing) communication blackout on IE8’s feature-set has left me with sadly little to say about IE8 as a product.

    "[W]eb developers would be stuck supporting IE7 for YEARS longer than they will be under a compat-friendly strategy."

    People aren’t buying new computers as rapidly as they used to.

    If you don’t insist on encouraging your customers to migrate to newer browsers, web developers may have to code for a small but significant minority of IE6 users for the next QUARTER CENTURY.

  168. Anonymous says:

    .

    Stanley, you are either a Microsoft employee or a troll.

    "it’s a darn shame that Opera cannot compete on their merits instead of pulling PR stunts"

    What does "compete on their merits" mean? Are you so ignorant that you think marketing is irrelevant?

    Firefox is where it is today BECAUSE of marketing. BECAUSE of stunts like these.

    And you completely failed to address the fact that YOUR EPMPLOYER DOES THESE KINDS OF STUNTS TOO.

    "Poor Opera engineering team!  They write fine code, but their management makes them look absurd."

    How? Absurd like Bill Gates’ "funny" video when he stepped down? Funny how you ignore the fact that all other companies pull these kinds of stunts as well.

    "PR stunts that use the legal system cost us all…"

    You mean like Microsoft’s recent antitrust complaint against the Google/Doubleclick deal? Or Google’s antitrust complaint against Microsoft before that?

    Get a clue.

    .

    .

  169. Anonymous says:

    You better fix the idiotic problem of not being able to run multiple versions of IE on the same PC before releasing IE8.  Webdevelopers shouldn’t have to hop around to different PC’s just so they can test their sites on IE6, IE7, IE8 – fit it to where you can run them all together.  No more integregating IE into the operating system. Just make the stupid thing a standalone program that saves all its settings in files and not the registry, like Firefox.  Haven’t you learned anything from Firefox yet?

  170. Anonymous says:

    @Gyrobo: We spent a surprising amount of time agonizing over the user-agent string plan.  

    The idea to "add a special heretofore unknown little flag token to designate it as IE8" was considered, but ultimately put aside.  Such a strategy has a number of downsides, particularly in that it would require rewriting all of the web frameworks that exist for parsing user-agent strings.  Once the web frameworks are rewritten, we’re right back where we started.

  171. Anonymous says:

    @EricLaw

    And if Microsoft had had those types of discussions publicly and asked for feedback, I wouldn’t have wasted your time reiterating it.

    But correct me if I’m wrong: by introducing a new UA string, all UA parsers need to be rewritten anyway, won’t they? Forgive me, but I don’t see a difference compatibility-wise, between adding an extraneous token and changing the version number, for UA parsers.

    Except that adding an extra token would avoid sites not correctly receiving data meant for the IE7 engine.

    If possible, could you make public a transcript of the talks that resulted in the UA version bump? If I could understand the viable options you chose from and why you deemed this the best approach I would be a happy camper.

  172. Anonymous says:

    @Gyrobo: The user-agent string’s !format! did not change, and thus parsers need not be rewritten.  

    The popular frameworks already correctly identify IE8, as does any code that follows our recommendation for UA parsing (http://msdn2.microsoft.com/en-us/library/ms537509.aspx#ParsingUA).

  173. Anonymous says:

    @EricLaw

    The CURRENT frameworks may recognize IE8’s UA (hard to believe considering you just formally announced the UA changes five days ago), but sites using older versions of those frameworks will inexorably break. Imagine the following scenario:

    if (navigator.userAgent.indexOf("MSIE 7") > -1) {

     // Deliver crucial data that only IE7 needs.

    }

    Correctly identifying IE8 won’t be of any use if there’s no opt-in and that crucial data doesn’t get through under IE8 legacy mode.

    The format of the UA may not have changed, but that single digit could mean the difference between a functioning site and catastrophic failure.

  174. Anonymous says:

    @Gyrobo: A properly written framework immediately recognizes IE8 because the format hasn’t changed.  For instance, see http://www.enhanceie.com/useragent.aspx, and you’ll see that the version of ASP.NET shipped back in 2003 correctly identifies

    Name = IE

    Version = 8.0

    Major Version = 8

    Minor Version = 0

    You’re correct to note that a site hardcoded to target a ~specific~ IE version could be broken, which is only one of several reasons why we do not recommend such targeting.

    As noted in the Best Practices article, it is not recommended that you block access to content based on the user-agent string of the browser. If you do have to offer different content to different versions of the browser due to improved capabilities, you should ensure that future versions of the browser are not blocked. Serving content based solely on the user-agent string is often an unreliable way to detect the full capabilities of the browser, because the user might have adjusted some settings, such as disabling script or extensions.

  175. Anonymous says:

    @EricLaw [MSFT]

    "As noted in the Best Practices article, it is not recommended that you block access to content based on the user-agent string of the browser."

    The Hotmail team doesn’t follow your recommendation, might of fixed the "bug" already.

    http://www.freesoftwaremagazine.com/columns/hotmail_doesnt_work_with_firefox_2

  176. Anonymous says:

    Don’t forget:

    1 – Standalone!!!

    No more poor/freak/…/ridiculous workarounds, please!

    2 – If you want to keep conditional comments, be sure to implement a CSS version too…

  177. Anonymous says:

    Is there any way I can sign up to be a beta tester?

  178. Anonymous says:

    Why the hell are developers still hard coding sites for specific user strings anyway? Answer: Laziness and/or Incompetence.

    The only excuse for this is if a company uses IE-specific ActiveX controls and the developers are incompetent, lazy, or both. But I am pretty sure if you are doing this that the company has a browser-rollout policy anyway. If you don’t, well, I stand by the fact that you’re incompetent, lazy, or both.

    Take the time to design your site properly in the first place! If you can’t code it properly in HTML/CSS, code it in Flash, Silverlight, or anyother non-browser-specific platform.

    No excuses!

  179. Anonymous says:

    @Will: This is an exciting time for the IE team and we can’t wait to share IE8 with our customers.  Despite what you may have heard, the IE8 Beta is not public at this time.  

    Stay tuned!

  180. Anonymous says:

    Breno Ribeiro

    My theory:

    1. Conditional comment first appear with IE5

    2. Star hacks first work from version IE5

    Since IE needs to search inside comments to see if they are conditional comments then this type of non-standard behavior allows these star html hacks to work in the first place. Conditional Comments and Star Hacks are just opposite ends of a spectrum.

    * html = !DOCTYPE html    

    *+html = !DOCTYPE + html

    So considering this, it’s funny (from a IE perspective) that you request conditional comments to be implemented in CSS. 🙂

  181. Anonymous says:

    "A properly written framework immediately recognizes IE8"

    I find this comment by EricLaw to be hilarious.

    If history has taught us something, in large part thanks to Microsoft’s browsers, things are often NOT properly written! If they were, then IE8 would have been able to default to standards mode.

  182. Anonymous says:

    I have a Feature Request for IE8.  I looked for a special site to submit this but I can’t find one.  Does IE have a Bugzilla account?

    Here’s the Feature Request

    If it isn’t fixed already, can you change the print preview screen such that when I choose a "Custom" zoom factor, that it places focus in the Custom zoom factor text box.

    As a user, I pressume this is what happens, then I start typing, and I end up changing the zoom to an item in the scale list.

    Better yet, when I choose "custom" can it pop up a modal dialog where I can type in the value, in a pre-focsed text box?

    Thanks.

    Rod

  183. Anonymous says:

    @EricLaw

    "A properly written framework immediately recognizes IE8 because the format hasn’t changed."

    Eric, my issue is not that IE8 won’t be identified correctly. It’s that the IE7 legacy mode won’t be identified correctly.

    "[T]he user might have adjusted some settings, such as disabling script or extensions."

    I’m talking about the things users CAN’T change, like CSS and JavaScript bugs that apply to all instances of a specific browser version.

    "Serving content based solely on the user-agent string is often an unreliable way to detect the full capabilities of the browser"

    Yes, but the developers your opt-in mode is designed to protect historically HAVE done things like this. When — not if, but when — a version of IE8 that (by default) renders as IE7 but identifies itself as IE8, when that browser hits the market, such web sites will break.

    It will LITERALLY be another IE7.

    P.S.

    Are you at least considering having a special beta version of IE8 where true standards mode is the default, for comparative purposes?

  184. Anonymous says:

    @Eric Lawrence,

    I just sent you an email regarding your IE8 user agent string posted message.

    Once IE 8 fixes its CSS bugs – all of the CSS bugs -, then it will be time to recommend to avoid user-agent string (exact or not) detection and to propose, to suggest to go with object/method support detection instead. There is nothing better (overall), more reliable, easier to manage than object/method support detection.

    Regards, Gérard

  185. Anonymous says:

    @Eric

    > The "bug" from Talbot’s site is a by-design behavior, and has nothing to do with the User-Agent string.  As IE invented that FavIcon feature, it’s ironic that the behavior is now being called a "bug" after everyone else adopted the feature.  Talbot fails to note that a web developer can avoid the query to the root by specifying the FavIcon via META tag, a feature we documented when we invented FavIcon support.

    Eric, IE 8 requests the favicon.ico regardless if the webpage author has declaratively linked it or not: that’s one bug.

    I didn’t write

    W3C Quality Assurance tip, How to Add a Favicon to your Site

    http://www.w3.org/2005/10/howto-favicon

    I didn’t write

    http://www.w3.org/TR/webarch/#uri-opacity

    Other browsers support more than just the .ico file but .pgn or .gif too.

    What Jeff Davis

    {The first is to put a file in the root of your domain called favicon.ico.  The second is to use a <link> tag with the rel="shortcut icon" value

    2007/03/01/why-doesn-t-the-favicon-for-my-site-appear-in-ie7.aspx}

    recommend is not web standards compliant. rel="shortcut icon" is not conformant (although valid) to HTML 4.01 spec.

    Therefore, Microsoft and IE dev. team has to proceed from this and assume the issues accordingly, from a web standards perspective.

    Regards, Gérard

  186. Anonymous says:

    The standards bodies came along years AFTER the Internet Explorer team created the FavIcon feature, AFTER it was broadly used by lots of sites, and THEN wrote a new specification for how THEY thought it OUGHT to work.  Of course, this was different than the actual implementations in the REAL world.

    It’s not clear WHY they felt that doing this was a good use of their time, but hey, who is anyone to question the STANDARDS??!?  Not you or I, for sure.  😛

  187. Anonymous says:

    This seemed a fitting place to make this wonderful announcement.

    See the list w/ babyfaced Mr. Gates on it here:

    antiaging4geeks.com

    Just scroll down the page a bit.

    Peter J. Lupo Esq.

    antiaging4geeks.com

  188. Anonymous says:

    Andrew Cook,

    There are lots of examples where sometimes W3C web standards have favored Microsoft IE (e.g. <div>, overflow-x, overflow-y, etc) and some other times the W3C web standards have NOT favored Microsoft IE. There is no benefit to gain from discussing all this. Microsoft has had a chair or lots of space/opportunity to talk on any/all spec working group in the last 12-15 years on W3C.

    The bottom line is still the same for Microsoft IE (and any other browser manufacturers): proceed from the bugs, deal with W3C web standards issues and assume your (countlessly repeated!) claims (since 1998) to support and to continue/pursue to comply and to support W3C web standards.  

    Gérard

  189. Anonymous says:

    On the IE blog , Eric Lawrence presented the User-Agent string for the beta version of Internet Explorer

  190. Anonymous says:

    Grow up and support proper standards without the pansy meta crap

  191. Anonymous says:

    The excuse for a meta tag enabling the super standard mode is not breaking the web. Yet the new user agent string will still break some sites. So you have the worst of two worlds: angry developpers as shown by numerous comments on this blog AND some broken sites

    The obvious solution to overcome these two problems simultaneouly is to link the user agent string send by IE 8 to its rendering mode:

    – if UA is "MSIE 7.0" then rendering mode is classic IE 7 => no broken site

    – if UA is "MSIE 8.0" then rendering mode is super standard => no meta tag

    There still is the debate on which rendering mode is the defaut but with less heat as:

    – current mode is controlled from the client (and not from the site)

    – the option to switch between the two modes should be immediately accessible

    Personnally, as a web surfer, I would use IE 8.0 mode and whenever I reach a broken site I would temporarily switch to IE 7.0 mode.

    Thierry

  192. Anonymous says:

    You’ve just ADMITTED that even WITH super standards mode as an opt-in, IE8 will STILL cause site breakage.

    The question remains: are you incompetent, or do you just hate developers?

  193. Anonymous says:

    @EricLaw

    "Alan, posting on the IE blog is a privilege I enjoy; I just wish I had more time to do it."

    Yes, my responsibility with family members also makes it hard to spend more time at my favorite passion CSS.

    "Vis-a-vis the FavIcon issue"

    Fair enough but if I had one site in the root directory with a favicon and another small site in a higher directory. This site is also going to show the favicon but this is of small matter to me so no more said.

    "Vis-a-vis the "Report IE7 User-Agent" option, I somehow doubt that anyone else on the IE team is going to try to tell me how my feature works.  🙂  If you examine your logs from this morning, you’ll find that your site was hit by "MSIE 12.0" running on "Windows NT 9.1""

    Wow..,  are they in alpha already, the UA an OS. 🙂

    From today I have stopped my reverse testing for IE8. This file is not linked to from anywhere on my site.

    http://css-class.com/cssscript/images.css

    BTW, the world paid a visit yesterday with that nested IE6 UA string. I though it had been very quiet day until I search for the nested string. The only mistake (or was that on purpose) was to leave the nested string attached for a similar UA string but with a different IP address which allowed me to linked to many different IP addresses over a 2 hour period. Now that you have had the guided tour of my site (if you were present) you may now know what my site is all about and know other browser are far more standard compliant than IE7 and that IE7 is far superior to IE6. The removal of hasLayout from IE8 is welcoming. I was hoping for the best for IE8 but now I have concerns.

    "… You can either believe your web logs, or believe me that the User-Agent string can be spoofed."

    Of course they can be spoofed, I never said that they couldn’t, but only IE8 will download a file that is within conditional comments targeting greater than IE7. Can this be spoofed? Anyhow, I know by other means when IE team members have visited with IE8 which I will not declare publicly.

    <<I make a conclusion from my stats that there are bugs in IE8 in "standard" mode.>>

    "That’s one possible conclusion.  The other possible conclusion is that the hits are not coming from IE at all, as noted previously."

    Since we can only dispels fact from rumor with the real McCoy, I will be welcoming IE8 beta testing soon.

  194. Anonymous says:

    @Webdesign

    It’s considered customary to put that kind of thing in quotes and post a response. Unless you felt I captured your reaction to this post perfectly and just wanted it said again.

  195. Anonymous says:

    "If you do have to offer different content to different versions of the browser due to improved capabilities, you should ensure that future versions of the browser are not blocked."

    Gotta love that one after the whole v.targeting fiasco… IE team seems to be schizophrenic…

  196. Anonymous says:

    Hey guys, keep up the good work on IE. Hopefully you can manage to have a good conversation with reasonable developers while ignoring those folks who have their whole self image tied up in hating Microsoft and all things that come from it.

  197. Anonymous says:

    With Neelie Kroes looking over their shoulders and the entreaties of Web developers ringing in their ears Microsoft is promising that the default mode for Internet Explorer 8 will follow the latest Web standards: Consistent with its efforts to promot..

  198. Anonymous says:

    You tout a beta browser for web developers, but it seems you’ve completely missed the mark completely on what it means to release a new browser for developers. IE should NOT be tied to the OS and should easily run as a stand-alone against IE7 and others, it would help it stand apart. Isn’t that what you’re going for? Why make this so difficult? You’re Microsoft, ruler of the closed-source world. It shouldn’t be hard to do this!

    Release IE8 as a standalone, or stand back and stay out of my way!

    "It’s just another case of history repeating."

  199. Anonymous says:

    @John: Yes, unfortunately you need to use the "Emulate IE7" button for now.  The WindowsUpdate team is working on fixing that.

  200. Anonymous says:

    As announced in February 2008 , Internet Explorer 8 sends an updated user-agent string when interacting

  201. Anonymous says:

    Обновленная cтрока User-Agent в Internet Explorer 8 Как уже сообщалось в феврале прошлого года , при

  202. Anonymous says:

    2008 년 2 월에 말했던 (영어) 것처럼, Internet Explorer 8 은 웹 서버와 상호작용할 때, 업데이트된 User-Agent 문자열을 발송합니다. User-Agent