HTML5 and Same Markup: Second IE9 Platform Preview Available for Developers

When we started planning IE9, we recognized the need for a better feedback loop with developers. The developer community was clear that they wanted pre-release builds of the browser platform in a consistent rhythm, with a good feedback mechanism.

Seven weeks ago at the MIX Conference, we released the first IE9 Platform Preview. We committed to updating the Preview approximately every eight weeks. Today, we’re releasing the second Platform Preview of Internet Explorer 9, available now at www.IETestDrive.com.

Today’s release builds on the first Platform Preview, delivering improvements to IE9’s performance, support for standards, and hardware acceleration of HTML5.  We’ve also updated the test drive site with a new set of developer samples to show what developers can do with GPU-powered HTML5. As part of our commitment to enabling developers to use the Same Markup – the same HTML, CSS, and script – on the web, we have contributed many new tests to the W3C for HTML5, as well as CSS3 Media Queries and DOM. The Developer Tools in this preview include some new features to make finding and fixing markup issues easier.

Developers should expect much more from browsers in order to deliver the graphically rich, interactive applications that HTML5 will enable. In IE9, our goal is to provide professional-grade, modern HTML5 support on top of modern hardware through Windows. The IE9 Platform Preview and the samples at the test drive site show the significant performance gains that web pages enjoy when a browser takes full advantage of the PC’s hardware capabilities through the operating system.

Performance and GPU-Powered HTML5

With the second Platform Preview we continue to improve IE9’s performance and maintain our focus on real-world sites and hardware acceleration. We examined the patterns in use across many websites and frameworks to identify which changes in the browser make actual sites faster. The first chart here, for example, shows how different subsystems contribute to the performance of different real-world sites.

The JavaScript engine is one of several important subsystems. Here’s a chart of IE9 performance on one particular industry benchmark for JavaScript performance, the Webkit Sunspider test:

Webkit Sunspider Javascript Benchmark Results from 5/5/10. IE9 Platform Preview #2 is competive with other browsers.

You’ll notice that the performance difference between IE9 and other browsers on this benchmark is in the range of an eye-blink. As we continue to make IE9’s script engine faster for real world sites, IE will continue to become faster at this particular benchmark as well. To date we’ve done very little specific tuning for Webkit Sunspider. As with most benchmarks, depending on your machine, the differences may vary.

The performance you experience browsing actual websites often has less to do with JavaScript than with other subsystems in the browser. You can see this for yourself by trying the Speed Demos at the test drive site in IE9 and in other browsers. This video shows them in action:

 

link to video (.wmv) , (.mp4)

These samples show just some of the advantages of GPU-Powered HTML5, and applying the power of your PC’s hardware to making web browsing faster. What’s particularly exciting is that developers don’t have to rewrite their sites – their current markup (HTML, CSS, and script) just runs faster.

Same Markup

Web browsers should render the same markup – the same HTML, same CSS, and same script –the same way. That’s simply not the case today. Enabling the same markup to work the same across different browsers is as crucial for HTML5’s success as performance.

