We've come a long way from the flat documents that made up the Web in its early years. As Internet access has expanded and bandwidth has increased, designers and programmers have figured out ways to build sophisticated, interactive applications that run through the browser. Nowadays, these include Web-based word processors, photo-editing software, money-management tools, and much more.

The next generation of HTML, the markup language that is used to build most Web content, promises to make Web applications work even better. Some proposed features of this new standard--HTML 5--are already being built into several popular browsers, offering a glimpse of an application-enabled Web.

As things stand, Web applications are hampered by the code used to build them because they were never designed to make fullfledged desktop-style programs run. For example, most browsers can only run one piece of JavaScript code--a scripting language that can run on top of HTML--at any one time, and this limits the functionality of a Web application. To make matters worse, different browsers react differently to existing Web standards, leaving developers to struggle to make sure that their application is compatible with different browsers.

"We started to see a migration to doing more and more stuff on the Web," says Christopher Blizzard, open-source evangelist for the Mozilla Foundation, which maintains the Firefox browser. Blizzard says that most browsers simply cannot access data stored offline, or perform complex graphical capabilities without the use of a plug-in such as Flash or Java. "We're trying to find ways for people to be able to take the live, programmable documents that make up the Web and start integrating them with all these other pieces outside the scope of the browser."

But guided by HTML 5, browsers are finally being reengineered to address many of these problems. Michael Smith, a member of the World Wide Web Consortium's HTML working group, says that the most important part of the effort has been creating specifications to ensure that different browsers perform more tasks in the same way.

To help browsers handle intensive Web applications, HTML 5 includes a feature called worker threads. These allow a browser to deal with heavier computation by running JavaScript in the background, while a user goes on interacting with the application as usual. This part of HTML 5 will be supported in the next release of Firefox, and a similar technology is already part of the Google Chrome browser. Brian Rakowski, director of product management for Chrome, says that Google's browser will move toward the technology described in HTML 5.

HTML 5 will also bring new video and audio capabilities to Web pages. A feature called Canvas--now supported by every major browser except Internet Explorer--lets developers create HTML graphics that match those that they would build using Adobe's Flash software. Andreas Bovens, Web evangelist for Opera, says that "developers are still exploring the richness of Canvas," but he believes that the feature could be used to create sophisticated games and other graphical applications employing HTML alone.

The new standard also focuses on making Web applications work offline. Google Gears and Adobe AIR already allow a Web-based application to access local storage and processing on a user's computer, but HTML 5 aims to make offline capability even easier for a browser to use, without requiring additional plug-ins. Mozilla's Blizzard adds that it's not just about going offline: it's also about allowing a browser to access more of the user's hardware. For example, he says, standards are starting to emerge for defining how a browser running on a cell phone should access the location information stored on that device.

All the major browsers--Safari, Firefox, Opera, Google Chrome, and Internet Explorer--have started adopting parts of HTML 5. But each browser has taken a slightly different approach. Apple's Safari, for example, has focused on performance, incorporating new features only when they do not harm the browser's overall speed. The latest version of the Opera browser includes many features of HTML 5, and an experimental version supports HTML 5's video capabilities. Both Google Chrome and the beta version of Safari support HTML 5's offline features.

For the features described in HTML 5 to become an official Web standard, they need to be incorporated into two different browsers. Since they are built on the same framework Safari and Chrome count as one browser in this respect. A Web page that uses the feature will then need to work just as well in both browsers. Smith of the World Wide Web Consortium says that it may take some time to make progress, since there are so many independent browsers. "There's no way to speed it up," he says.

Copyright Technology Review 2009.