A long way to go
The specification is an ongoing work, and is expected to remain so for many years,
although parts of HTML5 are going to be finished this year and some are already
implemented in browsers.
According to the W3C timetable, it was estimated that HTML5 would reach W3C Recommendation
by late 2010. However, the First Public Working Draft estimate was missed by
8 months, and Last Call and Candidate Recommendation were expected to be reached
in 2008, but as of this writing (November 2010) , HTML5 is still at Working
Draft stage in the W3C.
The editor of the HTML5 specification expects the specification to reach the Candidate
Recommendation stage during 2012. In sum, HTML5 still has a long, long way to
go, so don't get too excited just yet.
Obviously, browser vendors are keen on implementing as much of the HTML5 spec as
possible, especially areas like handling audio and video. This becomes more of
a turf war, though, since at this point we are dealing with competition for the
Flash and Silverlight plug-ins.
New Elements
HTML5 introduces a number of new elements and attributes that reflect typical usage
on modern websites. Some of them are just replacements for common uses of generic
block (<div>) and inline (<span>) elements, for example <nav>
(website navigation block), <footer> (usually referring to bottom of web
page or to last lines of HTML code), or <audio> and <video> instead
of <object>. Some deprecated elements from HTML 4.01 have been dropped,
including such elements as <font> and <center>, whose effects are
now achieved using Cascading Style Sheets (CSS). There is also a renewed emphasis
on the importance of DOM scripting (e.g., JavaScript) in Web behavior.
The HTML5 syntax is no longer based on SGML despite the similarity of its markup.
It has, however, been designed to be backward compatible with common parsing
of older versions of HTML. It comes with a new introductory line that looks like
an SGML document type declaration, <!doctype html>, which triggers the
standards-compliant rendering mode in the browser. HTML5 also incorporates Web
Forms 2.0, another WHATWG specification.
Browser vendors are also looking at ways to speed up rendering, such as GPU Acceleration
and enhanced Javascript parser engines. At this writing, major browsers (Chrome,
IE9 , firefox 4) are all leveraging GPU for 2D/3D rendering.
New APIs
HTML5 also specifies scripting application programming interfaces (APIs). Existing
document object model (DOM) interfaces are extended and de facto features documented.
There are also new APIs, such as:
The canvas element for immediate mode 2D drawing.
Timed media playback
Offline storage database (offline web applications).
Document editing
Drag-and-drop
Cross-document messaging
Browser history management
MIME type and protocol handler registration.
Microdata
Not all of the above technologies are included in the W3C HTML5 specification, but
they are in the WHATWG HTML specification. Some related technologies, which are
not part of either the W3C HTML5 or the WHATWG HTML specification, are:
Geolocation
Web SQL Database, a local SQL Database.
The Indexed Database API, an indexed hierarchical key-value store.
The W3C publishes specifications for these separately.
Product Promotion and Browser Wars
Vendors anxious to implement as much of the HTML5 specification as possible are constantly
coming out with beta and preview versions of their browsers; most notably Internet
Explorer, Google Chrome, and Firefox.
But the problem with an unfinished spec is that each vendor has a particular slant
on what they want to include first, and how they want to interpret it. For example,
one of our Eggheadcafe.com readers recently posted an FAQ, "Which browser
fully supports HTML5?", pointing to the W3C's test suite here and claiming that of the 212 tests in the test suite, Internet Explorer 9 had
better results for the browser that is "most suited for HTML5".
This, however, is more likely wishful thinking than the truth. The HTML5 test at
http://html5test.com gives IE 9 a score of just 96 out of 300, while Google Chrome scores 231. Obviously,
one *could* conclude from this that the test at Html5Test.com seems to be more
feature complete. The question at this early stage is more like "What features
do I think are the most important, that I want to try and put into my browser
product now?" And the best answer at this point to "Which browser
fully supports HTML5?" is that "No browser fully supports
HTML5" - and it will be quite a while before one actually does.
After all, the specification itself isn't complete.
Another useful browser test is the ACID 3 test which is focused more on browser rendering capability. On this test, Google Chrome
gets 100 out of 100. Internet Explorer 9 Beta gets a 95. You must turn "Compatibility
View" off to see correct results on any of these tests, otherwise IE9 will "dumb down" to the lowest common denominator.
W3C readily admits that the test suite for HTML5 is misleading, and states that "several
thousands" of different tests will be needed to fully validate the specification.
Likely Outcomes
The bottom line for HTML5 is hopefully a benefit to the user of the World Wide Web
- useful features that make browsing more productive and enjoyable, without having
to resort to plug-ins such as Flash or Silverlight. However, Flash, Silverlight,
ADOBE PDF and other plugins are all unlikely to go away anytime soon, and there
are certain types of applications, particularly line-of-business apps and complex
multi-component multimedia presentation apps, that HTML5 may never be able to
deliver by itself.