I must admit, I'm confused. I will never be finished? Isn't it just a specification? Isn't there some time when they say the spec is done and signed off on by the appropriate standards bodies?
HTML5 has come to mean two things - the specification, and the loose group of new browser technologies. A lot of people, for example, talk about the new "HTML5 geolocation API", but there's technically no such thing - there's a geolocation API, but it's not HTML5.
Sorta how people called JavaScript visual effects "AJAX" despite there being no asynchronous requests nor XML involved.
The HTML5 that the tech press talks about (I provided two of a large number of examples) is something entirely different: it refers to the general process of improving today's browsers. The day the HTML5 spec is approved, nothing will have changed on this front.
It's similar to how parts of CSS3 have been implemented before any browser has completely implemented CSS2.1. Improving browsers is a process, and it is not a single news story ("HTML5 NOW KILLS FLASH!" -- "HTML5 NOT READY TO KILL FLASH YET!").
I wasn't aware of that. Won't it be living hell for web developers trying to build cross-browser compatible websites? Will you have to perpetually keep track of the implementation status of every HTML5 features for every browser in addition to keeping track of every browser version and their market share?
Edit: I wasn't referring to the DOCTYPE. I was referring to the fact that up until now you could just assume it was safe to use HTML 4.01 because you knew it was implemented (almost) consistently across a large share of browsers out there. Now you will have to keep track of features individually instead of keeping track of a discrete set of features AKA a HTML version.
The doctype has never been useful for detecting browser features. You needed, and still need to, do that with user agent sniffing or with Javascript. All the doctype has ever been useful for is for controlling the browser rendering mode, i.e. standards compliant mode or quirks mode. HTML5 defines much more precisely how pages should be rendered, including how to render broken HTML pages, thereby obsoleting a thing like quirks mode.
"The next version of HTML doesn't have a name yet. In fact, it may never have a name, because the working group is switching to an unversioned development model. Various parts of the specification will be at varying degrees of stability, as noted in each section. But if all goes according to plan, there will never be One Big Cutoff that is frozen in time and dubbed "HTML6." HTML is an unbroken line stretching back almost two decades, and version numbers are a vestige of an older development model for standards that never really matched reality very well anyway. HTML5 is so last week."
Check out http://www.modernizr.com, for example, which abstracts feature detection for many advanced "HTML5" features. You (sorta) don't have to worry about browser version, you just have to worry about feature support.
Feature detection is a far easier strategy for development than user agent sniffing, in my opinion at least. Granted it's less helpful for CSS-related issues, which more have to do with inconsistent implementation than with whether a feature is or is not supported.
well the recommendations wont be "ready" till when?, 2018? And there is no way that even the top 3 browsers will ever support it in its entirety
As it has always been its a matter of deciding what you need to do, deciding what your audience is, evaluating the tradeoffs and picking the best solution.
html5 is not a milestone, its a progression, it will never be finished and it started a long long time ago.