Internet Explorer 9 Preview
At the Professional Developers Conference (PDC) 2009 day two keynote (see my PDC coverage), Microsoft president Steven Sinofsky showed off a very, very early version of Internet Explorer (IE) 9, the next major version of Microsoft's now-venerable web browser. This was an unexpected development, given that Internet Explorer 8 (see my review) shipped earlier this year and was just included with Windows 7 (see my review), which shipped last month. But Microsoft clearly wanted to demonstrate that it would continue advancing IE at a rapid pace, meeting criticisms of the current product and--the real surprise--delivering on some unexpected functionality.
What we don't know about IE 9 is a much broader discussion than that about what we do know. It's early yet, so that's OK, but I do want to set some expectations: The very early IE 9 preview build we saw this week at PDC did not contain any hint at all about the future user interface or other functional aspects of the browser. In fact, the build used in the keynote, and the one I saw separately in a meeting, lacked any kind of user interface at all. It's just a bare window frame that's designed to let the rendering engine do its thing and show off the few bits of functionality Microsoft is now publicly committing to.
"This is just a preview, an early look at where we are with IE 9 for developers," IE general manager Dean Hachamovitch told me during a briefing. "We're focusing on three very specific areas: Performance, interoperability standards, and hardware acceleration."
Anyone hoping that Microsoft would do something radical like adopt a competing web rendering engine (like WebKit) or even more radical, like dropping IE all together (and yes, those people are out there) will likely be confused by this early focus. And judging from what I've seen from people's reactions to the keynote demonstration online, there's further confusion about what was announced. I'd like to take this time to try and communicate what's really happening.
With IE 8, Microsoft argued that browser performance wasn't something that could be easily measured with benchmarks because overall performance is more holistic. The company's success at communicating that message is debatable, and while Microsoft's own published performance results were pretty favorable, IE 8 tends to get pummeled in independent comparisons with Mozilla Firefox and Google Chrome.
For IE 9, Microsoft appears to be addressing IE performance issues head-on. The company explained this week that it examined how similar sites actually tax browsers in different ways--some are script-heavy, for example, while others are not--and its architecting IE 9 to handle these different needs properly.
In my briefing with Hachamovitch this week, he told me that scripting performance was typically an area in which competing browsers appeared to work more quickly in benchmark tests. So they looked into that and have already made big improvements in very early alpha builds when compared to IE 8.
"We're looking at the performance characteristics of all the browser sub-systems as real-world sites use them," Hachamovitch wrote in a blog post this week. "Our goal is to deliver better performance across the board for real-world sites, not just benchmarks."
To me, performance is straightforward: It either performs well or it doesn't. There's no way to say whether IE 9 will be as faster, or even faster than, competing browsers. But let's just say that Microsoft's decision to focus on this is wise.
Microsoft has taken a lot of flak for its lackluster adherence to web standards, but the company appears ready to reverse that reputation in IE 9. "The focus here is on the stuff that developers use to build the web," Hachamovitch told me. "We're lining up a bunch of platform work. Our \[web standards test\] scores will go up."
More specifically, this means adhering to the latest web standards, such as HTML 5 and CSS3 Selectors. At the keynote, there was a demo with CSS-based rounded corners in an element border. That's very specific, of course, but it's something that IE 8 doesn't do properly today. The current, very early IE 9 version correctly utilizes 41 of the 43 CSS Selectors and scores 574 out of 578 in its CSS3 Selectors test, a big improvement over IE8, which scored 330 out of 578.
Right now, what we have is a promise here. Microsoft also met very specific standards needs in IE 8, but it failed to deliver on far more. Hopefully as IE 9 evolves over the next year, we'll discover that the browser is not just another evolutionary step towards standards compliance but is instead the version that puts IE over the top. Otherwise, I expect an exodus of users to more compatible browsers.
Working hand-in-hand with Microsoft's performance aspirations for IE 9 is a surprising browser capability: GPU-backed hardware acceleration. "This is the coolest but least understood aspect of IE 9 we announced," Hachamovitch said. "We've moved the IE rendering engine from GDI to DirectX."
There are two benefits to this approach. First, the web doesn't have to be rewritten to take advantage of this functionality, as it's just provided by using IE 9. And second, web developers can now seamlessly take advantage of all of the benefits associated with PC hardware advancements that have happened over the past few years. The GPU is no longer just used for games, 3D user interfaces, and other graphics-intensive applications.
The confusion here relates to expectations about hardware-accelerated graphics. When some people hear such a thing, they automatically think about gaming. But IE 9's hardware acceleration has nothing to do with gaming. Instead, it's all about performance and fidelity. The browser just performs better, of course. But it also makes everything--especially text--look better.
The performance stuff is pretty obvious: Navigating around a Bing map, for example, you can readily see that IE 9 renders far more quickly--and with much less CPU overhead--when GPU acceleration is enabled. But the overall fidelity improvements were, to me at least, unexpected. Text rendered through the GPU with Direct2D exhibits none of the jaggies you see with standard, GDI-rendered text. And the effect is especially impressive when you zoom in and out of textual displays. It's like the difference between ClearType- and non-ClearType-based text, except this time, sub-pixel rendering is just the starting point.
"Direct2D finds more pixels on the edges and smoothes out jaggies," Hachamovitch told me. "It provides smoother animations as well. The performance is amazing. Web sites get better in IE on Windows."
Some have also confused this functionality with WebGL or other standards-based rendering schemes. These people are missing the point, Hachamovitch said. "It's just a subsystem. This means that whatever others do on top of the browser will have better performance and clarity as well."
Hachamovitch also noted that other browser makers have only done some minimal, edgy work around hardware acceleration. The reason is simple: Its hard work. "Games utilize this technology, of course, but let's face it, games don't print. We have to make sure IE works as before with hardware accelerated rendering. You want your boarding pass to just print. You want ActiveX controls and Flash video to just work. That's what we're working on."
Having spent a grand total of about 60 second tooling around with a very early IE 9 build I'm obviously not qualified to offer any sweeping statements about how the finished product will work. But I'm heartened by Microsoft decision to move quickly in improving IE and release a major out-of-band version of the product that is not tied to any Windows version. My expectation--which is based purely on speculation--is that Microsoft will deliver a beta version of IE9 the MIX conference in March and then deliver the final version sometime around October 2010, which is the same time I expect the company to ship Windows 7 Service Pack 1 (SP1). (I suppose there is a small chance that IE 9 could be shipped as part of SP1, but that seems unlikely to me.) In any event, we should know a lot more about IE 9 in March.