Overview of Platform Improvements in IE8 RC1

This is one of my favorite times in the product cycle. IE8 is platform complete and as we get closer to releasing the final product, more and more web developers and designers will take advantage of the browser’s features to enable scenarios we haven’t even imagined!

Since the release of IE8 Beta 2 we’ve listened to feedback from many channels including IE8 Beta Feedback, standards working groups and this blog. We’ve made thousands of platform improvements in response to both feedback, and from running the test cases that Jason Upton blogged about on Tuesday. The platform is ready to be built on. I want to give you an overview of web platform improvements since Beta 2, some of which we’ve already talked about and some of which will be covered in more detail in the coming weeks.

Compatibility

It takes time for web developers, designers, and IT professionals to migrate a site to an updated browser. Yet our mutual customers expect the web to look and feel the same after they install the latest IE version. We’ve built Compat View and IE7 Standards Mode to ease migration and allow web developers and designers to opt-in to IE7’s behavior while they upgrade their site. Since Beta 2 we’ve improved IE7 Standards Mode fit-and-finish such that RC1 is very close to the real IE7 web platform.

Interoperability and Standards

  • CSS 2.1. Layout interoperability with other browsers through the CSS2.1 standard has always been a top goal for IE8. Beta 2 supported all properties in the CSS 2.1 specification and passed over 3,200 test cases. We’ve made significant improvements since Beta 2 and this week’s RC1 passes well over twice as many test cases as Beta 2. For example, one of our favorite new features is IE8’s new support for High-Res layout, which we’ll blog about in more detail later. We expect very few changes between this RC and the full CSS2.1 support in the final product, which web developers and designers can use to write their pages once and have them rendered the same across browsers.
  • HTML, Document Object Model (DOM) and JavaScript. Throughout Beta 1 and Beta 2 we’ve talked about how IE8 is much more interoperable with other browsers in core areas including attribute handling and element lookups like those through getElementById(). To help ensure future interoperability with other browsers and standards compliance, the Release Candidate includes the following updates, which we recently blogged about:
    • Mutable DOM Prototype includes the new ECMAScript 3.1 conformant getter/setter syntax.
    • ARIA supports the dash syntax “aria-checked” across all IE8 document modes. This means web developers can write code once that works across IE8 modes and with other browsers.
    • Cross-Domain Requests (XDR) now checks Access-Control-Allow-Origin header for a match to the origin URL as well as wildcards. As a result, data is only shared with sites whose origin the server specifies.
  • Performance. Similar to interoperability, better performance helps improve developer productivity. To this end, we investigated core performance scenarios and focused on optimizing common AJAX design patterns. Web developers and end users alike will experience performance improvements since Beta2.

Development environment

  • Developer tools. Beta 2 introduced more power with the JavaScript profiler, save to file, and console.log support. RC1 has dramatically improved stability and a much more accurate view of the HTML tree and CSS tracing. It also offers more flexibility by adding a menu option for viewing source with Notepad, the built-in viewer, or any other choice of viewer.
  • Documentation. We think good documentation and communication is an important part of the development environment. To this end, we have updated our Internet Explorer Readiness Toolkit and MSDN IE Development Center for web developers and designers to use as references. Stay tuned to the blog for much more detail on improvements we’ve made since Beta 2 and tips for upgrading to IE8 Standards Mode.

We take your feedback on critical issues very seriously and we know that behavior changes to the platform have the potential for broad impact. We intend to make few platform changes between now and the final product. We’ll be very deliberate about what changes we make and diligent about documenting and communicating them.

Please download the RC1 and test with confidence if you haven’t already. We’re very excited about the improvements we’ve made to IE8’s web platform and developer tools and even more excited to see how web developers and designers build on them to enable new, incredible scenarios! If you’ve already enabled a new scenario using IE8 features, leave a comment and let us know about it.

Marc Silbey
Program Manager

Update 10:15 pm: fixing getElementById() reference.  Thanks Gérard!