HTML5, IE9 and Interoperability

HTML5

Yesterday, the World Wide Web Consortium (W3C) introduced a new HTML5 logo program. From the description on the logo page:

It stands strong and true, resilient and universal as the markup you write. It shines as bright and as bold as the forward-thinking, dedicated web developers you are. It’s the standard’s standard, a pennant for progress. And it certainly doesn’t use tables for layout.

We present an HTML5 logo.

Jean Paoli outlines the motivation for this logo as one “with a consistent visual design is an important indication of the growing maturity of many components of HTML5”. Personally-speaking, I like it. I think it embodies a modern design that reflects the potential of HTML5 and associated web standards like CSSSVG, and WOFF. That stated, there’s still a lot of work left to do around standardization by organizations like the W3C. As this work continues, many web developers will incorporate them to build modern web applications.

Internet Explorer 9 (IE9) has a tremendous amount to offer when building these web applications in a rich, interoperable and standards-compliant manner. Building a website and having it work consistently across all browsers has been the dream for web developers for many years. Much of the work the IE team has accomplished is oriented towards making this dream a reality. One of the ways the team has accomplished this is through the availability of IE Platform Previews; a mechanism of getting an implementation of these web standards into the hands of web developers earlier and to solicit feedback on the progress made.

Our commitment to web standards is also reflected our ongoing focus on interoperability and commitment to the W3C. Again, from Jean Paoli:

Microsoft, as part of its ongoing focus on interoperability, is committed to the W3C and we currently have had some 66 participants in 38 technical groups. We work closely with other members on a range of matters, from drafting early specifications to developing test suites to improve interoperability.

Much of the work we’ve accomplished around interoperability through web standards can be seen on the IE Test Drive site. Here, you can check out great demos that highlight our commitment to web specifications like HTML5, CSSSVG, and WOFF. Another great example of our commitment to interoperability is demonstrated through the HTML5 Labs, which we launched back in December 2010. The purpose of the HTML5 Labs is to provide prototypes of experimental/unstable specifications:

The HTML5 Labs site is the place where Microsoft prototypes early and unstable web standard specifications from standards bodies such as the W3C. Sharing these prototypes helps us have informed discussions with developer communities, and contributes to a better implementation experience with draft specifications.

Reading Dean Hachamovitch’s post, HTML5, Site-Ready and Experimental, it’s clear as to the reasoning why a site like the HTML5 Labs is necessary (with emphasis added by me):

As the technologies around HTML5 continue to develop, people need a better way to distinguish the more experimental parts of HTML5 from the parts ready for use in mainstream sites. The recent browser technology kerfuffle around WebSockets offers a clear example of the problem that developers and consumers will face again and again over support for emerging standards.

With many HTML5 technologies still under active development, our approach is to give developers better choices and avoid false dichotomies around standards support. The IE9 browser has site-ready HTML5 support that developers and consumers can depend on. We will also offer developers “HTML5 Labs” for more experimental technologies still under development. By clearly separating prototype implementations from mainstream browser product ones, we can avoid many negative consequences.

In the IE9 product, we’re delivering on the key parts of HTML5 that are site-ready. IE9 offers support for real-world web patterns that developers are using today as well as the HTML5 patterns we expect to become more mainstream. IE9 does this because we want to improve interoperability on the web by providing developers a consistent programming model through the same mark-up. The goal is supporting great new capabilities, ideally in a way that interoperates or will interoperate soon across browsers.

We will also offer prototype implementations for the more experimental or unfinished parts of HTML5 that some developers may want to try, but consumers can’t depend on yet. We will be explicit about the implementations that are more prototype than product. These prototypes are how we balance providing a product for millions of consumers while actively engaging in speculative technology discussions with developers and enthusiasts and avoid confusing either group. You can read more about that here.

If you visit the HTML5 Labs site, you’ll find available prototypes of IndexedDB and WebSockets. I encourage you to download these prototypes and let us know what you think.

As for me, HTML5 + IE9 is total awesome sauce. With yesterday’s announcement of the W3C HTML5 logo, coupled with the progress the IE team has made in its support of web standards like HTML5, I am very excited about what the future holds for web developers. Already, we’ve seeing some great examples of what’s possible in Canada. And of course, our team will continue to support your skills around web development and IE9. Already, we’ve talked a great deal about these topics at events like Microsoft TechDays Canada 2010 and the Internet Explorer 9 Webcast Series with Imaginet; we’ve published numerous articles in the MSDN Flash; and, of course, we’ve written extensively about these topics on this blog. Make sure to stay tuned to this blog or the MSDN Flash for news and event information for Canadian web developers!