HTML5: A Specification or a Platform?

An interesting discussion broke out in the comments to the blog post on Never Mind the Bullets during the weekend over my allegedly loose usage of the term HTML5 to describe the site.

682383_55089219Here’s the problem: while strictly HTML5 refers to a draft specification published by the W3C, HTML5 is increasingly being used (particularly in the media) as a generic term to describe the web platform that is built on an emerging generation of web standards. In this context, the term is used as a catch-all for a whole suite of specifications. As a fairly typical example, this InfoWorld article quotes a vast array of luminaries in an attempt to suggest that HTML5 is an emerging competitor to plug-ins like Flash or Silverlight.

Yet the HTML5 specification itself is taken up with very different concerns than many people assume – a large portion of the specification concerns itself with tightening the parsing and manipulation of HTML documents; a considerable proportion of the new additions to the specification have to do with form elements and improved semantic markup. While video and audio are included in the core specification, the specification doesn’t define many other technologies that are often considered part of the emerging web. These are instead described in external specifications (of varying levels of completion): for example, SVG 1.1, Canvas 2D API, WOFF File Format, WAI-ARIA, and so on. CSS is itself a whole family of specifications.

Complicating matters still further, some draft features that are not part of the W3C specification are included in a parallel HTML5 proposal from the WHATWG, a separate community led by a subset of browser vendors (Tim Anderson has a good primer for those who are interested).

So we have an overload of terminology: while at times it’s reasonable and appropriate to distinguish between each of these technologies, it creates problems. A purist will argue that the use of the term HTML5 to represent everything from H.264 video to SVG is wildly inaccurate, and it’s a fair point. On the other hand, we need some term to refer to this family of technologies for ease of reference, and expecting common parlance to explicitly reference a list of distinct specifications is even more unlikely than trying to get everyone to refer to GNU/Linux rather than the usually shortened form. As I mentioned earlier, it’s unlikely that Wiley are going to publish “HTML5, CSS3, SVG 1.1, Canvas 2D API, ARIA, WOFF, and Indexed DB for Dummies”!

What is the answer? While I don’t like the conflation of two different meanings, I also don’t realistically see any solution on the horizon. It’s important to be able to describe the modern web client platform succinctly, but it’s also important that we’re precise with our terminology. Maybe the core HTML5 specification should be described as “HTML5 Core”: at least that would provide for the use of the term in both a specific and a general sense.

Lastly, although I called it out in the comments, I’ll do it again here. If you’re looking for a good primer on the HTML5 specification, I recommend Bruce Lawson and Remy Sharp’s Introducing HTML5 book as a very readable discussion of the new features. While it contains coverage of a few features from the WHATWG proposal that are unlikely to ever be part of the W3C HTML5 specification, it’s both pragmatic and (in my view) fair-minded.

Thoughts? How do you usually differentiate between these two uses of the term HTML5?

Comments (15)

  1. Anonymous says:

    You can sit and debate on the semantics. The rest of us will embrace the "platform" and move on.

  2. Anonymous says:

    is web 2.5 taken?

  3. Anonymous says:

    "A damnable mess" is what I call it. The problem is that there's a whole anarchists' bazaar thing going on when what's needed is a cathedral. The W3C is a disjointed rabble of self-interested third-parties, all of whom are implementing random bits of whatever draft specifications actually exist, plus a bunch of browser-/engine-specific extensions as the mood takes them. Meanwhile the glaring flaws in the entire web development and deployment model (e.g. single-language scripting model, and the necessity of publishing your client-side source code) are going unaddressed.

    Go take a look at the histories of the three major components (HTML, CSS and Javascript) on Wikipedia. The RFC/review/release cycles for all of them are a comedy of failures, and HTML 5 and CSS 3 are shaping up to be the worst yet. And Javascript 2? Not even a thing.

    So, IMO, the best approach is to ignore all of it and wait for it to either go away or, perhaps 10 years down the line, approach the level of stability and concordant browser support that it took HTML 4, CSS 2 and Javascript 1.x well over a decade to achieve.

  4. Anonymous says:

    I would say go with Web 3.0 since we used Web 2.0 to define the explosion of ajax/javascript in the web, we might as well continue the trend.

  5. Anonymous says:

    You raise a good point about how the meaning is shifting.  In my mind, HTML5 means a web page that doesn't make use of any plugins.  While this isn't technically accurate either, I do think that it captures the spirit of what HTML5 is trying to accomplish.

  6. Anonymous says:

    Intersting post. That said, one of my favorite lines from "Enter the Dragon" – "it is like a finger pointing to the stars." When the student looks at Bruces finger pointing to the sky, the teacher slaps the student on the head, saying: "Don't focus on the finger or miss all of the heavenly glory." (paraphrased)

  7. Anonymous says:

    Jeffrey Zeldman, the godfather of web standards opined on this issue at…/html5-fuzzies where he came to the conclusion to use "HTML5 and related technologies" or "HTML5 and other new technologies". I prefer the first myself.

    I think we need to get past the "what we (don't) call it" because at the end of the day, only the geek-sphere cares about the semantics and customers want "hey, I saw that cool thing and I didn't have to download stuff to view it…"

  8. Anonymous says:

    Thanks for the very honest perspective on were 'HTML5' really is.

    Microsoft Silverlight MVP (no biased honest).

  9. 353ade54 says:

    Thank you Tim Best Information!

  10. Anonymous says:

    Web 3.1

    The next era of web technology!! 🙂

  11. Anonymous says:

    You have to keep the technical and the "marketing" terminology (or, specification and platform, as you call it) separated. "Dynamic HTML" and "Web 2.0" are good examples; they have no technical meaning and can be used as a catch-all by the general public. However, HTML5 *is* a technological term. Using that as a catch-all is going to cause confusion. Don't change the meaning of terms that already have a value.

  12. Anonymous says:

    When my mom asks what I do I tell her "I work on computers", because telling her I write JavaScript or anything more specific will just confuse her.

    So you could have gotten away with calling the comic strip HTML5 if you were talking to a general audience. But since you were talking to developers you need to at least be in the ball park of accuracy.

    I often refer to everything that's new in the browser as HTML5, and I do this at my user group that is comprised of mostly Java developers. If they were front end developers I would have to be more specific.  

    I expected to write this and say "Tim, you were close enough and these comments were just being overly picky", but… sorry 🙂 – it's CSS3, not HTML5.

  13. Anonymous says:

    I'm sorry, but isn't Microsoft still struggling to properly implement XHTML 1.0/CSS2? Pff. Sounds to me like you guys have another 20 years or so to worry about HTML5, moving as you are through molasses.

    More to the point: HTML5 is looking so bloated that I can't imagine it hitting the streets in any meaningful way anytime soon.  I think people are forgetting that (X)HTML is a $@!#ing *MARK-UP LANGUAGE*.  The HTML5 draft is already dramatically overstepping its boundaries as such, and not in a good way IMHO.

    I'm really tired of the Big Money trying to turn our web browsers into virtual Opertaing Systems.  M$ can't even implement a proper browser for the CURRENT standards, why should I ever trust them to implement even more pervasive bloat properly?

    (I mean c'mon, you can't even make your comment boxes properly render a scrollbar, making this the most annoying comment I've ever had to write)

Skip to main content