Test Drive: A Look at the Internet Explorer 9 Platform Preview

Test Drive: A Look at the Internet Explorer 9 Platform Preview

This week at MIX'10 in Las Vegas, Microsoft unveiled its first public release of Internet Explorer 9, the Platform Preview. Aimed solely at developers, the IE 9 PP provides a way to experience some of the advances that Microsoft is making in this release. And while there's absolutely nothing for end users to get excited about here yet, Microsoft's plans for IE 9 are, however, quite interesting. Here's what's happening.

As far the PP goes, this is a pure developer test tool. The browser itself is almost completely non-existent. Instead of the standard browser "chrome"--the Back/Forward buttons, address bar, search bar, and so on--IE 9 PP presents itself in a Spartan, featureless window border with a very simple menu bar only. Also missing are important security and safety features like anti-phishing, which again drives home the notion that this release is not for end users.

Not much to look at: The IE 9 Platform Preview (front) and IE 8.

Microsoft was nice enough to provide some handy keyboard shortcuts for those who are unclear about using IE without the usual chrome niceties, but really this release is just a way to test the new rendering engine and other technologies. This is in keeping with a long standing Microsoft policy to engage developers first, then various end user groups via a broader beta. That release--which Microsoft refuses to discuss--will likely include a new IE user interface. And yes, it's being overhauled.

That's for another day. What we have to examine now is Microsoft's various technical promises for this browser. And they're pretty far reaching. In a lengthy briefing one week before MIX, Microsoft general manager Dean Hachamovitch told me and several other reviewers that the message for IE 9 was quite simple: "We love HTML 5," he said emphatically. "And we want it to actually work," the inference being that it doesn't actually work today on competing browsers. "We have a lot of things to go do."

Indeed they do. HTML 5, if you're not familiar, is an in-development web standard. Sometimes called Web Applications 1.0, HTML 5 combines three previous generation web technologies--HTML 4.01, XHTML, and DOM L2--into a single spec that seeks to end browser dependence on third party proprietary plug-ins like Adobe Flash. The rationale behind that is excellent: These plug-ins have to be installed, managed, and updated by the user, and they're often buggy and, increasingly, the attack vector for electronic attack.

If you're not into technological alphabet soup, then here's the plain English description: HTML 5 makes developing modern web applications--things like Gmail, Facebook, and so on--easier, while providing advanced functionality like audio and video playback. The problem with HTML 5 is that it's a moving target. And while various browsers, including Firefox, Chrome, and Safari, all support various parts of the HTML 5 spec, they support different parts, and often support the same parts differently from each other.

Microsoft made an apt comparison between HTML 5 and 802.11n that I find particularly relevant. Wireless access point vendors began selling "draft" 802.11n routers years ago based on then-current versions of the 802.11n spec, but many of these routers were never updated, creating a weird situation in which there are incompatible 802.11n devices out in the real world. "HTML 5 can't work like 802.11n," Hachamovitch said. "It should work like USB. USB is USB, and it's always compatible. HTML 5 should be HTML 5. But there are different groups jockeying for position, and they have different interests and goals."

The browsers that support HTML 5 today have taken the "pre" route, like those draft 802.11n device makers did two or three years ago. The problem with this approach is that the web becomes a moving target. As each browser maker improves their products and adds new HTML 5 features over time, the underlying spec changes. And different browsers implement parts of this emerging spec differently. This is even true across different browser versions, creating a difficult situation for web developers. (Who, curiously, have voiced little opposition to this situation as far as I can tell. These same developers, however, consider IE 6 to be an industry curse for some reason, despite the fact that it hasn't changed at all over the past decade.)

Microsoft's plan is to ensure that the same markup (HTML code) works identically across all browsers that implement the HTML 5 spec. Expect some pushback on this one. The web development world has a pointless anti-Microsoft bent that is, perhaps, best exemplified by the ACID3 non-standard test. As far as I can tell, this thing is designed specifically to make Microsoft look bad. (Which it does.) But it's important work. According to Microsoft, which has some relevant metrics data, Windows users spend 50 to 75 percent of their time in the browser now. This is their primary interface with the PC.

This is the reason, really, why questions about why Microsoft doesn't just adopt the WebKit rendering engine (from Safari and Chrome) are so utterly pointless. This isn't the type of thing that Microsoft could trust to a third party, especially when you consider that WebKit itself is in danger of splintering because of the Apple/Google rift. (Apple and Google's browsers already render things differently, despite using the "same" rendering engine.)

Looking at IE 9 in its current gestational phase, what we see is an updated version of the same "Trident" core engine that's been in IE for years--this is the piece of the browser that provides the visual presentation--and a new JavaScript engine that is multi-core aware for better performance. But the big technological bets in IE 9, aside from a commitment to HTML 5, all involved hardware accelerated web rendering, which will lead to dramatic--stunning, really--performance improvements. This is heady stuff.

Put simply, Microsoft has done the engineering to tie the IE rendering engine into your PC's graphic processing unit (GPU), freeing up the CPU for other work and letting the GPU do what it does best. In various demos pitting the IE 9 PP against IE 8, Google Chrome, Apple Safari, Mozilla Firefox, and even Opera 10.5, Microsoft's new browser looked like a Ferrari in a stable full of Ford Pintos. That's because IE 9 provides hardware acceleration to HTML 5 graphics and media, as well as the SVG (vector graphics) used by such things as online maps. And of course support for multiple processor cores, and other techniques, like on-the-fly compilation of JavaScript.

As a result, "IE 9 is crazy fast," according to Jason Webber, who leads Microsoft's IE performance team. "It's going to change the way developers think about building web apps, and it's going to change consumer expectations.

What's fun about all this is that you don't need to buy anything to make it work. This isn't like when Vista came out and there were worries that the video card in your PC wasn't up to the task of displaying Aero effects. Every single PC sold today and the vast majority of PCs currently in use have the graphics horsepower to let IE 9 run wild, and that includes the lowliest of netbooks. And according to Microsoft, the average number of processor cores in Windows Vista- and 7-based PCs exceeded 2 in January 2009, over a year ago, and has been rising ever since. The average number of cores as of February 2010 was 2.3. "It's an incredible uptick," Hachamovitch said.

These advances mean that users will see better performance without upgrading their hardware and that web developers won't need to change their web sites to make their web applications run faster. Looked at another way, thanks to the power of HTML 5 and the ties in IE 9 to the underlying PC hardware, web applications will be able to look and run more like native Windows applications down the road.

Developers who are interested in IE 9 should check out the IE 9 PP and its new developer tools as well as the various standards and performance demos that Microsoft has placed on the IE Test Drive web site. It appears that they're on the right path.

For users, you're still in a holding pattern. Microsoft won't discuss the IE 9 delivering schedule, but based on previous IE versions, I don't expect to see it ship before early 2011. That suggests a public beta by late summer/early fall 2010. (Microsoft has separately committed to updating the PP every 8 weeks or so until the beta.)

IE 9 will run on Windows Vista and 7, but not on Windows XP. This makes sense to me, and is further evidence that a 2011 launch is likely.