Strongly endorsed by both Apple and Google, HTML5 is on its way to becoming the online development language of the future. Although the language is not scheduled to be finished until 2022, there are plans for it to be implemented by all major browsers as soon as 2012. So what does it mean for the web development community as this historic milestone grows nearer? Should you be using HTML5 in your designs right now?
The answer to that question, as with many things, is it depends. As of today, HTML5 is not universally accepted. Most modern browsers are doing their best to implement support for HTML5’s new elements, but unfortunately the older versions of these browsers do not yet support these elements. While I never understood why people aren’t utilizing the latest browsers, the truth of the matter is that a majority of your audience will view your website in unsupported browsers like IE6, IE7, and IE8, and will continue to use these unsupported browsers far past the 2012 date.
There are of course workarounds for this issue such as using JavaScript to enable these features for use. JavaScript is great because it is accepted by all browsers and versions, and ensures that the experience your visitors have will be consistent, regardless of their browsers’ support of HTML5. JavaScript allows us to progress to a level that we wish, while still supporting the browsers left behind. For those of you trying to stay away from JavaScript fixes, no worries! Since HTML5 DOCTYPE is backwards compatible you can use your regular markup to avoid any of the inconsistencies with older browser support.
Another question web designers may be asking themselves is “If I don’t use HTML5 will my site fail in the future?” The easy answer to that question is “No.” The beauty of HTML5 is that it is meant to degrade gracefully to older versions of html. If you decide to upgrade your site to using HTML5 in the future, most of the tags will still work.
In my opinion, the greatest benefits of HTML5 are its features for handling embedded video and audio. The new API control techniques for video and audio will make any programmers or designers’ mouth water. Using the new API for audio and video, designers can easily control how your media content is displayed and how the player itself works. It keeps flash out of the equation, which is great because flash is blocked for many people and is not well supported on many mobile devices. You can also now tie content actions to video, opening a world of possibilities for interaction through content and video. People are truly just beginning to realize the potential of this development.
On the surface than it seems like using HTML5 is a no brainer, but there are some other concerns that we developers need to think about before choosing to utilize it.
The first of these concerns is budget. While building a site in HTML allows for a cleaner more organized markup, it takes longer to make the necessary fixes for older browsers and as the old business adage goes, time is money. HTML5 may be the perfect option for Nike’s new website, but for a small mom and pop shop, it may be unwise.
In addition to taking longer to make fixes, HTML5 also takes longer to use because of its novelty. Being that it is new; most programmers are not as experienced with it and will need time to familiarize themselves with the new tags and markup.
A third concern with using HTML5 is that it is very loose with its validation. This means that it will be more error friendly, but it also means that there are more opportunities for complications to appear when cross browser testing. Making matters worse, tools like Firebug for the Firefox browser do not yet fully support HTML5 for validation.
And last but not least, the language isn’t scheduled to be completed until 2022. That is a long ways away and there is really no telling what sort of changes we can expect as we approach that deadline.
So what is the take home message on HTML5? In my opinion, HTML5 is the way of the future, but you shouldn't use it just because you can. Each project needs to be evaluated on an individual basis. If you find that the project will benefit from HTML5, than you should use it. If there aren't that many foreseeable advantages, than do your client a favor and save them the cost and the time. You need to learn HTML5 regardless, but it doesn't have to be on your client's dollar.