The launch of IE8 has been mired in confusion and controversy. Ian Moulster, Senior Product Manager for Microsoft UK, chats to .net magazine about developer support, standards and the 'blacklist' …
Article continues below
Ian Moulster: Let me be clear. If you develop your site to broad internet standards such as CSS2.1, your site will render fine in IE8. That's the whole point of standards view being the default view with IE8: it means you develop your site once and it renders correctly in all standards-compliant browsers.
.net: But what about the compatibility blacklist? A lot of developers are very worried about this …
IM: The Compatibility View list isn't a blacklist. There are a number of misconceptions about how it works, which is a pity, but evidently we haven't explained it well enough. IE8 has two modes: Standards Mode (the default) and IE7 mode, known as Compatibility Mode.
If we notice a popular site has an issue with Standards Mode that's fixed by running in Compatibility Mode we contact them and tell them we'd like to put them on the list. If they're on it, their site will render in Compatibility Mode for all users who subscribe to the list. Why would they find that useful? Well if they don't have the time right now to make amendments to their site, for example, it's an easy way for them to be sure that it will be compatible.
.net: But what if you don't want to be on the list?
IM: If people say they'd prefer not to go on this list, then they don't. And they can ask to be removed from the list at any time by sending us an email. The list is public, so you can have a look at it and see who's on it. This is something we're offering to sites, not something we're forcing on them.
.net: How many sites are on the list?
IM: Worldwide, it's around 3,000. They're sites we determine to be high traffic as well as mission critical. For example, you wouldn't want the government's taxation site to go down at the time they're trying to collect their taxes.
We're working with all the sites on the list to make sure they can be taken off it as soon as possible. We're trying to adhere to the principle of not making life difficult for devs but also making sure that people can still browse the web and get things done.
.net: It's 3,000 now, but could that figure jump?
IM: We want to keep it to a relatively small number, and our priority is to get these sites off the Compatibility List. I've seen some reports around Compatibility button usage – it's actually quite low relative to what we expected.
.net: To get on the list, is it a question of people reporting you or just a lot of people putting you into Compatibility View?
IM: The second more so. We look at how many people have used the Compatibility View button and then we look at that site and take a view as to whether it's worth putting you on the list or not. We email you first to say we're putting you on the list: if you don't want to go on this list, let us know.
.net: But how exactly are users supposed to know that a site's not rendered correctly?
IM: It's entirely their take on it. So you look at the page and you think "Does that look right"? If you can see what you want to see then maybe you don't really care. You may find that text overlaps, say, and you think "This doesn't look quite right, I'll just refresh it and see if that makes a difference." And we've put the Compatibility button next to the Refresh button for that reason. It's got a little broken page icon and when you hover over it a little bubble appears, which describes pretty well what it's for.
.net: What does IE8 offer to developers?
IM: Every copy of IE8 ships with a comprehensive developer mode: you can access it by pressing F12 at any time. There's a ton of stuff in here. At the very simple end, you can do things like change the application used as the source viewer, turn off images or get reports on images, validate things like links and CSS and HTML, view the page in IE7 mode, quirks mode, IE8 mode, etc.
You can also see and amend the HTML and CSS, and get the page to re-render to observe your changes. And you can set breakpoints in scripts, inspect values of variables and set watch variables, step through code a line at a time, view the call stack, etc. It makes it really easy and quick to find and resolve issues or just to try things out and see the effect of your changes.