In a recent post, Adrian Roselli ranted a bit about the awkward position we are in with regard to HTML5. Here’s a taste:
It’s true: For all intents and purposes, “HTML5” has become a meaningless catch-all marketing phrase defining a platform rather than a specification. It’s “DHTML” all over again.1
This all probably started with the fact that “HTML5,” as a spec, was always more than a markup language. Even from the very early days at the WHATWG (before they decided to go versionless and just call it “HTML”), “HTML5” was a markup language, an updated DOM interface, and a set of new APIs for interacting with browsers and devices. A few of us took issue with classifying it all as “HTML5,” but it’s not like anyone can tell Hixie what to do.
So yeah, from the beginning “HTML5” has been a bit of a misnomer, but the final blow to HTML5’s usefulness as a term—to me at least—came in the form of Apple’s “HTML5 Showcase.” It received a ton of attention in the press and really got the term “HTML5” out there… oddly enough while mostly demoing CSS3 features and making little to no attempt to disambiguate the technologies at work.
Ok, so what’s the problem with all of this? Some argue that there is no problem, that the public’s enthusiasm for “HTML5” can only bring about positive change on the web. I don’t disagree with that, but I also strongly believe semantics are important. Chris Mills summed up my feelings pretty well on the WaSP blog around this time last year:
This really isn’t good—I appreciate that it is good to have an umbrella term for a group of related technologies and techniques that would otherwise be difficult to talk about in conversation. “Ajax” and “Web 2.0” serve that purpose well. And it is ok to talk about closely-related specs such as Geolocation and Web Sockets as being under the HTML5 umbrella, as long as you clarify it somewhere (you can find a good example in Get familiar with HTML5!). But this is different—HTML5 and CSS3, for example, are two distinctly different technologies, and should not be confused with one another. To do so will impede learning and cause problems with development, documentation, and all manner of other things.
That’s the rub. When engaging in conversations, we need too know which “HTML5” is being discussed. Personally, when I discuss HTML5, I always draw a distinction between “HTML5” the marketing term and “HTML5” the specification even if asked ambiguous questions about HTML5. I’m not saying everyone needs to know the precise differences between the two uses of the term, but it’s our duty to educate them that there is a difference, even if they can’t fathom the particulars.