Welcome to the second decade of the 21st century. As we usher in a new year, it feels appropriate to discuss new and exciting technologies, so we shall turn our sober attention to HTML5.
While we’re on the subject, let’s dispatch a few other myths and misunderstandings regarding HTML5:
As of this writing, HTML5 is probably not quite ready for implementation on most mainstream websites. The primary reason for this is that there is no version of Internet Explorer that natively supports HTML5. (There are, of course, ways around this, which we will discuss shortly). In addition, some aspects of HTML5 – perhaps most importantly, codec support for the
<video>element – are still under development, and inconsistent between browsers.
HTML5 is not a done deal: while most of the specification is nailed down, there are aspects that are still open to interpretation. This makes some HTML5 modules a moving target, just as CSS3 is. This may mean more revisions for a site coded in HTML5 as the specification changes.
HTML5 does not replace XHTML, or make it obsolete. The two languages will be used alternatively (and in some cases, side-by-side) for at least the next five years. The lessons and habits you learned in XHTML are still entirely applicable to HTML5. HTML5 expands and improves upon XHTML; it does not kill it.
If this is the current state of play, why are we going to learn HTML5?
Employers will be looking for knowledge and skills in the language (even if they are not yet clear on how it may be applicable to their business).
Adoption and support of HTML5 is certain to rise in the near future, especially if IE9 supports the technology to the depth that Microsoft is assuring us that it will. (Update: it kind of did, although there are still areas that are lacking).
If you are making a website that will primarily be interacted with on smart mobile devices, such as iPhones, Android, Palm Pre and recent Blackberries, HTML5 may be a very good strategic decision: the browsers on those devices (mobile Safari and Opera) have strong support for HTML5. (Naturally, Windows Mobile does not do so natively).
localStorage, forms and audio-video.
If you need a rough guide as to when I personally believe that HTML5 will be ready for prime time, my intention is to recode this site to pure HTML5 in early 2012. (Update: which you are reading now!) This is partly a concession to time and scheduling, but also an estimate as to when a significant portion of visitors to my site using IE (currently around 8% of all unique visits) will have transitioned to IE9. (Update, early 2012: IE is now around 1% of all visits).
Before we start into what is different about HTML5, it might be instructive to take a moment to ponder how we got here, and answer a few questions: what happened to XHTML2? How was development of the language taken from the W3C? And where is the role of XML in all of this?