This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.

Monday, June 07, 2010

HTML5 Defined! It's Not Just a Marketing Term

There's been a fair bit of discussion recently about what some folks mean when they say HTML5. I use HTML5 in the wider sense, so it's only right that I take a stab at defining what I mean when I say something is part of HTML5.

From a very high level, when I say HTML5 I mean:

"Everything that is in the formal W3C HTML5 spec; everything that used to be in there but was broken out for various reasons; sibling and related technologies and developments like CSS3, SVG, EcmaScript 5, etc.; and experimental explorations that are pushing the boundaries."

I won't go into the reasons why I use HTML5 in these more expansive terms, as I blogged about that recently.

Going deeper, I've broken these down into separate areas:

One small note; there are actually two HTML5 specs, one maintained by the W3C and the other maintained by the WhatWG.

You need to understand that HTML5 began as a revolution to the established order, initiated by the WhatWG. A peace of sorts developed over the years, with the upstart "Web Applications" and "Web Forms" specs brought in-house to the W3C under the moniker HTML5. Over time I'm assuming that the W3C spec, when Final Call has happened, will be the canonical spec.

To simplify things below, I'm only referencing the W3C HTML5 spec for now. Here's how I would break things down based on what I said above; if you think something should be somewhere else or things get moved around email me and I'll update this (Last Updated: June 14th, 2010). If you want to know the state of where these technologies are implemented see; if you want your code to detect what is available see Mark Pilgrim's book for details.

"HTML5 Strict": Strictly Inside the W3C's HTML5 Spec

"Referenced by HTML5": Referenced from W3C HTML5 spec, including how to parse into an HTML5 DOM; HTML5 parsing engines can optionally include these in DOM and display them

"Broken Out of HTML5": Used to be inside of HTML5, Web Applications, or Web Forms specifications

"HTML5 Family of Technologies": Extended set of technologies not strictly part of HTML5 spec or referenced but likely to be used in conjunction with HTML5
"HTML5++": More experimental technologies pushing the web forward; may or may not see broader adoption

Labels: ,

Why I'm Going to Keep Calling it HTML5

Recently some people have gotten themselves in a tizzy about using the term HTML5 to refer to more than just the spec. I acknowledge that this is a noble quest, kind of like those who want to get the whole world to speak Esperanto.

Frankly it's an impossible task at this point. Language doesn't respect who came up with a term; it takes on a life of its own, and when a term has grown beyond one person you have to embrace and run with it.

I originally thought the term Open Web would become how people referred to these things. "Oh, CSS3, Geolocation, etc.? Those are Open Web technologies!" I was even part of a group here at Google called the Open Web Advocacy team that was all about pushing things like HTML5, CSS3, SVG, and more forward. You know what? The term Open Web never really took off; I would say the term "Open Web" and people would give me a quizzical look. I even tried boiling it down to a succinct set of bullet points about what makes something an "Open Web Technology," but no dice.

I was surprised when the term HTML5 ended up becoming the marketing brand -- I thought no one is going to use a technology term to refer to these things, but that is what happened.

We saw the same thing with the technical term Ajax and the more generic term Rich Internet Applications (RIA). Ajax took off, while the term Rich Internet Applications never went beyond being a somewhat awkward term. People like to use the specific (Ajax) versus the generic (RIA), so the term Ajax stuck and ended up growing to refer to any rich internet application (see?) that involved the use of JavaScript, JSON, dynamic page updates, and more.

The reason we are seeing the term HTML5 growing into our new generic term for the next wave of web technologies is because HTML5 is the real show here. Lots of ancillary technologies are riding the wave and opening HTML5 is making possible, including CSS3, SVG, and more.

In addition, most people in the industry, even the vast majority of web developers, don't really want to know about the specific sausage making behind HTML5. Do they really care that things like Local and SQL Storage were broken out of the main HTML5 spec? Do they care that the Web Socket protocol actually lives with the IETF now rather than being inside the HTML5 spec itself, as it originally was? Do they care about the "how many angels fit on the head of a pin" battles between HTML5 Microdata, RDFa, and Microformats? They don't. They just want to come up to speed on the newest developments and apply them to their jobs.

Sometimes when I want to be a bit more exact I will use the phrase "the HTML5 family of technologies" or "HTML5++", but both of those are a bit awkward and a mouth full.

Here's a challenge for you: if you can come up with a better term, AND actually get the mass of developers and industry to use it, then more power to you. Throw it out there and maybe it will take off. I doubt that will happen though. The language train has left the situation, and it looks like HTML5 is the new nom de guerre for a new iteration of the web.

As they say in Esperanto:

"Ne far monto el papulo monteto."


Don't make a mountain out of a mole hill.

[Disclosure: I work for Google, but this is no way an official statement from Google and is merely my own personal ramblings on the topic.]

Labels: ,

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]