While some people associate this same markup situation with IE6, it actually applies across browsers in general. Developers typically have to write different markup to get the same desired outcome, even across the latest versions of Firefox, Chrome, and Safari browsers.  You can see some examples in these videos with people on the IE team about DOM, SVG, and CSS3. On the test drive site, you can try the “Border Radius” example in different browsers to see another. There are many examples today of developers trying to use HTML5 features, only to find it works in Safari only, Firefox only, or Chrome but not Safari or Firefox (find ‘doesn't work well on Firefox’ on the page).

We’re engaged with the standards working groups and other browser vendors as part of the web community with Same Markup as a key goal. Same markup is the real-world benefit of standards for developers (and through them, the rest of the web).

True standards bodies are important so that different parties and communities can come together to consensus. Specifications are a good start. Other parts of the technology industry have shown that comprehensive and accurate test suites are essential to provide interoperability for developers and products that work for consumers. They’re how an industry converges on a common understanding of the specifications and can assess its progress.

Enabling an interoperable web so developers can create amazing HTML5 applications is at the core of what “same markup” means. Our investments in standards and interoperability are all about enabling the same markup to just work.  When developers spend less time re-writing their sites to work across browsers they have more time to create amazing experiences on the web.  Today, we’re submitting 88 new tests to the W3C bringing our total to 192 tests submitted during IE9.  Our focus leading the HTML5 Working Group’s testing task force is on thorough, professional-grade tests that enable developers.

On the test drive site, you can try out several examples of IE9’s improved standards support and interoperability with other browsers. CSS3 Media Query support enables a site to adapt to different display attributes (like width, height, orientation) on the fly.

Optimized for Large Display Optimized for Netbook Optimized for Mobile
CSS3 Media queries demo displaying in large screen format CSS3 Media Queries Demo displaying in Netbook format CSS3 Media queries demo displaying in mobile format  

Another sample on the test drive site shows how developers can use DOMContentLoaded to deliver better performance with web pages that respond to the user as soon as the page is done parsing, instead of waiting for when everything on the page has loaded.

CSS3 Media Queries and DOMContentLoaded are examples of requests from the community that are now in the product. Many other features you’ve requested  – DOM Traversal and Range, getElementsByClassName, createDocument, and more – are available today in the IE9 platform.  The Preview also fixes many issues that users have reported with our SVG, JavaScript, and CSS3 implementations.

Some people use Acid3 as a shorthand for standards. Acid3 tests about 100 details of a dozen different technologies. Some are still in “under construction.” Some of the patterns, like SMIL animations, are inconsistent with other parts of HTML5, like CSS3 animations, and need to be reconciled. Here’s a screenshot of how today’s IE9 Platform Preview runs today’s Acid3 test:

Acid3 test - 68/100

As IE runs more of the “same markup” that developers actually use on the web, our Acid3 score will continue to go up. This approach is a partial test of some capabilities, and is quite different from a test suite. For contrast, you can run some of the tests we’ve submitted to the W3C here in any browser.

The Developer Tools in IE9 Platform Preview 2 include new features. The Console window is now a full tab that includes diagnostic information from IE.  Developers can use the “Change User Agent String” menu item to experiment with sending different that UA strings to sites with every request, selecting from preset strings or creating their own custom string.  This complements another feature we’ve included – the new IE9 UA string.

 

IE9 Dev tools new User Agen String switching tool

Since releasing the first Platform Preview, we’ve answered a lot of developer questions. Here’s a recent one from a GMail engineer:

Sometimes we have to do browser detection, and we tend to group all IEs together, with the occasional branch based on version.  Should we treat IE9 entirely differently?  Is it intended to behave closer to webkit/gecko than IE7/8?

Our answer is an emphatic YES. IE9’s standards support makes it much closer, for developers, to Gecko, Presto, and the different versions of Webkit than it is to IE7. We want to make the same markup work across browsers, and want feedback from developers about the issues they find offering the same markup to IE9. To this end, we’ve shared some suggestions in this blog post on Same Markup: Writing Cross-Browser Code and will blog about additional examples and patterns.

We recently wrote about HTML5 video and codecs. HTML5 Video tag support will come in Platform Preview 3. We want to focus with the community on the underlying and enabling technologies, like CSS and DOM, first, so that the same markup really does work across sites.

Test Drive It Today

We’re eager for developer feedback, and hope you have as much fun test driving IE9 as we continue to have in building it. We appreciate your support and interest in IE and will continue to pay close attention to all the feedback on Connect.  We’ll continue the rhythm of IE9 Platform Preview updates approximately every eight weeks, as well as our work at the standards bodies with other browser vendors and the community. Your feedback about how IE9 handles the same markup your sites give other browsers, and the standards tests we’ve submitted to the W3C, makes a huge difference.

Many people have asked about the beta and the full browsing experience. We want the beta to build on a solid platform of performance, same markup, and GPU-Powered HTML5. Our focus now is building that solid platform.

A few last details: the Platform Preview continues to be the thinnest possible wrapper around the web platform, and as such is not intended for general purpose browsing. It does not have IE8’s security protections (like Protected Mode, SmartScreen filter, and the Cross-site scripting filter) which we strongly recommend for anyone browsing the web today.

The platform preview installs side by side with Internet Explorer 8 so that you can try it without replacing the full IE that comes with Windows. This second release of the Internet Explorer 9 Platform Preview will install over the first version. There is no need to uninstall the first Preview before installing second.  You’ll also find more information on what’s included in this release of the Platform Preview in the Release Notes, including known and resolved issues.

Thanks –

Dean Hachamovitch
General Manager, Internet Explorer

Edit 2:20pm – updating links to the standalone versions of the embedded video.