IE7 and standards compliance - Microsoft's Chris Wilson charts progress

IE7 and standards compliance - Microsoft's Chris Wilson charts progress

Summary: Yesterday I interviewed Microsoft's Chris Wilson, the Group Program Manager for IE, to address the issue of whether Microsoft's latest web browser IE7 is - and will be - CSS and Web standards compliant. This was a controversial topic last week, when a Slashdot thread claimed that IE7 was basically non-compliant with CSS standards.

TOPICS: Browser

Yesterday I interviewed Microsoft's Chris Wilson, the Group Program Manager for IE, to address the issue of whether Microsoft's latest web browser IE7 is - and will be - CSS and Web standards compliant. This was a controversial topic last week, when a Slashdot thread claimed that IE7 was basically non-compliant with CSS standards. I repeated those claims on my ZDNet blog - in retrospect a little hastily. Chris Wilson responded to the Slashdot thread in his blog, noting among other things that it was based on an article Paul Thurrott wrote in August 2005.

So to clarify the CSS and standards support of IE7, Chris Wilson agreed to discuss this issue with me over the phone. This post is a transcription of the main parts of our conversation.

Richard: Where is IE7 at in terms of CSS compliance - and where it is heading?

Chris: Well as you saw I got a little frustrated with the Slashdot post. But aside from the issue "Standards improvements [...] was really the largest focus of our platform work overall." of Paul Thurrott's old post getting picked up and people hadn't seen his newer ones - which have actually said in essence that he thinks we're going in the right direction. When he wrote that original post, we had just released IE7 Beta 1 and we had few of these platform changes in IE7 Beta 1. I think we did transparent PNG images, but that was really the only thing that we changed in the platform - we'd done a bunch of user experience stuff. But one of the things that pushed my buttons was that we'd done quite a bit of work in the standards improvement in our platform. In fact really our platform, other than doing security work and some supporting work for user experience (things like improving our printing support and implementing the zoom feature), we really only did standards improvements - particularly CSS and HTML improvements. That was really the largest focus of our platform work overall. And I think that not adding any proprietary features in was probably something that was a little different from our previous releases. But we certainly spent a bunch of work trying to improve our standards support.

One of the things I said in my post is that I think it's very difficult, if not impossible, to have an analysis of exactly where we are as a number with supporting or complying with CSS - given that there isn't an official test suite that exhaustively tests whether you comply with the standard or not. And any analysis you can do is going to be somewhat biased.

I think that we really have made some great improvements "There were a ton of bugs from IE6 that were causing web developers a lot of pain - and we really wanted to nail those and the most requested features upfront." in our standards support in IE7. The target for that was not just passing any one particular test. For example Paul Thurrott's old post talked about when I said on the IE Blog that in IE7 we were not going to pass the Acid2 test that The Web Standards Project did. [That] was largely because although it's a great set of things to be testing, some of the features on that list weren't going to go to the top of our list. We're trying to improve the world for web developers and when we looked at what people were saying they wanted us to do, there were a ton of bugs that were causing web developers a lot of pain, from IE6 - and we really wanted to nail those and the most requested features upfront. And I'm actually really proud and very pleased with what we've managed to get accomplished in IE7. It's actually a little more than I expected when we set out to do this. But having said that, I do have to say we've got a lot more work to do after that. We've been plotting out the next couple of releases of IE - and I certainly don't think that we're done with improving web standards support at all.

Richard: You're now at IE7 Beta 3, so in terms of CSS compliance where is IE7 Beta 3... where would you put your progress at so far? About halfway where you want it to be, or three quarters of the way there?

Chris: Tough question, in terms of stating that we really do fully support the CSS 2.1 spec, it's hard to tell because there is a bias to any analysis. We're certainly somewhere between those two... I don't think we're at 90%, I think we're above 50% though - and again, it really depends on how you end up weighing things. The problem is, if I gave any number I'd really want to support how I came up with that number - and I don't have a great way to do that today.

Richard: The goal with IE7 obviously is to fix a lot of the CSS rendering bugs that afflict IE6 and some of those earlier browsers - so I guess the question is when do you think IE7 will take over the IE6 browser as the most popular IE version - because currently web designers still have to code for IE6 (if they're after a mainstream audience).

Chris: Bear in mind that anything I say here is completely crystal ball predictions... but when The automatic updates feature will increase the adoption rate you look at past adoption of releases of IE, it's been relatively slow to take over. I think the announcement we made a month or so ago that IE7 is going to be an important update in the automatic updates feature. This means it'll actually show up for everyone's [Windows] computer. It won't automatically install behind the scenes or anything, because it is going to change your user experience of the Internet quite a bit. But my mother's machine is going to be automatically updated - it's going to pop up with a dialog that says 'hey, there's a new version of IE - do you want to install this?'. And that's different from the past. I think that's going to increase the adoption rate quite a bit. There are certainly still users out there with systems that we don't support with IE7 and that's going to be a bit of a problem. But in reality I think those segments are going to be smaller and smaller over time also.

Richard: Leading on from that question is the issue of backwards compatibility for IE7, which is obviously a big issue for Microsoft. So in terms of supporting both web standards that the W3C puts out out and also supporting the behavior of IE6 and older IE browsers... how much of a challenge is that for you and do you think you'll be able to juggle those - in some ways competing - issues?

Chris: I think backwards compatibility has always been a big challenge for us and certainly today it's a huge challenge. Particularly for IE, as we have a lot of what I'd term 'non-enthusiast users' - my mother is always my canonical example here. And for my mother, if I automatically upgrade her machine [its IE browser] and suddenly one of her sites breaks or looks a little funny, she's going to be upset about that. On the other hand if she were to install an alternative browser, and it looks different in that browser - she could probably understand why that would happen, because it's a completely different product. 

Plus a lot of sites tend to break things down by different browser and give different style sheets, or have different scripts that address those. There are a lot of problems we've tried to work around. Certainly the Quirks mode vs Standards mode switch that we have (and have had since IE6) helps us a lot in that... although we're starting to see a lot more of the top sites actually are in strict standards compliance mode, they actually have a doc type and we understand it and everything. And that makes it even more challenging, because of course those are the most important sites to make sure that you're getting right.

Richard: One of the comments in the Slashdot thread said that backwards compatibility "is pretty important to Microsoft, which is why they are still using their older rendering engine instead of replacing it with something better. They can't make big changes because they are afraid they'll break things."

Is that basically the situation, that you can't create a new rendering engine because it'll break previous IE browser versions?

Chris: I don't actually think it's true that we can't create a new rendering engine. There are a couple of responses I'd make to that. One is that although it certainly "The rendering [of Trident] and the layout is something that we'll continue to iterate on." has a set of bugs in it as well, there are a lot of things that our rendering engine does quite well. In fact does extremely well. One thing that the Trident engine that underlies Internet Explorer has had for many releases is editing support. A number of products have been built on top of this editing support in the past and it's quite a strong piece of our underlying infrastructure. The rendering itself, and the layout itself, is something that we'll continue to iterate on. And it's possible that we'll replace it with a different engine even, at that level, although that's not replacing the entire dynamic HTML engine - it's replacing just a piece of it. The hard part is that the baseline for what you need to support for that rendering engine is actually quite large. It's clear just from how long it took the Mozilla guys to build up their Gecko engine - that wasn't something that they did in a year or two years. I think it took them 5 years before they actually did a first release of the Gecko engine in the key Web browsers. It's one of the things that dragged out the Netscape 4 adoption for a long time.

Richard: To clarify then, you're saying that with IE7 you're hoping to support as many of the CSS Web standards as possible, while also having that backwards compatibility. That's your vision for IE7, to definitely support Web standards?

Chris: Absolutely, in IE7 we really are trying to "In IE7 we really are trying to support Web standards. Even at the expense of more backwards compatibility..." support Web standards. Even really at the expense of more backwards compatibility than we've ever done in the past. But backwards compatibility is still pretty critical for us, because of our user base. One of the things that we've been doing for some time now has been approaching a lot of the web development community and in particular site authors directly even, and saying: we found that there's a problem with your web site when you use IE7, and it's because of a standards improvement that we've done - here are the details of it. Also here's a set of tools that you can go and analyze your site with and figure out what sort of CSS hacks, and that sort of thing, you're using to work around IE6 problems from before. And then you'll know how to fix them to work with IE7 and its better standards compliance.

That wraps up the interview in terms of CSS and standards compliance. I also discussed with Chris the future of IE and browsers in general, similar to my interview with Flock's Geoffrey Arone, but I'll post that another time.

Topic: Browser

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Slashdot is about zealots

    Slashdot made a horrible mistake reposting a year old article by Paul Thurrot. If I'm not mistaken, slashdot did a post on Paul's article when it first came out.

    The only thing the repost did was cause a lot of confusion. Many of the zealots who read the repost on Paul's article took it as the gospel and didn't even pay attention to its publish date. And then those zealots went out and preached the word to anyone who would listen.

    I hope people recognize slashdot for what it is: a pathetic-15-year-old-but-I'm-a-rockstar-programmer-no-I-really-am playground.

    • And there aren't any at ZDNet?

      tic swayback
      • and there aren't any at ZDNet?

        That's really not the point now is it?
        • Isn't it?

          Do you think the commentators (both with their own columns and in the Talkbacks) at ZDNet are any more authoritative than they are at Slashdot? At least Slashdot has a moderation system where crap and flamebait gets weeded out.
          tic swayback
    • question

      Do you know anything at all about software development or are
      you just the weblog equivalent of a loud-mouthed fool? I am not
      going to try to reply to you intelligently because you obviously are
      not deserving of that. Please do not post messages about subjects
      that you obviously know little about. If you are a developer you
      probably are not a very good one.
    • obviously

      Obviously, you not a programmer or a developer. If you were you would appreciate why standards are important. Does not matter if the standards are implentations of dialects of C++ or CSS. If something is not compliant it means that every time you write something you have to write it again and over and over, just to get it to work on another platform. It is not efficient and adds an overhead that should not be needed.

      But then again, maybe you do like re-inventing the wheel, over and over.
  • Maybe you should have a look at this
    • a few questions.....

      1. It doesnt mention anywhere in the page what version of IE7 its using for testing. If you know where it is can you link it?

      2. Most of the Failures of IE7 are because it didn't fail because of an Illegal Value, if the browser doesn't fail because of junk coding isn't that kinda of desirable? I didn't see a whole lot of rendering issues like with the FF changelogs.

      - Sam
      • Re: a few questions.....

        Hi, I'm the author of this standards support resource.

        1. If you look around the site a little (specifically the weblog or message forums), you'll see that I initially began the testing with the MIX06 build, which was the first build that was labeled "layout complete" meaning the believed they were done with layout engine development. Beta 3 introduced a few additional changes and I updated the tables accordingly.

        2. The CSS standard has very specific rules about parsing and error handling. On illegal values, aside from vendor-specific properties and property values which begin with an underscore ("_") or hyphen ("-"), a browser must behave as though the property declaration didn't exist. This is so future versions of CSS can continue adding features without conflicts with older user agents. The Internet Explorer development team recognizes this and has vowed to use only the standardized naming conventions for any future vendor-specific feature additions, and IE7 introduces some changes specifically to cause the browser to fail on certain illegal syntax.

        And no, that isn't the source of "most of the failures". The problem exists with just about every property, but a majority of the problems are more than simple parsing bugs.
        • thanks for the reply...

          Im a little confused...

          Are you saying the parsing "bugs" are supposed to be fixed before RTM?

          I just figured MS did that because from what i have heard, and i am NOT any type of web developer, IE renders poor code rather well, one of its strengths.

          - Sam
          • ???

            It renders poor code well and correct code poorly. I have been a
            web site infrastructure manager for the last 7 years; IE is in a
            world of it's own and unfortunately it is the market leading
            browser. I personally believe that Microsoft cleverly leveraged
            this during the .com boom. There were a lot of programmers
            with little training who did things like not close tags properly out
            of laziness...Microsoft realized that if they made their browser
            work for lazy developers they could win on two fronts: 1)Lazy
            developers would not develop for other browsers because more
            work was needed by learning how to write correct code; 2) Users
            would blame the problems they experienced on the browser and
            not on the site when they were using competing products. In
            the end Microsoft won.

            Just my opinion...sorry that it is wordy.
          • Unfortunately you are preaching to the

            lazy coders on this forum so they won't appreciate what you are saying.
  • Spun Spun Spun

    The one thing I got out of this: somebody at Microsoft noticed that CSS2 compliance is an issue for consumers. Good. Sharing the blah blah blah with the trade press is the first easy step. Here's to hoping that Microsoft understands standards are a customer service issue and moves on to fix the thing.

    Paraphrasing: well it's not as bad as 50% and not as good as 90% and there's no real test any way. Gak. And a couple hundred of words slamming Slashdot when the question was how good is IE7 at CSS2 compliance. I suppose throwing flames while wandering in a fog is one approach to product management and I'll be looking forward to the case study in a business review.
  • Here's a test suite, right from w3c

    I doubt their test would be "biased" since they are the ones who wrote the standard.

    Also, the acid test is a pretty standard check too.

    from ie7's last rendering (, this might be a good one to check out.
    • IE7 screenshot is from beta 1

      The screenshot of IE7 that you link to is from IE7 beta 1. As Chris Wilson said in the interview, beta 1 didn't contain many layout/rendering changes: transparent PNG was about it. Look for a screenshot from beta 3, for example. (Not that it'll necessarily be different: it just won't be one year old like your screenshot.)
      • IE B3

        looks pretty much the same as IEB1. Pretty sucky. But FF looks like crap too and Opera's busted on my machine so i cant tell.

        - Sam
  • display:table-cell

    Nuff said.
  • So 3 different ways...

    ... of working: IE6, IE7, and the anti-Microsoft approach used by a small minority of browsers. That's going to require effort.

    Perhaps the anti-Microsoft groups will allow for Microsoft's approaches at some point in the future. Standardization would be worthwhile, but to some opposition to Microsoft is more important than setting universal standards.

    From the statements quoted, Microsoft appears to have moved some distance to accommodate those who would prefer to ignore what the company is doing. I would be glad to be wrong, and observe a cooperative effort to set standards.
    Anton Philidor
    • How would you do that?

      ---Perhaps the anti-Microsoft groups will allow for Microsoft's approaches at some point in the future---

      How would that be possible? Has MS documented their standards? Would they be willing to allow others to use them royalty and restriction free? I thought the whole point of MS' proprietary standards was to lock people in to MS' browser (and OS). Wouldn't letting everyone use them be counterproductive to MS' aims?
      tic swayback
      • Microsoft has encouraged...

        ... people to use IE capabilities. John Carroll has done a number of posts on the theme of Why won't they do what IE makes possible(?).

        Using the unique capabilities of IE would create lock-in, but another description of this type of lock-in is using the best for the purpose.

        But if the anti-Microsoft group softened its opposition and included the Microsoft capabilities, then the acolytes creating other browsers would use those Microsoft capabilities. And then the lock-in to IE would end, no?!
        Anton Philidor