Can IE’s architect explain why it’s so bloated?

Can IE's architect explain why it's so bloated?

Good and bad: Microsoft’s IE platform architect Chris Wilson admits he has done both in the last 14 years. The good: the first implementation of CSS in IE the bad: overlapping <B> and <I> tags.

My attempts to interview Chris Wilson Microsoft’s platform architect for Internet Explorer appear threatened by technical difficulties even before the discussion begins. His temporary-conference-visitor speaker phone in Sydney won’t work then my computer crashes just before the interview starts which in the sub-planet of Vista I’m forced to inhabit means a ten-minute reboot time.

Although annoying this seems a strangely appropriate way to commence a discussion about Internet Explorer the world’s most widely-used — and thus almost inevitably most widely-reviled — web browser. There’s nothing IE users like more than whining about performance and rendering problems.

So I kick off the discussion by asking about IE’s ongoing difficulties with displaying PNG files which started out as a transparency problem in IE6 and progressed to a downright refusal to display PNG images for some Vista IE7 users.

Wilson is quick to suggest the IE6 problem is no longer an issue — “we have certainly some problems with PNG files in the past” he says but that was confined to “narrow cases”. However it turns out he’s unaware of the IE7 issue that is causing end-users much frustration.

Fixing this particular bug requires bizarre solutions such as switching off User Account Control effectively meaning you have to choose between a browser that’s more secure and a browser that actually works. That highlights one of the inevitable dilemmas in IE development: tight integration with Windows which means that troubleshooting can relate to almost anything but the browser itself.

“There’s benefits and there’s costs to it” Wilson concedes but he doesn’t see much merit in trying to separate IE from its Windows underpinnings. “To ship an operating system that didn’t have a browser in it wouldn’t be sensible. It’s a system service. The interesting part for us is we get to rely on the Windows system to provide capabilities for us.”

And yet despite relying on Windows to provide many capabilities a standard download for IE7 weighs in at 15MB compared to Firefox’s comparatively slimline 6MB. What’s that about?

“The big challenge for us is we don’t run on just one version of Windows. We can’t rely on things that are just in Windows Vista.” Relying on anything in Vista might be dangerous I want to suggest but that might just induce my PC to crash again out of spite.

Wilson is still talking as I fume. “A lot of the things that make IE larger are really that it’s delivered as a set of system services that are essentially atoms for Windows. You can use just parts of the browser. It’s componentised very specifically so you can do that.

Plus there’s the ongoing dilemma of backward compatibility to consider. “We have a lot of code specifically around compatibility. There’s a lot of functionality in there to make sure that code will continue to render older sites correctly.”

That problem in turn highlights the other big issue in browser development: the fact that hardly any browser ever seems to properly support W3C standards. After more than a decade of browser development why is it still not happening?

“It’s great when there is a clear and well-defined standard” Wilson says. “I’ve spent a lot of my career working on developing standards with the W3C and unfortunately they’re not that well-defined the first time out.”

And then we’re back to the compatibility argument. “We may have done something that wasn’t really clearly specified in the specification. We need to change that in a browser release but the behaviour we used to do is already out there. Once we do that in a new browser we break a lot of content if we’re not very careful.” There’s light at the end of the tunnel Wilson believes: “We’ve gotten better in the IE7 cycle and since then in figuring out how to deprecate that code slowly.

Speaking of new browsers: although Microsoft PR had suggested that Wilson could “talk about what’s next” he turns out not to be at all keen to do so. “I can’t really comment on any of our plans for the next version of IE” is his opening gambit when I ask.

OK I’ll try another tack. Given that the most obvious change in IE7 was the introduction of tabs a feature rather obviously filched from Firefox what feature from a rival browser would Wilson most like to adopt next?

“When I look at the other browsers out there I can see a number of features that are admirable but most of them I wouldn’t want to put in directly” he says. As an example he cites the Firefox add-in sub-culture which he describes as “a really great user community”. Microsoft wouldn’t do that though because it would make troubleshooting so hard he says.

One hint he does offer is in the equally contentious area of browser security. “There’s some new developments underway — though they’re going to take a couple of years — trying to figure out ways that are safer to share data from different domains so we won’t have to keep asking the user security questions. Asking the user questions doesn’t really work. As a user I’ve got a 50% chance that you’re actually going to read it.”

Firefox has reintroduced competition to the browser market aided by other rivals like Opera and Safari so Microsoft can’t afford to coast with IE the way it did in the early part of the decade. What factors does Wilson think influence people to move away from what is for Windows users at any rate a deeply embedded default choice?

“There are many answers to why people might choose to try another browser. One of the ones that is most frustrating to me for people choosing to try a different browser other than IE is security. We’ve developed a real culture of security inside the product development team. The hard part is that when you have the bulk of the market share hackers are going to try and exploit you first.”

Perhaps predictably given that Wilson doesn’t want to separate IE from Windows he doesn’t have much room for the view that the browser on its own will become the main means of delivering applications. “There’s two ways to think of a browser: one is as a user interface and the other thing is an implementation of a particular platform.” The latter is deficient he suggests: “The Web platform doesn’t leverage local capabilities anywhere near enough. It doesn’t have local graphics support for instance or local data.”

What are his thoughts then on Google’s Gears initiative which sidesteps the first problem by providing an interface that’s basic but functional (rather than say needlessly bloated like Vista’s Aero) and is working hard to solve the data issue?

“I think it’s an interesting step. I’m not totally sure why they choose the set of functionality that they did and not the other things that went along with that but some of those things would be really hard to do.” For instance? “Developing real offline control and writing real offline Web applications is really hard to do without a deployment model that the browser is managing.” Whether Microsoft could do that any better is a question we’ll have to wait for a future release to answer I suppose.

Even without the technical problems shifting into browser mode also be confusing for typical PC users he suggests. “As a user paradigm I just don’t think everything fits. When I’m using email I don’t like the Back button working the same way as it does in a browser. I’m not convinced that the browser interface will take the place of everything.”

Also today: