HTML5 has generated a great deal of buzz lately. It’s bursting with potential as an application platform that could augment or even outright replace traditional technology stacks. Yet even with its growing awareness, many are still struggling to grasp what HTML5 actually means from a definition standpoint, in order to better understand its features, drawbacks, and how it could change and grow in the future. And beyond definition, one key question weighs on the minds of those considering HTML5 for development projects: “Is it ready?”
In a Nutshell
HTML5 allows us to build robust applications available anywhere and on any device with Internet access. This includes not only desktop computers and mobile devices, but also any place where Web access spreads in the future. The term “HTML5,” however, is rife with confusion.
There are several different ideas about what HTML5 actually is, and trying to discuss it without first agreeing on a definition can be problematic.
While there is an official HTML5 language specification defined by the World Wide Web Consortium (W3C), we shouldn’t limit our definition to the specification document. The W3C recognizes the term HTML5 to mean a much broader and fluid set of technologies, termed the “open web platform.” This platform includes technologies for delivering improved performance, functionality, design, multimedia, data storage, and device access. It is this platform as a whole that people are generally referring to when they use the term HTML5.
What HTML5 Is
HTML5, in practice, is a group of technologies that allow us to build robust applications that are located on the Web. This is in contrast to the simple model of pages linked to other pages, which dominated the Web for its first decade. A Web application, in theory, can offer the same functionality as any traditional software application, with the added benefit of being accessible anywhere with an Internet connection.
Until recently, such applications were only available on the Web by using proprietary technologies such as Adobe Flash and Microsoft Silverlight. Today, the technologies of the open Web platform have advanced to the point where these applications can be built on a collection of freely available technologies that are available on any Web browser. No plugins are required.
What HTML5 Is Not
HTML5 is not a magic bullet. It is a toolbox of many different tools, each of which can be used to build a software application. Not every tool is useful in every situation, and given the state of support for certain tools, developers may opt to fall back to an older technology such as Flash or Silverlight where appropriate.
Is HTML5 Ready?
The readiness of HTML5 is a topic debated predominantly in the business media and less so among developers. This debate stems partly from confusion between the codification of an HTML5 “standard” and the availability of the features encompassed by that standard. In no case do browser vendors wait for the standard to be set before implementing features. In fact, the features already implemented in the real world—not the other way around—drive the standard. In a December 2012 press release announcing the completion of the HTML5 definition, the W3C said “As of today, businesses know what they can rely on for HTML5 in the coming years…” The same release noted that 63 percent of user interface developers were already “actively developing with HTML5.”
While the W3C maintains a target date of 2014 for the specification to reach “recommended” status, many HTML5 features are available today, and indeed some have been available for years. A particular feature or technology may have limited browser support, but workarounds exist for backwards compatibility. This concept of “graceful degradation” is a best practice that allows developers to leverage the latest features on browsers that support them, but fall back to older technologies for less-capable browsers. It’s important to remain aware of the status of the constantly changing support landscape—recommending solutions on a case-by-case basis, depending on the availability of particular features.
That’s not to say that valid concerns about HTML5 don’t exist. For example, content creators are worried about protecting their intellectual property when using the new multimedia features of HTML5. Until a solution exists that they find satisfactory, plugins such as Flash or Silverlight can be combined with HTML5 applications to allow the sharing of content with some measure of copy protection. For this technology especially, a path of research and adaptation over the long term will be more prudent than outright rejection.
The only constant about the web as a platform is that it’s in constant flux—which won’t be changing any time soon. Every project is different, and what may be perfect for one may not suit another. That being said, HTML5 is the way forward for development, at least for the foreseeable future.