Anne van Kesteren

IE8: The Bad

There are quite a few good things about the Microsoft release, such as showing that HTML5 is looked at, Acid2 is (almost) being passed, and CSS support is improving, but there are quite a few evil things as well:

This seems bad.

This is aside from all the quirks Internet Explorer already has and from the lock-in versioning they are introducing.

Communication with the Web developer crowd seems to be improving. Hopefully they’ll soon apply these new skills elsewhere.

Comments

  1. I have noticed a really large downfall in performance. Sure it's a beta version and has a lot of debugging still in it but none the less it worries me.

    They do seem to have cleaned up some quirks but other pages which render well in IE7/Gecko/WebKit don't render as well in IE8 beta 1. It might be a bit soon to jump to conclusion but I am going to look into it in greater detail.

    Posted by Simon Rivada at

  2. Regarding They have introduced a new way to trigger standards mode that is not compatible with any other browser.... using a Microsoft specific meta element.

    They recently reversed their decision, and said by default IE8 will render in standards mode. To get IE7 mode, you need that meta...

    http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx

    Else, interesting post.

    Posted by Anup at

  3. Anup, sure, I read that (as seen elsewhere on my blog), but the point is that a document without a DOCTYPE can trigger standards mode in Internet Explorer. That is not possible in any other browser.

    Posted by Anne van Kesteren at

  4. Hi Anne,

    "They introduced even more incompatible text/html parsing rules when compared to other browsers and HTML5"

    Wasn't HTML5 supposed to prevent this, by defining how to recover parsing errors ? But this proves one implementer can still do whatever he wants.

    So is it worth spending time to develop an error recoverable format ? Why not stick to strict specs like xhtml, which are easier to implement ?

    Posted by David at

  5. So is it worth spending time to develop an error recoverable format ? Why not stick to strict specs like xhtml, which are easier to implement ?

    HTML is here, will always be, and it's advantageous to have its error recovery specified so that it may be interoperable. It's really that simple.

    Posted by J. King at

  6. Thanks for responding on the HTML5 working group and the IE8 release. I wondered if this was a unilateral move on MS part. (Silly question, of course it was.)

    "So is it worth spending time to develop an error recoverable format ? Why not stick to strict specs like xhtml, which are easier to implement ?"

    Amen.

    Posted by Shelley at

  7. Let's try to keep a good face on this - it is a Beta and that means they are open to feedback. Unfortunately it has to be through official channels. So if you care strongly about the web, I suggest you sign up to be one of their testers and then start filing bugs. I did yesterday (no word from them yet).

    Posted by Jeff Schiller at

  8. Jeff, beta typically means the architecture and functionality is set, but bugs are being fixed. Unless MS is redefining what beta means, too.

    As for signing up to test, we have to go through an "approval" process before filing bugs. I assume some of us would not be welcome testers,

    Posted by Shelley at

  9. PS And Anne, I, and others are providing feedback...in our own way. In a way that should be welcomed by all software vendors. Too bad if the IE team wants to plug its ears and hum.

    Posted by Shelley at

  10. "Too bad if the IE team wants to plug its ears and hum"

    It may make you feel better to say this, but if it doesn't fix the browser, then ultimately nobody wins...

    Posted by Jeff Schiller at

  11. Jeff, do you really think you'll have that much influence as a tester? If you do, more power to you. In the meantime, you'll have to excuse me if I express my opinion freely, without fear of offending the MS powers that be.

    Posted by Shelley at

  12. Shelley, do not infer by my attitude that I'm afraid of offending MS. I'm not saying "don't complain on your blog". That serves a purpose to the larger community outside of Microsoft. However, I'm concerned that if nobody in the "standards" camp is willing to work within Microsoft's (horrid) closed feedback system, then nothing will get changed.

    Posted by Jeff Schiller at

  13. So is it worth spending time to develop an error recoverable format ? Why not stick to strict specs like xhtml, which are easier to implement ?

    You can still break the defined error handling on XML. Almost everything does.

    Posted by Geoffrey Sneddon at

  14. "However, I'm concerned that if nobody in the "standards" camp is willing to work within Microsoft's (horrid) closed feedback system, then nothing will get changed."

    Anne served on standards committees with Microsoft, and from what he wrote today, we can see how much credence MS gives to the standards community.

    Though not for me, not after yesterday, I think it's commendable what you're doing Jeff. I hope they're intelligent enough to pick you.

    Posted by Shelley at

  15. Some of this sounds scary.

    Posted by Devon Young at

  16. Jeff, how exactly do you go about entering that feedback system? Does it work if you work for a competitor?

    As for HTML versus XHTML simplicity I’d like to point out that the parser is one of the more trivial parts of every browser and that writing an XML parser is about as complex as writing one for HTML (if not more complex). I’ve done both.

    Posted by Anne van Kesteren at

  17. With the IE8 release, my course home page now displays correctly. This is all I have ever hoped for by coding to standards - that as each browser revs a version the display will get closer to the design intent.

    Oddly enough, I have the luxury of being able to ignore whether the page displays exactly as designed in browser x, y, or z, and thus I am always pleasantly surprised when a browser eventually does render a page according to the design. Kudos to those inside MS who have improved IE8's ability to render CSS driven pages. I have always felt they are lone warriors against a "not invented here" culture.

    Maybe one day IE8 will be able render pages such as my home page in svg. Count me IE8-not-so-bad; Opera and FireFox 3 wonderful.

    Posted by Dana Lee Ling at

  18. Jeff, how exactly do you go about entering that feedback system?

    If you want to request being added to the IE Technical Beta, you can send email to: IESO@microsoft.com, Subject: Apply for IE Tech Beta, and tell us why you are a great beta tester. There is a limit to the number of people we will add, so if you don’t make it in, please follow our guidelines above when you encounter issues.

    While I'm here: your list of allowed elements might be more helpful in alphabetical order. The fact you have one and the fact it's accurate are 2 of the things I like about commenting here. :)

    Posted by Ben 'Cerbera' Millard at

  19. @Anne

    "Anup, sure, I read that (as seen elsewhere on my blog), but the point is that a document without a doctype can trigger standards mode in Internet Explorer. That is not possible in any other browser."

    Anne this is not correct, test for yourself by removing the doctype on any page and view in IE8. It will go into quirks mode.

    BTW, When trying to use a blockquote in my reply I kept on getting this error. Element BLOCKQUOTE may not contain raw character data (line 4). Where above where I have quoted you is there raw data? :-)

    Posted by Alan Gresley at

  20. BTW, When trying to use a blockquote in my reply I kept on getting this error. Element BLOCKQUOTE may not contain raw character data (line 4).

    Blockquotes can only contain other block-level elements.

    Posted by Hemebond at

  21. Alan, what you say is true, but it stops being true once you use <meta http-equiv="x-ua-compatible" content="ie=8"> or the equivalent HTTP header.

    Posted by Anne van Kesteren at

  22. "writing an XML parser is about as complex as writing one for HTML"

    Really ? Interesting. I'd really thought otherwise. Ok then, it answers my question.

    About the <meta> switch, this damn thing really evil.

    Posted by David at

  23. "meta Switch: They have introduced a new way to trigger standards mode that is not compatible with any other browser. In Internet Explorer 8 you can trigger standards mode using a Microsoft specific meta element. All other browsers will render the page in quirks mode. Creating such differences is bad for the Web."

    What is bad about this? No pages on the current web have an IE=8 meta tag, and now that standards mode is on by default, I don't think we will be seeing any pages with this (until IE9 is released). The only thing we will see is IE=7 for those wanting to opt-out of standards mode.

    If you think it's bad, then simply don't use the meta tag. No one is forcing anyone to use it. If an author chooses to use an IE=8 tag on a quirks mode page, then that is their (strange) choice.

    "...more incompatible namespace syntax is introduced."

    As far as I've seen, all they're doing is allowing binary behaviors linked to custom elements WITHOUT having to use the OBJECT tag to pull in the behavior implementation. It's simplifying the status quo, and should help people who use e.g. MathPlayer on their pages.

    I still don't get why the HTML5 folk are so against supporting namespaced custom elements in HTML pages. IE's been doing it successfully since what, 1998?

    I think it would be more important for HTML5 to include an extensibility mechanism (namespaces) than trying to include everything plus the kitchen sink all in one spec. Video tag? IE's had this since 1999 through the HTML+TIME (SMIL) t:video tag. HTML5 would be much more successful if the "core" parts (resolving current ambiguity, error handling, extensibility mechanism) were separated out from the slew of "new features". Could you imagine if CSS3 were one big spec instead of modularized?

    Posted by hoopskier at

  24. writing an XML parser is about as complex as writing one for HTML (if not more complex).

    Well, to be precise, this is true of an XML+Namespaces parser. A plain XML parser is much simpler. Of course, that’s a moot point.

    Posted by Aristotle Pagaltzis at

  25. hoopskier, it’s bad because it could force other browsers into reverse engineering the feature. Most authors don’t make conscious decisions about these things, they copy and paste. As for CSS3, you’re not calling that successful are you?

    Aristotle, actually, I found the complexity of XML to be mostly in internal subset processing. Not so much in namespaces.

    Posted by Anne van Kesteren at

  26. Microsoft cannot be unequivocally accused of not conforming to a standard that is not finished.

    The key is to get the standards up to speed with not only the web's frequently changing nature, but with the commercial needs of those who are expected to implement a standards-based web.

    Where are the forward time lines? Why doesn't the W3C say look, we'll have x specification finished and approved by x date every year?

    If the standards are too complex and involve too much time to approve, then break them down. Why not version 2.2 of CSS, for example?

    Make it easy for vendors to be standards compliant with minor but frequent versions of standards. Monthly at least.

    Then if a vendor releases a browser during month x of the year y, when relevant minor revisions are expected, then they can be shamed if they do not meet that deadline.

    A perfect case is CSS. Neither Mozilla nor Microsoft have a full implementation of CSS3 ready for their next releases. Yet how long has the standard been around? So immediately we realise this is not a Microsoft-only issue. The Microsoft bashing becomes irrelevant. Why haven't vendors implemented what the likes of jQuery have implemented in JavaScript alone? That is the question.

    Speaking of jQuery, Mr Resig and his team have seemingly ripped out many of their CSS3 selector support because, wait for it, the selectors were never used!

    Don't expect vendors to support standards when those standards are irrelevant.

    Let's stop blaming a single vendor when no one vendor is perfect.

    Let's stop blaming a single vendor when clearly the standards process/body is hardly exempt from blame and may in fact be the entire problem.

    Open up everything about the W3C. No more deciding the future of the world's web cerfing, and dictating painful scenarios for developers, behind closed doors. The W3C is a scam in terms of it's private operations and merit/cashocracy membership. Fix that. Get everyday developers more involved in the process of developing standards and it will become more realistic.

    Microsoft have apparently done a great job in catching up with the standards that are rock-solid like CSS 2.1 and they've made a very brave decision - whatever the reasons - to 'break the web' in order to make it better. Microsoft should be congratulated instead of being chastised for not implementing half-arsed (incomplete) standards.

    Posted by pd at

  27. They haven't fixed problems that have been outstanding for years so what exactly would we be contributing if we went through their crappy feedback system.

    Its all an exercise in seeing how much they can get away with without offending the community...it just looks like they are being open when really its just some silly futile exercise in public relations.

    Why try and educate a company that is blatantly trying to scupper all standards processes to their own ends??

    I'll do what I have always had to do...and will be doing for the rest of my days...code round it with pointless hacks that we have always been forced to do anyway. Accept that fact that standards are never quite standard and build around them instead of waiting for some greedy corporation to get down on one knee and fix their BS browser!??!?

    Posted by Colin Saxton at

  28. pd, check your facts. The W3C HTML WG is a public group and all its proceedings are in public and everyone who wants can join. In fact, it has over 500 members, including many Web developers and designers.

    Posted by Anne van Kesteren at

  29. Microsoft have apparently done a great job in catching up with the standards that are rock-solid like CSS 2.1 and they've made a very brave decision - whatever the reasons - to 'break the web' in order to make it better. Microsoft should be congratulated instead of being chastised for not implementing half-arsed (incomplete) standards.

    In a word - thats nonsense - Microsoft select standards for ignoring that cause the most problems when developing web sites...for example...when are they going to implement the caching directives correctly...you can't implement content negotiation the standard way because of IE!? Why do you think that IE always shows up as the most used browser on the net...mainly because it makes pointless call backs to the originating servers because they choose to cache content incorrectly...this pumps up their scores and inflates the true number of users.

    I cant believe that you are commending Microsoft for ignoring standards! Thats just plain stupid. Microsoft still haven't (or won't) fix glaring standards problems that have been known for quite some time so do you think they are going to change if you simplify the standards process? In your own words they follow standards in an half-arsed fashion because they can get away with their monopolistic manipulation of the IT desktop.

    Posted by Colin Saxton at

  30. pd, check your facts. The W3C HTML WG is a public group and all its proceedings are in public and everyone who wants can join. In fact, it has over 500 members, including many Web developers and designers.

    ...although the jury is still out whether or not the W3C HTML WG can actually effect any change to the Draft spec, or if it still remains the slightly more closed IRC channel Hixie fan club. When an existing W3C Formats and Protocols Working Group (Web Accessibility) issues a specific comment prior to the release of a Draft (regarding @headers - http://tinyurl.com/ynnpp9 [June 2007]), and that comment is explicitly ignored in the first draft... well, it does give cause to wonder...

    Posted by John Foliot at

  31. John, there are several thousands of outstanding comments that need to be addressed, which all have been ignored when publishing the Working Draft. It would be fair to complain if this happened when the Working Group published a Last Call Working Draft as that is an indication that all outstanding feedback has been addressed.

    Posted by Anne van Kesteren at

  32. Anne, could Opera not raise these issues with the European Commission competition body? Perhaps they could bring some official pressure to bear at a higher level that might make MS think twice about proprietary stuff like XDomainRequest.

    Posted by Jon at

  33. Perhaps they could bring some official pressure to bear at a higher level that might make MS think twice about proprietary stuff like XDomainRequest.

    Welcome to Animal Farm.

    Innovation has never come from a bureau. Bureaucracy is antithetical to innovation. What's more, it's bloody fascist. God forfend the day when every independent entity has to check with some overweening bureaucracy before they try something. Anyone who makes any claim to respecting liberty and then endorses this kind of nonsense should feel a considerable amount of shame for their hypocrisy and embrace of tyranny.

    Posted by Publius at