HTML 5 is a promising specification that codifies many existing implementations and features, like Apple's Canvas, and introduces native support for video, web workers to run JavaScript in a separate thread, and improved SVG APIs, to name some.
The man behind bringing the HTML 5 specification to life is Ian Hickson, a Google-employed standards writer and editor, whose resume includes co-editing the CSS 2.1 specification, managing the CSS3 Lists and CSS3 Generated and Replaced Content modules specifications for the W3C, and helping to create WHATWG. Hickson's leadership of the HTML 5 specification has sometimes been controversial, but it has produced what may be one of the most complete and operable web standards to date.
In this interview, Hickson responded to questions submitted via email.
Ecommerce Developer: How did WHATWG and the HTML 5 specification get started?
Ian Hickson: "In 2003, the publication of XForms, a technology which was positioned as the next generation of web forms, sparked a renewed interest amongst browser vendors in evolving HTML itself, rather than finding replacements for it. This interest was borne from the realization that XML's deployment as a web technology was limited to entirely new technologies (like RSS, and later, Atom), rather than as a replacement for existing deployed technologies (like HTML).
"A proof of concept to show that it was possible to extend HTML 4's forms to provide many of the features that XForms 1.0 introduced, without requiring browsers to implement rendering engines that were incompatible with existing HTML web pages, was the first result of this renewed interest. (We called this work 'Web Forms 2.0;' it later became the 'forms' chapter of the HTML 5 specification.)
"The idea that HTML's evolution should be reopened was tested at a W3C workshop in 2004, where some of the principles that underlie the HTML 5 work, as well as the aforementioned early draft proposal covering just forms-related features, were presented to the W3C jointly by Mozilla and Opera. The proposal was rejected on the grounds that the proposal conflicted with the previously chosen direction for the web's evolution; the W3C staff and membership voted to continue developing XML-based replacements instead.
"Shortly thereafter, Apple, Mozilla, and Opera jointly announced their intent to continue working on the effort under the umbrella of a new venue called the WHATWG [Web Hypertext Application Technology Working Group]. A public mailing list was created, and the draft was moved to the WHATWG site. The WHATWG was based on several core principles, in particular that technologies need to be backwards compatible; that specifications and implementations need to match, even if this means changing the specification rather than the implementations; and that specifications need to be detailed enough that implementations can achieve complete interoperability without reverse-engineering each other.
"The latter requirement in particular required that the scope of the HTML 5 specification include what had previously been specified in three separate documents: HTML 4, XHTML 1, and DOM2 HTML. It also meant including significantly more detail than had previously been considered the norm.
"In 2006, the W3C indicated an interest…in the development of HTML5 after all, and in 2007 formed a working group chartered to work with the WHATWG on the development of the HTML5 specification."
Ecommerce Developer: If you had to take a snapshot of the HTML 5 specification, where would you say it is today?
Ian Hickson: "We're in the 'bug-fixing' stage of the process. Browsers are implementing features, we're fixing bugs they find, people are starting to use it. Many people are sending lots of feedback, especially the browser vendors, which is really great. If there's one thing I would say, though, it's that I really wish Microsoft was sending us more feedback. They've sent less than a dozen emails so far this year, and didn't send many last year either. Compare this to some of the other browser vendors who have individual engineers sending dozens of emails each day. In their defense, they have tried to become more involved; one of the chairs is a Microsoft employee, and they've volunteered to edit some drafts. But the most valuable thing a browser vendor could do is contribute implementation experience, and they haven't really been doing much of that."
Ecommerce Developer: In a recent podcast, Bruce Lawson of Opera Software said that there was a "culture clash" between the W3C and WHATWG over HTML 5. Is that a fair characterization?
Ian Hickson: "Certainly. It's not really between the W3C and the WHATWG so much as between different parts of the standards community, though. It relates to what I wrote above about the core principles of the WHATWG. Many members of the standards community strongly believe that what matters is the standards, and that if the implementations don't follow the standards then the problem is by definition with the implementations. The WHATWG core principles say otherwise: the spec is just a means to an end, so if the implementations don't match the spec, that's as much a failing of the spec as of the implementations. This leads to the spec requiring some things that aren't the 'right' solution theoretically, and that gets a lot of the web standards community riled up.
"Similarly, the level of detail we're putting in the HTML 5 spec and other specs that have sprung from it really far exceeds the level of detail that most specs have had up to now. For example, few specs define what implementations are to do when they are faced with invalid input--it's generally considered the problem of the person writing the invalid input. But we've found that, in fact, most (at least 90 percent) of HTML is invalid, so we're making sure that implementations define what should happen with all input, even invalid HTML.
"Another way of looking at these differences, another symptom of these differences, is that in developing HTML 5 we often would look at data more than at the theory. For example, HTML has a 'link' element, which used to have 'rel' and 'rev' attributes. They make theoretical sense--one gives a link relationship in one direction, the other gives the reverse link relationship. However, in developing HTM L5 we actually went out and studied what authors were really doing with 'link,' and we found something unexpected, almost nobody uses 'rev,' and, in fact, almost all uses of 'rev' are actually typos where the author really meant 'rel.' So we dropped 'rev' from HTML 5, even though in theory it's a nice idea.
"We have this saying in the WHATWG community, 'Does this solve a real problem?' If it doesn't, then why are we spending time on it?"
Ecommerce Developer: Many web developers see the HTML 5 specification as the future of web applications. Do you believe that is case? Why or why not?
Ian Hickson: "It was designed to provide web applications with the features they need today and in the near future. So, if we did our job, then yes, it'll be a big part of the future of web applications."
Ecommerce Developer: Can you describe the present state of browser support for HTML 5?
Ian Hickson: "I'm not the best person to answer this, because I spend so much time on the bleeding edge that I really don't know what the shipping browsers support."
Ecommerce Developer: If you were developing a website now, would you use HTML 5? Why or why not?
Ian Hickson: "If I were developing a website, I'd use HTML, including some features that are new in HTML 5, yes. It depends entirely on what the browsers support, though. Many of the things that are 'new' in HTML 5 were actually invented by browser vendors years ago, we just went ahead and specified them for the first time. Most people writing web pages in the last ten years have unknowingly used HTML 5 features. For example, anyone who's ever used the 'window' object in JavaScript is technically using an HTML 5 feature, since that had never been specified before, even though it was invented in the mid 90s."
