In a recent post, Adrian Roselli ranted a bit about the awkward position we are in with regard to HTML5. Here’s a taste:
The trend continues where I speak to clients, vendors, young developers fresh out of college, and even the teachers/professors who instruct them and they don’t understand that HTML5 and CSS3 aren’t the same specification. I have repeatedly shown an HTML 4.01 site with CSS3 to explain that they are each distinct specifications which can be applied in different combinations of different versions. This is further complicated when JavaScript is folded into the mix—some folks even think jQuery is part of the HTML5 specification.
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.
- DHTML, as you may recall, was a catch-all phrase that meant using HTML, CSS, and JavaScript together, but some people thought it was an actual technology in its own right. Thanks marketing wonks!
Comments
It’s remarkable that semantics are important IN the HTML5 spec, but not when we talk ABOUT the HTML5 spec.
I think part of the problem is, as you’ve alluded to with your hixie comment, that the WHATWG version of the spec includes all sorts of things that are broken into separate specs in the W3C version. So which becomes canonical and definitive, especially as HTML5—the markup language—itself becomes an API?
Hi Aaron! So very true. I very often receive requests from account directors, managers and clients to “Just use HTML5” when what they really mean is CSS and JavaScript (jQuery). Maybe I’ll send them this post in the future. Thanks!
The public has enthusiasm for HTML5? My wife’s bank started putting up notices that she should upgrade her browser which is both stable and less than six months old. My suggestion was to find a new bank.
Developers get geeked up for new tech. But the public hopes that their new computer will run for at least three years without upgrades, hardware or software.
I like playing with the new stuff. Firefox 8 has a much faster javascript engine. But it has also changed the user experienced UI of the Internet. So, i don’t run it as a primary browser. I like running my home systems with minimal maintenance. I don’t run an OS that requires virus scanners, with constant updates. My employer has provided me with a ten year old OS for my desktop. I’m not allowed to install anything. This is reality.
Many new ideas have really poorly thought out impact. For example, DHTML allowed the screen to be repainted multiple times without user input. That means that buttons move around. One of my favorite trivial demos has a single “press me” button that moves around as your cursor approaches it. And this insanity is reality for many web sites.
The tech community needs to be able to talk to each other and talk to others using the expected semantics for each. In my job, I routinely have to talk to at least four communities who have different expectations for definitions of words. And, none of this has to do with computers. The computer industry has always had different definitions than the public. Get over it. Far worse is when a major corporate player routinely gives new definitions to the tech community and expects them to use them. This creates true confusion in the tech community.
It’s certainly become a catch all term for all modern web technology.
I’m not entirely sure that this is an awful thing or that it really matters though.
Again, like DHTML, it seems to be a PR stunt driven by a lot of tech companies who want to showcase their latest software.
I don’t think people can be educated in this respect, at least those who don’t have a clue about what HTML5 really is. Does it matter?
I think it does matter, to a certain extent. To quote my post: