When Microsoft first introduced Internet Explorer 9 at PDC in November 2009, it didn't show much. A few benchmarks, some talk about the technologies that the browser would use, and a little information about the direction that development would take. But it was a significant event nonetheless. After years of playing catch-up—the stopgap Internet Explorer 7 added tab support, and then the solid Internet Explorer 8, which offered little in the way of support for new Web innovations—Microsoft was starting to position its browser not only as good, but able to take on the competition and be best in class.

And with the release today of Internet Explorer 9, the company has gone on to deliver just that—IE9 is the most modern browser there is.

Microsoft set out to do four things with IE9. The browser had to be fast, it had to be standards-compliant, it had to be trustworthy, and it had to put the focus on sites and Web content, rather than the browser. Ars has been following the browser's development since the first public preview in March 2010, with extensive coverage of the beta and release candidate, but those major points are still worth looking at.

Focus on sites

Internet Explorer 7, and then Chrome, have ushered in a trend for stripped-down browser interfaces. Internet Explorer 7 ditched the menu bar by default (though this default was later changed), and Chrome took this design a step further by putting its tabs on top and all but abandoning the toolbar concept. Internet Explorer 9 builds on—or rather, subtracts from—the work done in previous Internet Explorer versions. Its interface is stripped down, clean, and simple. The intent is that the site should be the focus, not the browser frame. So tabs have moved alongside the address bar—though they can be moved below it if desired—the status and menu bars are gone by default, the toolbars are gone by default, and the icons on the buttons use new artwork.

The new pinned sites feature—allowing sites to be docked to the taskbar and for site developers to give those taskbar icons custom jump lists and overlays—extends this concept further. For example, if you pin Facebook to your taskbar, you get instant access to Facebook itself by clicking the icon, direct access to your news, messages, events, and your friend list through the jump list, and an icon overlay to show when you have new messages. Together, these make using Facebook more streamlined, and make it feel much more like a real application.

Notifications within the browser have also been made substantially less intrusive, again with the intention of preventing them from interfering with the site experience.

Overall, it's a good look that does what it's supposed to—it keeps out of your way. While I think it will work well for many, it does still fall some way short for those placing more extreme demands, however. It lacks any direct equivalent to the "pinned tabs" found in Firefox and Chrome; these tabs occupy less space than regular tabs, making them convenient for persistently-open sites. The new tab management facilities in Firefox 4 also have no analog in Internet Explorer.

And oh yeah. There's a download manager included. At last.

High performance

Browser performance is a complex, multifaceted thing. Headlines are made with JavaScript performance, but there's more to a browser than its scripting: reading and understanding HTML, drawing graphics on-screen, laying out text, and so on. Work has been carried out in all these areas to make IE9 a truly fast browser. Chief among these improvements are a new JavaScript engine, named Chakra, and the use of the GPU for handling drawing tasks. In both cases, these are designed to exploit the capabilities of a modern PC. Chakra is multithreaded, compiling and optimizing JavaScript in a secondary thread, while allowing the primary thread to start executing the script directly in the meantime. The GPU acceleration makes use of hardware accelerated Direct3D rendering (via Microsoft's Direct2D layer) to handle all the browser's drawing tasks.

Mozilla and Google are both developing similar hardware acceleration for Firefox and Chrome, respectively. Chris Blizzard, director of Web Platform at Mozilla, even tweeted that he bet Firefox would ship GPU acceleration first. He bet wrong; Internet Explorer 9 is the first stable browser to reach the market with extensive, broad-based hardware acceleration. Firefox 4 (due in a few days or weeks) will add GPU acceleration support too, and Chrome 11 (currently in beta) should provide broad GPU acceleration too—but as things stand, Microsoft is going to be first to market with a widely accelerated browser. The company has raised the bar on what's expected in a browser, and it's no great surprise to see Mozilla and Google go down a similar path.

We're going to perform in-depth browser benchmarking once Firefox 4 is final, but regardless of benchmarks, Internet Explorer 9 feels very fast. In the end, that's perhaps what matters most: even scripting-heavy Web applications render quickly, animate smoothly, and perform well.

The hardware acceleration also makes pages look good. For drawing text on screen, Microsoft is using its new DirectWrite subsystem. DirectWrite strives to reproduce fonts more faithfully than the system used in older versions of the browser; it tries to create something closer to the font designer's intent, rather than shoe-horning the letter shapes into the pixel grid used on-screen. Mac OS X (and Safari on Windows) also takes this faithful approach, though Apple seems to take it even further than Microsoft has. This has divided opinions during the beta process, with some finding the browser makes certain text look very fuzzy, especially for text that isn't black-on-white. With the video card and monitor I use, and the sites I visit, it looks fantastic.

Standard support

Microsoft's mantra throughout IE9's development has been "the same markup." As anyone who's written a webpage will attest to, the normal approach to Web development is: write the page once, check it out in a bunch of browsers, then tweak it endlessly so that it actually looks the same—or at least, passably similar—in every browser you care about. Standards compliance is the best weapon Web developers have against this kind of proliferation. To that end, Microsoft has taken great strides in making IE9 a standards-conformant browser. This means not only making its behavior match against the specification; it also means working to ensure that the specifications themselves are clear, bug-free, and have proper tests to go with them.

To that end, Internet Explorer 9 contains broad support for a range of new standards that have been lumped under the HTML5 banner; plug-in-free video and audio, bitmap graphics using canvas, vector graphics using SVG, embedded fonts using WOFF, and so on. This work has made the browser a far more attractive platform for developers that's far closer to the state of the art.

In many ways just as important as the browser's support are the many hundreds of tests that Microsoft has submitted to the World Wide Web Consortium (W3C), the group that creates Web standards. These tests allow easy comparison of individual features in different browsers, to verify that they do all implement the specification, and more to the point, implement it with the same, predictable behavior. Over the long term, these test suites will help browser vendors minimize the differences found in their browsers, allowing developers to spend more time creating exciting websites, and less time trying to get their pages to look correct.

In contrast to the other browser developers, Microsoft's approach to standards support has been conservative. The company doesn't want to ever have to remove or fundamentally modify a feature that it has implemented due to changes in specifications. As such, it has taken a policy of only implementing those specifications that are unlikely to undergo any further changes. As a result, Internet Explorer 9 will compare unfavorably on sites like HTML5 Test, but Microsoft views this as far preferable to making developers have to alter their real-world applications just because a specification has changed.