Windows Release Preview: The Sixth IE10 Platform Preview

With IE10 in Windows 8, we reimagined the browser. We designed and built IE10 to be the best way to experience the full Web on Windows. Consumers can now enjoy more touch-friendly, fast and fluid Web applications with the updated IE10 engine included in the Windows Release Preview. This sixth Platform Preview of IE10 delivers improved performance and support for touch-first HTML5, as well as a new power-optimized, touch-friendly Adobe Flash Player that enables content on compatible Web sites to play in the Metro style Web browser. IE10 also sends the “Do Not Track” signal to Web sites by default to help consumers protect their privacy.

This video shows some of the performance and touch improvements in the sixth IE10 Platform Preview, part of the Windows Release Preview.
(This video is also available on Channel 9)

You can read more about the improvements to the Metro style browsing experience on the Building Windows 8 blog. The remainder of this post discusses the underlying HTML5 engine.

Windows 8 includes one HTML5 browsing engine that powers both browsing experiences (the Metro style one and desktop one) as well as Metro style applications that use HTML5 and JavaScript. The common HTML5 engine provides consistently fast, safe, and powerful support for Web standards and the Web programming model, for both browser experiences as well as for Metro style applications.

Consumers experience this power with responsive, touch-friendly pages that safely take full advantage of the underlying hardware. Some examples that you can try at the IE Test Drive site with the Consumer Preview include the Chalkboard Benchmark for common touch actions like panning and zooming and a multi-touch capable Web page for manipulating photos and images. You can read the full list in the IE10 developer guide.

Touch-friendly Adobe Flash in Metro style Internet Explorer 10

The Windows 8 Release Preview includes a new power-optimized, touch-friendly Adobe Flash Player. Adobe Flash content on compatible Web sites will now play in Metro style IE10. Metro style IE10 with Flash on Windows 8 enables people to see more of the Web working with high quality, especially compared with the experience in other touch-first or tablet experiences.

We believe that having more sites “just work” in the Metro style browser improves the experience for consumers and businesses alike. As a practical matter, the primary device you walk around with should play the Web content on sites you rely on. Otherwise, the device is just a companion to a PC. Because some popular Web sites require Adobe Flash and do not offer HTML5 alternatives, Adobe and Microsoft worked together closely to deliver a Flash Player suitable for the Metro style experience.

Both IE10 on the Windows desktop and Metro style IE use the same integrated Flash Player, with no need to download or install an additional player. IE10 on the desktop provides the same full Flash support as previous versions of IE that relied on the Flash Player plug-in, and continues to support other plug-ins. The Metro style browser continues to provide no support for other separate ActiveX controls or plug-ins.

While any site can play Flash content in IE10 on the Windows desktop, only sites that are on the Compatibility View (CV) list can play Flash content within Metro style IE. We place sites with Flash content on the CV list if doing so delivers the best user experience in Metro style IE with those sites. For example, how responsive is the content to touch? Does it work well with the onscreen keyboard, or affect battery life? Do visual prompts comply with the Metro style user experience guidelines? Sites that rely on capabilities (e.g. rollovers and P2P functionality) that are not supported within the Metro style experience, and don’t degrade gracefully in their absence, are better off running in IE with Flash on the desktop. Site developers continue to control the content they serve to browsers. Developers can send HTML5 content to Metro style IE, or express their preference that Metro style IE prompt users to run their site on the desktop (see details here).

A good Flash Player experience is part of a no compromise experience across all form factors of PCs, including touch-centric PCs running Windows 8. We’ve heard feedback from customers about their experience with sites that do not offer an HTML5 experience. For example, try pbskids.org on an iPad. Some workforce solutions, like Beeline, require Flash. Some financial management sites, like this one, require Flash. And some sites still deliver their best experience with Flash, such as youtube.com.

Adobe and Microsoft added support for touch gestures – like double tap and pinch to zoom – that work consistently across HTML5 and Flash. Adobe and Microsoft worked together to disable the desktop Flash functionality that is incompatible with touch, such as rollovers, within the Metro style experience. Much of Flash’s other functionality works well with touch.

Together we have also improved battery life with better support for PLM in the Metro style experience. Flash on Windows has already supported offloading potentially battery-draining video work to specialized video hardware for some time (link). This work improves responsiveness and performance as well.

Adobe and Microsoft have worked closely together for some time to address security and reliability issues (for example here, and here), sharing best practices like the SDL/SPLC and ASLR as well as information on hangs and crashes. By updating Flash through Windows Update, like IE, we make security more convenient for customers. Microsoft and Adobe remain committed to meeting the expectations of Windows customers with regard to the delivery of security updates. We are also working together on accessibility, manageability, and privacy.

The Flash Player included with Windows 8 is based on the full PC implementation and not a limited mobile subset, and there’s a clear path to make it available on the new chip architectures that Windows 8 supports. Adobe is committed to delivering this same Flash Player support for Metro style IE on both x86/64 and the initial delivery of Windows RT PCs (Windows running on ARM processors).

For the development community, platform continuity and technology choice are important. Flash in Metro style IE10 provides a bridge for existing sites to transition to HTML5 technologies where it makes sense and at a pace that is right for the experiences they want to deliver to their customers. HTML5 does not currently support, for example, some premium video content and game scenarios.

We will provide additional technical information in the coming weeks through the regular documentation channels, like MSDN and Adobe Developer Connection. These details will include how developers can test Flash content on their own sites in Metro style IE, and how to submit their sites for consideration for the CV list. This documentation will also include a best practices guide to help developers, designers, and content publishers create experiences with Flash that plays well on Metro style IE. These best practices will complement existing recommendations on authoring touch-friendly HTML5 sites.

