Rob Cherny is lead developer for user experience consultants NavigationArts.
The World Wide Web Consortium's statement last month that it was retiring the XHTML 2 Web markup language in favor of HTML 5 sent ripples across Web development waters. The declaration solidified HTML 5 as the official future of Web development based on open standards. In the process, HTML 5, with its plethora of new features, was certified as the first legitimate challenger to the proprietary solutions of Adobe Flash, Microsoft Silverlight, and Sun JavaFX. What, you don't find a new version of a Web markup language that exciting? It's true, some of the new elements and tags defined in the core HTML 5 working draft are probably in the boring-but-important category -- such as new semantics in tags including nav, header, section, aside, and footer, among others. But there's a lot to intrigue anyone doing or in charge of Web development:
- Native plug-in-free audio and video via tags
- A Canvas element for drawing, dynamic text, and animation
- Drag-and-drop event data model
- Cross-document and cross-domain messages
- Ajax navigation history (your Back button will work!)
- Geolocation
- Network status awareness (online/offline)
- Enhanced data types for form controls
- A rich text-editing model
- Local storage in client-side databases
- Web worker threads
These each solve some specific problems, but, more important, they bring HTML, JavaScript, and Cascading Style Sheets (CSS) development on par with many key Flash and Silverlight features. Why does this matter? Openness. Before many of these HTML 5 features, there was no real open alternative to Adobe and Microsoft's closed solutions. HTML 5 changes this by supporting open standards that expose underlying technologies, enabling integration, innovation, and development of more complex software and services.
Why Openness Matters
The Web has succeeded because of its open architecture -- text-based, accessible, fully open, platform independent. This architecture is based on publicly defined HTML, CSS, JavaScript, XML, RESTful APIs, specifications, and network protocols. Anyone with the means can create software to browse or serve the Web by implementing these standards on any platform, allowing the unfettered exchange of ideas, information, and commerce. To many developers, this open architecture is the whole point of the Web. If proprietary technologies and browser plug-ins were required for every site, the Web couldn't run as it does today, nor would the Web be as successful as it has been. A closed, proprietary, plug-in-based Web would break user platform expectations and mix up usability conventions such as context menus, keyboard shortcuts, and form controls. It would prevent bookmarking of URLs and use of the back button. It would constrain users with accessibility concerns, from text resizing to high-contrast viewing.
Admittedly, proprietary solutions can offer great innovation, but they also add barriers to use and frequently limit their development to usage of specific development tools. This is because only select experts know how the technology works, and only proprietary tools can generate the required files, making vendor lock-in a reality.
|
5 New Tools: HTML 5 Adds These Key Features
Canvas -- JavaScript to create Web graphics Location API -- Interface to location data from GPS or other sources Video Element -- Easier to embed video on Web pages AppCache -- Allows Web sites to launch offline Web Workers -- Background threads that speed execution |
Conventional wisdom once held that different browser vendors' proprietary features and interpretations had made consistency in Web development nearly impossible to implement. This has changed. Since the early 2000s, most Web browsers have supported the W3C's open standards in a much more uniform way, making development more straightforward. You only need to look at how users rapidly adopted Mozilla Firefox, Apple Safari, Google Chrome, and Opera to see how standards compliance leads to developer and user converts. Collectively, these browsers already have implemented large parts of the HTML 5 feature set that are, in most cases, enabled without proprietary plug-ins. This is the Open Web at work.


