25

I was reading this and one sentence caught my eye (emphasis mine):

So Ian Hickson, XHTML’s biggest critic, fathered HTML 5, an action-oriented toddler specification that won’t reach adulthood until 2022, although some of it can be used today.

Is that true? Is that really the HTML 5 development cycle? Why is it taking so long? What makes it so difficult to get right that it won't be final until 11 years from now?

EpsilonVector
  • 10,763
  • 10
  • 56
  • 103

8 Answers8

19

The date mentioned for the finalization process was set so far into the future because the standards process for the HTML spec was set up in such a way that it guaranteed wide acceptance of the specification.

Some background: there are two standards bodies that work on drafts related to what we commonly refer to as "HTML5": the World Wide Web Consortium (W3C), and the Web Hypertext Application Technology Working Group (WHATWG). Prior to July 2012, both groups were working (mostly) together to develop HTML.

The main process was to run through a series of milestones:

  • Working Draft: spec is in active development and discussion
  • Last Call Working Draft (LCWD): spec is mostly complete, and implementors have an opportunity to raise any last objections to the spec before it enters the finalization process
  • Candidate Recommendation: spec is effectively finalized and safe to use for implementors and content authors
  • Recommendation: two independent, fully-interoperable implementations of the spec have been fully completed

The LCWD milestone began in 2011 and Candidate Recommendation phase was expected to come relatively soon in 2014. It was the last milestone, Recommendation, which required two full implementations of the spec, that would've taken several years and is the reason for the 2022 date.

In this model, the first real milestone that concerned content authors (not user agent creators, like browsers) was the LCWD, as the spec was intended to be mostly finalized. Once the LCWD was completed, HTML5 would've reached the Candidate Recommendation milestone, and it would've been a final specification in all but name: you would've been able to implement it with impunity, as the last milestone, Recommendation, would have no effect on the content of the standard and is largely uninteresting to content authors.

However, in July 2012, the W3C and WHATWG formalized a split in how the HTML5 draft would be developed. This split, which had been functionally going on for a few years now, sets up two different HTML "tracks":

  • A living standard, developed by the WHATWG and simply called "HTML", wherein the specification is never fully complete. Reasonable consensus for the standard is established but there is no requirement to implement everything.

  • Periodic, stable snapshots of the standard developed by the W3C as the HTML5 spec. As of September 2012, the W3C is proposing to reach the Recommendation milestone on "HTML 5.0" in 2014, with point snapshots every two years (e.g., "HTML 5.1" in 2016).

Because of the former, HTML5, as we've come to understand it, is usable now. Unfortunately, because it is a living standard, using it as a content author requires understanding each user agent's implementation.

  • While Windows XP still holds 60-75% of the market and Win7 (or Vista) is required for IE9 to work i don't think adoption in 2012 will be more than 20-30%. I mean adoption of barely working solution, rather than something that is production ready, like HTML4 or flash. – Slawek Dec 30 '10 at 17:54
  • @Slawek regardless of what [usage share numbers you'd like to believe](http://en.wikipedia.org/wiki/Usage_share_of_web_browsers), more than half of user agents at the time of Candidate Recommendation will have reasonable, if not near complete, support for HTML5. –  Dec 30 '10 at 18:01
  • When I went to a Microsoft event, I overheard two of the presenters talking about how XP will be officially unsupported when Win8 arrives (sometime between 2012-2014). Even now you are unsupported unless you are on XP service pack 3. Upgrades do take a while to gain adoption unless they are pain free. See the rapid transitions between Google Chrome browsers vs. the long upgrade paths of Internet Explorer browsers. (Firefox is somewhere between these two extremes). – Berin Loritsch Dec 30 '10 at 18:04
  • 2
    Well i prefer to learn from the history than refer to prayers of some Microsoft representatives and marketing FUD. DOM Level1 - specification from 1998, no decent support in ANY microsoft's browser RELEASE version until now (IE9 will probably support it, i haven't checked). I'm not saying 75% browsers won't support HTML5 because of WindowsXP, but 75% of IE users can't get HTML5 to work. IE Update is so painfull because it's required to switch operating system before you can change the browser :) I can only laugh at this because that's madness. Better than talk they'd make the damn DOM working. – Slawek Dec 30 '10 at 18:10
  • @Slawek there's not a single shred of evidence to support Windows XP adoption is still that high, that people will not switch when official extended support ends for XP, that IE's usage share (especially in older UAs) is going to rise, or that the adoption trend shown from IE6 to IE7 to IE8 will dramatically change. The browser market is a different game than it was 10 or even 5 years ago, and to base decisions on what happened in 1998 is itself FUD. If you keep living in the past, the future passes you by. –  Dec 30 '10 at 18:13
  • Special additional comment for Mark: Chrome as for now, has best support for HTML5. Half of the browsers? That's insane (we have IE, and some rather slow implementations, like mozilla). You'll never have 50% adoption on the level of Chrome in 2012. Despite implementation in chrome... all i can say: half-baked, full of bugs, slow, years from production ready. You can't even switch the uper-cool-mega-fashionable -video- tag to fullscreen – Slawek Dec 30 '10 at 18:15
  • @Slawek Chrome releases a new major version every 6 months. Safari every year. Opera every 10-12 months. Firefox every 18 months. All of them are actively working on implementing HTML5 in its entirety, have working implementations *today*, and all of them have rapid and near-total adoption of their latest version. All of them are increasing their usage share at the expense of IE's. IE9 will come out before 2012. Candidate Recommendation is 2 years away. It's not hard to extrapolate what it's going to be like at that point. –  Dec 30 '10 at 18:17
  • Well we still don't have full support for Document Object Model Level 1 in IE. I'm not basing my opinion on what happened 10 years ago, but what is happeing now (related to standards). You really believe that agerage Joe gives a damn about windows support schedule? They could cease the support 5 years ago and it'd change just NOTHING. Well in Poland (country wide data), web connected machines are 63% Win XP. – Slawek Dec 30 '10 at 18:19
  • 2
    Comment to recent comment: when we'll deal with microsoft browsers, we'll have to dead with Mozilla sluggish performance. I'm a very "result oriented" person. I wouldn't touch HTML5 (like Canvas, SVG) in next 3-4 years. Basically it gives you no profit compared to flash and you must code same thing in flash anyway so it'll be compatible with sane amount of your autdition's browsers. You already must deal with HUNDREDS incompatibilities in IE with today, rather simple HTML4. I just care for "results" and today's state, not FUD and ideology. – Slawek Dec 30 '10 at 18:24
  • 1
    +1 for conclusion paragraph: "using it as a content author requires understanding each user agent's implementation." Uhh... NIGHTMARE!!! – GlenPeterson Sep 21 '12 at 15:44
12

The easy answer: Design by Committee

The benefit of the crowd of people looking over the design is that the whole group will come up with different aspects that the original designer didn't think of. That's a plus.

When the designer is a large crowd they all have different agendas and pet things they want to get into the standard for whatever reason. Sometimes the features conflict with each other, sometimes there's politics surrounding decisions, etc. It takes a long time for a large group of people to come to agreement. That is a minus.

For better or worse, the W3C has chosen to develop their standards in this way.

Berin Loritsch
  • 45,784
  • 7
  • 87
  • 160
  • 19
    And then, by the time the committee has finally agreed on something, industry has already taken their draft specification, implemented parts of it, and extended the rest in a way that is incompatible with the final specification. – Robert Harvey Dec 30 '10 at 17:01
  • Yes true, what happens when you overlay a transparent DIV over that canvas :) Looks simple, very complicated to do. – Slawek Dec 30 '10 at 17:35
9

Because it's critical that it's right.

  • It takes time to make things right - The HTML5 standard, once set, will be around for a long time. It needs to be the best that it can be and it needs to be right. That takes debate by experts, trial and error, input from users and developers, and analysis of statistics

  • When a standard changes, someone's app somewhere will break - Standards need to be right the first time. With every change to a standard, someone's app somewhere in the world breaks with the new version. That requires us as developers to go fix it, costing time and money. It needs to be right the first time.

  • Vagueness needs to be removed - It's easy to say this is what the canvas tag does when there's just the canvas tag on the page, but what about when it's inside another tag? What about tag combinations? How should they render? How should they render with X style attributes set in particular combinations?

Bonus: Take a look at the HTML5 spec in its current form and you'll see what goes into it.

Ryan Hayes
  • 20,139
  • 4
  • 68
  • 116
7

Long? It took almost 8 years for microsoft to make simple CSS2 barely-working in IE7, while DOM1 support in javascript is still broken in IE8. That's spec from 1998.

That's why you won't see wide adoption of HTML5 in multimedia in the next 20 years. It's very complicated, unfinished, performance sucks. Even simple things like websockets are turned-off because of security reasons.

Some things won't work as an open standards. Doing games or MM in enviroment that should work on thin client and support gracefull degradation? That's madness.

EDITED: Yes, first is overcomplication. You have one flash plugin that is same in every browser and works the same way every time. That's simple and effective solution. One interface, you make the change once, recompile and viola - you have a plugin for all browsers on the market, by utilizing some intermediate layer between browser and the plugin.

On the other have you have 10 browsers and you want to add eg. multimedia / movie support. That means every company will have to implement media player from scratch, beside everyone wants something different. Apple wants H.264 so website owners will pay them royalties for codec for playing movies, Google and Mozilla wants VP8 so they can have their business not affected by Apple's patents, etc.

So it ends up in implementing things that everyone wants (while VP8 or H.264 would do, for a start).

So before they can overcome their differences Adobe will implement H.264 in flash, use their already available streaming and DRM stack and... it's ready. 3-4 months and you have a working technology with 98% adoption rate.

Simple, one company decides, so they can push massive changes quickly and won't have to add "ideas" of 20 other "standarization body" members. Beside HTML5 is maybe 10-15 years behind flash, in multimedia. The gap will only get bigger. In recent MAX avant you could see game controllers support and fullscreen 3D racing apps, running on flash in full FPS, hardware acceleration support and so on. Meanwhile, mozilla can now play H.246 video without crashing the browser, but only play. Any additional functionality (like fullscreen, streaming, fast forward) is still missing!

Beside i think W3C is just wasting resources by trying to make HTML5 some half-baked copy of flash. It won't work... it's like trying to make flash a copy of HTML. Won't work.

Slawek
  • 2,884
  • 16
  • 16
5

Basically, getting a group of people to agree on something is rather difficult. Not to mention that there are various issues to work out. For example, there is (was?) plenty of debate over what codec to use for video.

For better or for worse, most specifications take a while to hammer out.

George Marian
  • 4,360
  • 26
  • 31
2

Mark Pilgrim talks about this in his "Dive Into HTML5" here: http://diveintohtml5.org/past.html Seems a lot of people don't like the book version because it isn't technical enough, but in this section the editorial is pretty warranted.

(Edit: I just wanted to provide a reference for my comment about people not liking the "chatty" quality of the book: check the reviews on amazon. I personally enjoyed reading it though and found it to be informative, so mileage may vary.)

tcnolan
  • 175
  • 5
2

Part of the issue is that the spec will not be finalized until there are at least two major implementations of the spec - at least two separate browsers supporting it in full. So the spec needs to be complete enough for full implementation, then it needs to actually be implemented, then it can be finalized.

Grant Palin
  • 1,721
  • 2
  • 14
  • 28
2

Part of the Problem : I want ogg theora in the browser. Do you agree? No. You want H.264. But do I agree? No. That's the problem among Google, Mozilla, Microsoft, Apple, Adobe and all the corporates playing behind html 5. They are try to max out revenue and be the monopolist. Its intense competition. So it gets longer to complete.