The long road to HTML 5
Connecting state and local government leaders
The World Wide Web Consortium is developing HTML Version 5, which will include tools to build Rich Internet Applications without requiring plug-ins from a vendor. But a final version is still a long way off.
When the White House decided earlier this summer to create a visual dashboard on the USAspending.gov Web site, it used an obvious technology for the job: Adobe Flash, which can render graphics and animations on Web pages.
In this report:
Precise elements and application programming interfaces
The developers also are planning to use Microsoft Silverlight for future parts of the service, too, according to a source. The choices make sense. Flash players and, to a lesser extent, Silverlight are widely accessible by browsers in the United States. But by using those technologies, the White House was showing a preference for a single vendor's technologies, something government agencies try to avoid. It looks too much like an endorsement and invites vendor lock-in.
To be fair, Adobe has been open about Flash. The company published the Flash specification on its Web site, and the underlying language, ActionScript, is open source. But using Flash still relies largely on a single vendor's authoring tool and player.
At the Government Web Managers Conference in Washington in April, federal Chief Information Officer Vivek Kundra talked about how the government should use standards where applicable to avoid issues of lock-in. However, he also noted that Web managers can't always wait for the slow process of standards development. USAspending.gov is a prime example of relying on what Kundra called a de facto standard.
One reason is that the standardized, vendor-neutral language used to create the Web, the Hypertext Markup Language, doesn't yet have the tools to create Rich Internet Applications, such as dashboards.
The World Wide Web Consortium, the standards body behind HTML, ratified the current version, HTML 4, in 1997. In the long interval since then, W3C has been criticized for letting the Internet world jump ahead of the HTML standards. At the XML 2007 Conference in Boston, Yahoo JavaScript Senior Architect Douglas Crockford noted that a number of single-vendor offerings have sprung up because of a lack of standards for offering rich Internet content. Microsoft Silverlight and Adobe Flash are two of them.
W3C is working on HTML 5 to meet those new demands, promising that the new version will offer the tools to build rich Internet applications without requiring plug-ins from a vendor.
"The general goal of all of the work that we are doing on client-side browser technologies is to provide developers and users with the choice of a common, open Web platform based on completely open standards and with a feature set that is on par with the set of features available from other application-delivery platforms both on and off the Web," said Mike Smith, co-chairman of the W3C working group that is drafting the new standard. HTML 5 will offer developers the ability to draw graphics and create full-scale Web applications. HTML 5 also will likely offer video and audio without plug-ins.
One might assume that the industry would move uniformly toward HTML 5, given that the entire Web was built on the language. But that doesn't seem to be the case. Microsoft and Adobe are contributing engineers to the HTML 5 standards development process, yet both remain noncommittal about adopting HTML 5, at least while it is still in development.
Work on HTML 5 started in 2004. W3C accepted a draft in 2007 and published a first public working draft in January 2008. But even though it’s been around a while, it still has a long way to go. "The HTML 5 timeline states that it will be at least a decade before the evolving HTML 5 efforts are finalized, and it remains to be seen what parts will be implemented consistently across all browsers," said Dave McAllister, Adobe's director of standards and open source.
In the meantime, the developers recommend that government agencies experiment with HTML 5 but not use it for production systems. They also want agencies to send feedback to the W3C working groups.
New features
To understand where HTML 5 needs to go, it is helpful to think about how we use the Web. In 1997, much of what people did on the Web involved looking at Web pages. There were some online services at the time, such as Amazon or eBay, but most sites were static.
However, people are increasingly using Web applications, or services that execute specific tasks on their behalf. For example, there are online spreadsheets and word processors from Google and others. Those applications require advanced functionality, such as the ability to save a Web application to a local hard drive so users don't need to download it every time they need it. And applications also need sophisticated controls, beyond the simple links that HTML supports.
Web applications have an extra level of interactivity, said Bruce Lawson, standards evangelist at Opera Software ASA, maker of the Opera browser. The Web experience is no longer just about "reading the text on the page and clicking on the links. There is a lot going on there. HTML 4 is excellent at traditional pages, but it is hard to write Web applications in HTML 4 because the language wasn't designed for Web applications."
"HTML 5 tries to bring HTML into the world of application development," said Vlad Vinogradsky, senior principal architect at Microsoft. The idea is to make HTML 5, along with companion technologies such as JavaScript and Cascading Style Sheets, an application development platform.
For instance, the canvas element of HTML 5 allows images to be rendered on a browser rather than in the server, as is currently done. So if a user is crunching data and would like to see a pie chart or graph, the canvas element can display the chart without transmitting the information back to the server for rendering. "Canvas allows you to carve out an area on the screen and start painting it," Vinogradsky said.
In addition to the canvas function, HTML 5 offers a range of features for building Web applications, such as the ability to save applications on a local hard drive and support for more sophisticated navigation features.
HTML 5 also delves more deeply into the world of multimedia, such as video or audio files. Its video tag will allow browser-makers to develop built-in media browsers.
Another big advance of HTML 5 is that will incorporate Extensible HTML, or xHTML, a version of HTML that is rendered as a subset of an Extensible Markup Language application. Casting HTML pages into an XML format allows their contents to be parsed more thoroughly by computers. It will not be a requirement that Web pages be rendered in strict XML syntax, which requires more diligence on the part of the page authors, but pages that are rendered in such a format will be machine-readable, Smith said.
Hurdles ahead
The final call for changes in the HTML 5 specification is set for October, although a lot of work remains after that.
In a way, the W3C working groups behind HTML 5 — the HTML Working Group and the Web Hypertext Application Technology Working Group — are stuck between a rock and a hard place. On one hand, they need to craft a standard that will cover all possible uses of the Web. On the other hand, they need to keep up with the work that Microsoft, Adobe and others are doing to extend the Web with their individual technologies. In addition, HTML 5 should be backward-compatible, meaning pages rendered in earlier versions of HTML will continue to work in new HTML 5-ready browsers.
"It's a time-consuming process, and there is no way to short-circuit it without also shortchanging the quality of the specification," Smith said.
Crafting a standard is an iterative process, he said. "Among the factors are the issue of getting agreement from implementers and from the community about what particular features to include, how to prioritize them, and what exactly the precise specification text for those features should be," Smith said.
A draft must be written, then posted for feedback. Once feedback is in, developers must alter it to address the valid points. The resulting changes must be posted for further review. Developers also need to write test cases, which can expose differences among the implementations.
Could development be broken into multiple chunks? It could, but it wouldn't speed the process, Smith said. "A specification of this scale is inherently complex to the degree that many parts of it are [intermingled] with one another in such a way that it's very difficult to split them up into separate stand-alone components without doing damage to the integrity of the specification as a whole," he said.
In a recent blog post, Lawson described a number of issues that still need to be worked out. One, for instance, is that some of the elements are ambiguously defined. Although most of the new tags could be readily understood — the Header and Footer tags, for instance, should be obvious to everyone — other tags, such as the Aside tag, are open to interpretation.
"Everything is fine as long as everyone understands what the tag means, and they use it all the same way,” Lawson wrote. “But if it is ambiguously defined, it can be used in different ways, so there is no use of trying to mark something up using an element if no one understands what the element is for."
Another hurdle is selecting the appropriate video format, or codec. The working groups do not seem to be able to standardize on one. Some members are arguing for the open-source Ogg Theora format, while others are opting for H.264. Google has declined to use Ogg, citing bit-rate quality issues and the fact that the Ogg format has not been entirely cleared of patent encumbrances. For its Safari browser, Apple has opted for H.264, which can offer higher video quality but costs money for browser companies to license. The W3C has made it a point not to standardize on any technologies that must be licensed to use.
Another issue that federal agencies should keep in mind is that HTML 5 still has a way to go in complying with Section 508 standards, which require agencies to make information technology systems accessible to people with disabilities. The W3C worked to make HTML 4 Section 508-compliant, but several of HTML 5’s features, notably the video tag and the canvas element, don't have provisions for providing alternate text for what they display, especially in cases where they are displaying dynamically created content, Lawson said.
Taking part
Despite those concerns, Lawson is optimistic that, when it does arrive, HTML 5 will be a success. "I'm pretty certain these things will be shaken out before [HTML 5] goes live," Lawson said.
What should agencies do to prepare? Although they should keep an eye on HTML 5, they should not be using it on production Web sites yet, Smith said. "No organization should be using any new features from the HTML 5 draft with the assumption that they are stable or supported across browsers," he said.
Indeed, browser support for HTML 5 varies. Version 8 of Internet Explorer, for instance, implements certain HTML 5 features, such as DOM-based storage and crossdocument messaging, which is the ability to build a customized Web page, securely, from multiple data sources. Other browsers have implemented others features. Firefox, Opera and Safari offer the canvas tag, for instance.
Vinogradsky said federal Web managers should "stay abreast with all the developments and try to actively participate." If an agency has particular requirements for the standards, being actively involved in the standards development process is a good way to ensure that your needs will be addressed.
Lawson noted that unlike former iterations of the HTML development process, anyone can join the HTML 5 working groups. Previously, only large organizations could afford to sponsor a representative. The current working groups have pledged to consider all valid input, no matter the source.
Will HTML 5 eliminate the need for technologies such as Silverlight or Flash? Vinogradsky said no: Developers will use a mixture of both, weighing the trade-offs of each technology. No matter how well-intentioned browser-makers are, variances between how browsers render pages will always occur. A developer has to weigh crossbrowser flexibility and the ability to use advanced features supported by any one particular browser.\
"I think it is premature to jump into HTML 5, but it certainly is a technology to watch," Vinogradsky said. "And you certainly need to have a voice in the process."