In mid March, Microsoft released version 9 of its storied browser, Internet Explorer (IE). Previous releases of the browser have not had important implications for software development. In most cases, IE's biggest changes have focused on the addition of new features and baubles of primary interest to the user. But IE 9 has definite programmer implications. They center on the use of HTML5, which is the new specification of the language that defines websites.
HTML5 is widely viewed as a watershed technology. Its primary benefits are that it greatly facilitates the use of multimedia and the construction of applications that run in the browser. These benefits hinge on the widespread expectation that complex applications will increasingly be run inside the browser or the browser will function as the GUI to cloud-hosted apps. If you've used online spreadsheets or word processors, such as those offered by Google Docs or Zoho, then you have some sense of how this scenario works.
HTML5 changes this by specifying a wide range of behaviors that the browser must support. These new capabilities include video, drawing, text manipulation, as well as offline storage. Once browsers support these aspects, the applications can simply invoke them via commands, rather than sending bits of the implementation over the network to run on the client or relying on plugins. (For a more detailed introduction to HTML5, see "HTML5 Up and Running."
While interest in HTML5 has been growing steadily, one undeniable barrier to jumping in fully was Microsoft's slow adoption of the specification. Because IE is the dominant browser in the market, any HTML5 development would result in an indeterminate result if it could not be tested in the Microsoft browser. Before this release, the rendering engine in IE — known as Trident — did not fully support several standards that are essential to HTML5, including several HTML5 syntactical advances. The new release of Trident, version 5.0, can now render much of HTML5, as well as Cascading Stylesheets (CSS) 3.0, and Scalar Vector Graphics (SVG).
SVG is a means of specifying a drawing or text using XML. It relies entirely on the browser to take the data elements and render them as lines, curves, colors, and shapes. For years, IE has been the only browser without native support for SVG. This situation accounts for the long delay in adoption of SVG as a common format for specifying 2D graphics and illustrations. The possibility that Microsoft might similarly fail to adopt core elements of HTML5 was a concern that could not be entirely banned until the Redmond giant released an official browser version with these capabilities.
HTML5 and SVG should both receive a shot in the arm due to IE9. Microsoft, perhaps sensing the importance of the release to developers, added other tools that expand previous capabilities to go behind the scenes and explore the execution of a web page: both by viewing and stepping through the code and even profiling its activity.
As Web applications becomes a larger part of workers' daily lives, it appears that Microsoft's browser will be a top-tier participant — no longer only on the basis of market share, but in its standards support and the technology with which it supports developers.