Redmond Review

IE9 and HTML5: Deep Romance or Strange Bedfellows?

Microsoft knows HTML5 is coming, and Internet Explorer 9 (IE9) needs to implement it or face irrelevance. With each successive platform preview release of IE9, Redmond has opened its arms wider to the technology. With the major revision to the Web's markup language expected in HTML5, Microsoft seems to be staking out a large comfort zone. Will there be a no-go zone as well?

HTML5 includes a number of new capabilities and many of them pose an existential threat to Microsoft and desktop software in general. With Scalable Vector Graphics (SVG) and the new <canvas> tag, developers can render graphics and animation in the browser from JavaScript that IE8 can only display using Flash or Silverlight. With the new <audio> and <video> tags, media can be similarly embedded and played without the use of rich Internet application (RIA) plug-ins. And with the Web Open Font Format (WOFF), refined typography can be rendered in a Web page as true text, rather than as images. Taken together, these features allow HTML5 to compete vigorously with the media and presentation capabilities of Silverlight (and Flash).

Of these technologies, IE9 Platform Preview (PP) 2 implemented only SVG. While Microsoft said <audio> and <video> tag support was coming, many were unsure about <canvas> and WOFF. But PP3, released in late June, implemented all these features and moved Internet Explorer's HTML5 flirtation to serious courtship. Taking the relationship to the next level will be much more challenging.

There's an App for That?
The Web has, for much of its history, functioned in two capacities. At first, it handled the sharing of documents, mostly among academics. Later, HTML was extended (some would say hacked) to accommodate simple, form-based applications as well. But Web applications haven't provided for offline operation, nor offered any amenity for local database requirements. They have not been particularly well-suited to intensive data entry, either: things like required fields, input masks and pick lists have required client script, sometimes in great quantity. Given how crucial these capabilities are to line-of-business applications, the Web has not been an acceptable substitute to desktop and RIA development in the enterprise.

Components of the HTML5 draft specification address these shortcomings too. Numerous enhancements to the <form> and <input> tags largely address the data entry issues, allowing declarative markup to be used in place of imperative script to get the UI and data validation working. Offline operation is made possible through the <html> tag's manifest attribute and the cache manifest file. Local SQL database access is provided through JavaScript methods like openDatabase and executeSql. Many of these capabilities are implemented in the current versions of Chrome, Safari and Opera; some are implemented in Firefox as well, but none of these features is implemented in IE8, or even IE9 PP3. Will any of them make it into the final IE9 product?

Microsoft, Choose Your Poison
If Microsoft doesn't implement at least some of these capabilities, it risks further erosion of the IE market share. If it does implement them, Microsoft may risk something bigger: eventual erosion of Windows supremacy. It's one thing if the consumer world moves to HTML for rich media, print content and games, but if the enterprise world moves to HTML5 as the application platform of choice, that could make the client OS a commodity.

On the consumer side, this also threatens Apple, but on the iPhone, iPod Touch and iPad, apps and the App Store are, culturally, the outlets for the premium experience. Apple's comfortable with HTML5 because the Web is a second-class citizen on its hottest, newest platform. Could Microsoft pull a rabbit out of its hat with Windows Phone 7, and leverage it as Apple has leveraged iOS? Maybe. But the Microsoft culture, and its financial security, is oriented around Windows and Office, and HTML5 introduces enormous risk to that franchise.

IE9 needs to walk the line between making Windows the best platform in which to experience the modern Web, while at the same time thwarting the allure of that Web as the dominant host of enterprise applications. IE9 and HTML5 will continue this Tango until the browser ships. Tango is hard; Microsoft must take lessons and practice obsessively. The dance will shed much light on Microsoft's market position for the next decade. Meanwhile, the Microsoft ecosystem needs to watch this performance very carefully. It will shed light on the ecosystem's position too.

About the Author

Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube