Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

closed as not constructive by Jarrod Roberson, Yannis Rizos Jul 27 '12 at 17:50

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

35  
Have you ever tried to get a group of people to agree on something? –  George Marian Dec 30 '10 at 16:52
2  
@George - Should have made that an answer. –  Ben Dec 30 '10 at 16:57
    
Just as an aside, have you seen the size of the spec and how complex it is? –  JB King Dec 30 '10 at 17:07
    
@ben Apparently, I should have. I didn't think it was meaty enough. :) –  George Marian Dec 30 '10 at 17:08

8 Answers 8

up vote 19 down vote accepted

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.

share|improve this answer
    
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, more than half of user agents at the time of Candidate Recommendation will have reasonable, if not near complete, support for HTML5. –  user8 Dec 30 '10 at 18:01
1  
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
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

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.

share|improve this answer
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

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.

share|improve this answer
    
+1 for a pretty clear explanation of the politics involved. –  Michael K Dec 30 '10 at 18:06

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.)

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
1  
The classic chicken/egg problem comes to mind here ;) –  tcnolan Dec 30 '10 at 18:43
    
@tnolan Quite so! –  Grant Palin Dec 30 '10 at 18:50

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.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.