“Do Not Track” on By Default in IE in Windows 8

In Windows 8, IE10 sends a “Do Not Track” signal to Web sites by default. Consumers can change this default setting if they choose. This decision reflects our commitment to providing Windows customers an experience that is “private by default” in an era when so much user data is collected online. IE10 is the first browser to send a “Do Not Track” (DNT) signal by default.

By changing the default Do Not Track setting in IE 10, we are broadening our commitment to providing consumers a great experience in Windows. And in the event companies don’t respect the Do Not Track signal, IE 10 will continue to include Tracking Protection list support to help consumers block unwanted tracking with two clicks. While some people will say that this change is too much and others that it is not enough, we think it is progress and that consumers will favor products designed with their privacy in mind over products that are designed primarily to gather their data.

You can read more about other actions underway with DNT here.

Vendor prefixes, and moving the Web forward from experimental to stable

With the Release Preview of Windows 8, IE10 adds support for non-vendor prefixed versions of standards that have reached Candidate Recommendation (CR) status since the Windows 8 Consumer Preview or should reach CR in 2012.

With this change, IE10 makes it easier for Web developers to write markup that works consistently across different browsers. Specifically, IE10 now supports the following W3C draft standards in their unprefixed form starting with the Release Preview: CSS transitions, transforms, animations, gradients, and CSS Fonts’ font-feature-settings property, as well as platform APIs such as the Indexed Database API (IndexedDB) and requestAnimationFrame().

We selected these standards after examining all the W3C draft standards IE10 supports and looking for standards that are stable (having no significant renaming or removal of properties/values expected), supported and interoperable across at least two browsers other than IE10 for the features’ core use cases, and already in use on the Web, including in their unprefixed form.

Browser vendors generally drop the vendor prefix once a specification reaches CR. For compatibility with sites and apps developed using the Windows 8 Consumer Preview and that rely on the Microsoft vendor prefix, IE10 continues to support the -ms- vendor-prefixed forms as well. Note that IE10 continues to support only the vendor-prefixed form of several other standards because these specifications are not yet sufficiently stable and interoperable, for example CSS Flexible Box Layout.

As a best practice, developers typically add an unprefixed version of a property to “future-proof” their pages. The following set of declarations is now ready for future browsers that support unprefixed CSS Transforms:

-webkit-transform: rotate(30deg);

-moz-transform: rotate(30deg);

-ms-transform: rotate(30deg);

-o-transform: rotate(30deg);

transform: rotate(30deg);

Other Key Platform Changes

In the Release Preview, we continue to improve performance. Web pages should just “stick to your finger” and remain fast and fluid while panning, zooming, and scaling content. The Chalkboard Benchmark shows the results of some of our performance work. It measures how efficiently a browser can perform these common touch actions by zooming in and out of a “chalkboard” while panning left, right, up, and then down. IE10’s performance here is a great example of Internet Explorer’s hardware acceleration in action.

Performance improvements contribute to great touch support, for example with full independent composition of Web page contents (fixed elements, subscrollers, animations, and video). We’ve also improved performance on low-end hardware; intensive sites now show much less flashing and flickering on low-end hardware. These improvements make IE10’s support for full screen video playback (in both HTML5 video and Adobe Flash Player) even better.

We’ve continued to improve the performance of the Chakra JavaScript engine. JavaScript intensive Web applications, like HTML5 games, will benefit from dynamic profile-based JIT, type-specialized code generation for floating point numbers, expansion of function inlining, and further tuning to reduce the idle memory footprint while reducing the observable pauses due to garbage collection.

We’ve also improved standards support in a number of ways. IE10 now has support for IVS/Emoji characters and the classList API and new reverse and alternate-reverse values of the animation-direction CSS property. DOM exceptions match the W3C WebIDL spec, and developers can use a constructor to create Blob objects, matching the W3C spec. We’ve also removed legacy DX filters from all modes.

HTML5 applications and sites can do more with touch via the MSGesture APIs that provide instantiable gesture event handling.

A Better Web Today, and Ahead

The opportunities continue for HTML5 to make both Web sites and applications better. Those opportunities are exciting for everyone on the Web.

To get to that Web sooner, we continue to recommend that developers update old and out of date patterns on their sites. Looking at the CV list you can find examples of sites that need shimming because they use out of date libraries (e.g. here) or rely on browser detection rather than feature detection. The compatibility problem reports we receive have more to do with sites detecting IE and sending it different content than they send other browsers than any particular issue in IE. Developers can find sample feature detection code patterns in several IE blog posts, including this one.

The quality and correctness of different browsers’ HTML5 engines continue to vary widely. We will submit updates to test cases to the W3C for all the features that IE10 now supports without a prefix. As members and co-editors of the CSS Working Group, we will work with our colleagues to move these specifications forward to Candidate Recommendation. We continue to contribute to the test suites under development at the HTML5 standards bodies to further the goal of interoperability and same markup. We’ve submitted and updated over 240 tests to them that you can view at the IE Test Center as well. As different browsers improve their support of the same markup to produce the same results, we can all realize the promise of HTML5.

You can find a full list of new functionality available to developers in the IE10 developer guide here. Download the Windows 8 Release Preview to try this update to IE10. We look forward to continued engagement with the developer community and your feedback on Connect.

—Dean Hachamovitch, Corporate Vice President, Internet Explorer