It's an interesting exercise every once in a while to take a look at the technologies we use in everyday development, and how they evolve over time. I started out writing HTML 4.0 & ASP 3.0 apps in high school, then watched as .NET 1.0, 1.1 and 2.0 became entwined in our vocabulary. Sitting here tonight, I'm writing some test apps using VS 2008 Orcas and HTML 4.0. Wait a tic, what happened with HTML's progression? Think of all the incredible web technology that has sprouted in the last 10 years: it's all been so exciting and glittery that everyone was deked into advancing other areas like scripting, AJAX & CSS. The last release of an HTML spec was released in July 1997. I'm not here to trash a standard we've all learned to love, but everyone who's ever programmed a web page can see some improvements could be made: think "DIVitis", for one. Surprised it took this long? Me too.
The cavalry is coming. The WhatWG (Web Hypertext Application Technology Working Group) was formed by an association of Apple, Opera & Mozilla browser vendors and independent web developers, with a goal of updating the hypertext markup language specs to support some much needed updates. The group formed in 2004 after they became concerned about the W3C's lack of direction and support for the everyday developer. A major concern for me is the fourth name you don't see as a founder of the WhatWG group. Microsoft IE definitely is the elephant in the room when we're talking about upgrades and standardization. The good news is that the W3C has picked up the call, and the WhatWG and W3C working drafts of HTML 5 are now advancing in tandem. Still, the WhatWG blogs state that the spec is being developed with IE compatibility in mind, and that many features can be supported in IE using JavaScript workarounds...what a potentially painful annoyance for developers. Standardization: so close, yet so far away.
On a quick side note: Some writers have pointed out that until the next generation of browsers update their HTML rendering engines, any upgrades to the spec are useless; It's pretty obvious to me that this is a classic "cart before the horse" worry... how are vendors supposed to support a format that is not yet formalized? Plus, being that three of the big four browser vendors founded the group is a clear sign that they are preparing to make upcoming browsers support the latest HTML.
The HTML 5.0 spec is being developed using a three-pronged approach. WhatWG sums the branches up nicely:
The work is currently split between three specifications.
Web Forms 2.0 is targeted to the common needs of web authors. Advanced widgets like RTF controls, menus and toolbars are the domain of Web Applications 1.0. These drafts are in active development. Web Forms 2 is nearing maturity; proposals are currently being discussed and specified for Web Applications 1.
Web Controls 1.0 is intended to add functionality to Javascript and CSS that aid the creation of custom widgets. However, this will be influenced by the design and implementations of XBL2, and so will not be available in the near future.
I'm not diving into a code sample here, because A) the constructs are still changing frequently, b) c'mon, I'm planning a wedding here, and c) Elliotte Harold does a really nice job of it here.
You can start developing sites using these standards once browsers begin to support them, even though the final recommendation won't come until the implementation is complete; be wary of changes until then. Keep an eye out for browser betas that allow testing of these new capabilities. The spec is fully backward compatible, so old browsers will continue to display content as expected.
Some references:
Elliotte Harold's review of HTML 5.0
WhatWG's FAQ Blog
WhatWG's working spec
W3C's working spec
HTMLHTML 5.0 W3C WhatWG Web Programming ASP