Ask the browser makers – PEte LePage from the Internet Explorer team
In the first of what we hope will be a new, occasional series at Web Directions, we speak with PEte LePage Product Manager, Internet Explorer, Developer Division about their goals with IE8, compatibility mode, with IE7 emulation in IE8 is identical to IE7 and more about the browser. Thanks to PEte for his detailed responses.
1. In our recent “state of the web” survey of developers, back in December 08, while about 90% of developers say they test their sites in IE7, and even close to 80% said IE6, only about 30% say they test their sites in IE8. With the looming release of IE8, this came as something of a surprise to us. Does it surprise you?
In December, Beta 2 had been out for a few months, and I think developers still expected churn in the browser, so they didn’t feel the need to test in IE8. At that time, the vast majority of folks who were running IE8 as their primary browser were people who like to live on the cutting edge, so they expected any issues that happened. Now that Internet Explorer 8 has been released to the web, and will soon begin distribution via Automatic Updates and Windows Updates, we expect (and hope) that developers will begin regularly testing their sites in IE8.
2. Why do you think it might be that developers aren’t testing. Is it that they think “it works fine in IE7, so it will be fine in IE8”? Are there challenges (or perceptions of difficulties) for developers in installing and testing with multiple versions of IE? Or is there some other reason do you think?
I believe the main reason people weren’t testing was because IE8 hasn’t released its RC yet, and people wanted to be sure they were testing with near final bits. We’ve done a lot to try to alleviate the problem of testing multiple versions of Internet Explorer on the same machine, for example, once you’ve installed IE8, you can test you site pretty reliably in IE8 mode, and IE7 mode. The Expression Web team has also just shipped a new tool called Super Preview that lets you see how a page would be rendered by IE6, IE7 and IE8. And of course, we still make the Virtual PC images available, so you can test your pages in a true IE6, IE7 or IE8 environment.
3. What are some key areas you recommend developers focus on when testing their sites in IE8 – have there been particular gotchas showing up in your own testing, and reports from developers to you? What things have you fixed that developers have previously relied on being broken (as part of various hacks and so on)? If developers have limited time, and resources, where should they be focussing their compatibility efforts?
When developers are testing their sites in Internet Explorer 8, they should focus their efforts on layout and rendering. Internet Explorer 8 ships with a new layout engine that we wrote from scratch, and we spent a lot of time making sure that it rendered according to the W3C CSS 2.1 spec. That means that in some cases, where we didn’t accurately follow the spec before, we do now, and that may cause some problems. If developers have limited time, they have a couple of options available to them. First, they should look at their site in IE8, for the most part, sites will just work. If there are some oddities, there are a couple of things that they can try. If the send different CSS or HTML to Firefox vs. IE, they should try sending the Firefox content to IE8 and see if that works. Another option that they have available, if they don’t have the time to fix their site, they can use the X-UA-Compatible switch to force Internet Explorer 8 to use the IE7 rendering engine.
4. At a glance, the various quirks and compatibility modes in IE8 (and of course other browsers) can be quite daunting for developers (outside the “always up to date” developers in my experience, the whole concept gets a bit of a “huh” from a lot of workaday developers I speak with). Is there a good one pager out there to help folks understand the compatibility matrix, in particular, the new meta element approach to compatibility?
The best place for developers to get information about compatibility and all the different modes is on the Compatibility Center at http://msdn.com/iecompat For developers, the important thing to understand is that Internet Explorer 8 ships with two rendering engines side by side; the IE7 engine and the new IE8, more standards compliant engine, which is used by default. Developers can explicitly choose which engine they want IE to use (quirks, IE7 or IE8) by using the X-UA-Compatible tag. If a developer has a site, or set of pages that don’t render well in IE8, and they either can’t or don’t have time to fix them, they can simply add the IE=EmulateIE7 X-UA-Compatible switch to the page or server, and avoid making major changes.
5. There’s some concern being expressed by developers that EmulateIE7 is not exactly the same as IE7’s rendering – is that so? And if so, how do they differ, and how significant is this to developers?
EmulateIE7 is not truly equivalent to testing in IE7, but it’s pretty close. When building Internet Explorer 8, we were able to version the layout and rendering engine, but it was impractical to version the entire end-to-end system; for example the networking stack, parser, security fixes, HiRes layout, JavaScript engine, some DOM APIs, etc… In practice, though, we’ve found that IE8 Compatibility View works extremely well for most sites. For most cases, this should be enough, and for final verification, we provide the VPC images that you can download and test with a clean version of Internet Explorer 7.
6. Conditional comments – are these still an important tool from the perspective of the IE team for managing compatibility, or in essence are they deprecated going forward?
Conditional comments are the best way to separate out tweaks and hacks for individual browsers or browser versions. For example, if you create your site and find it works great in IE8, Firefox 3 and Safari 4, but there are a few minor tweaks you need to make for IE6 and IE7, we recommend that developers use conditional comments to separate out those hacks for each version. Conditional comments aren’t going away and are an important part of ensuring that developers have all of the tools they need to support different browsers and different versions.
7. Since refocusing on IE with IE7, you guys seem to have been putting a lot of effort into bringing IE back up to speed, and helping make developers lives easier when it comes to targeting all web browsers – can we expect to see that going forward? Can you talk publicly about any areas of commitment?
I think with Internet Explorer 7, we showed our commitment to Internet Explorer, and building a great browser. With Internet Explorer 8, we’ve cemented that by building a great browser that includes a strong commitment to ensuring great standards support and interoperability. We have just started our planning for the next release of Internet Explorer, but I think that the last two releases have laid out an excellent ground work for what we do in the future and our commitment to building a fast, interoperable, standards compliant and innovative web browser.
Thanks PEte for your time.
Got any follow up questions for PEte? I’m sure he’ll keep an eye on the comments here.
Great reading, every weekend.
We round up the best writing about the web and send it your way each Friday.