As a designer and developer, the buzz words "HTML 5" inspire both excitement and irritation. There is a lot of misinformation and a ton of geek politics infused into the term. Much of it stems from a childish clash of egos between two behemoth companies, Adobe and Apple. There are many sites on the web which will give you a breakdown of why each is bad, but this almost always results in a limited and very narrow view of the matter. This article seeks to isolate the aspects that matter most to you, the client.
"What exactly is HTML 5?"
The term being thrown around these days ("HTML 5") actually refers to more than just the next version of html. What it actually refers to are parts of HTML 5 in conjunction with Javascript enable some new and exciting drawing capabilities, previously only available via plugins such as Flash and Silverlight. HTML 5 is not an officially completed specification. One of the things up for debate is which drawing method will be the standard. One of them is an older but very robust technology called "SVG" (Scaleable Vector Graphics). While the other is a tag originally developed by Apple called "Canvas". Canvas is the one that seems to be winning that popularity contest so for now we can interpret "HTML 5" as being HTML 5 + Javascript + Canvas.
"...but Steve Jobs says HTML 5 is better than Flash!"
Well the short response to that statement is "No it's not". That does not mean that by default Flash is better than HTML 5 either though. I'll break down the long answer into a nice neat bullet point list that's easy to digest.
- Can this new magical HTML 5 replace Flash for video? Yes!
- Can it do some basic animations commonly found in Flash based web sites? Yes!
- Is it more secure than Flash? Well, that depends on what you are trying to secure. If you are trying to secure your content, then that's a big no! If you are trying to secure your code base for your web app, then that's another big no!
- Does HTML 5 perform better than Flash? For video streaming on devices that don't have graphics card acceleration available, HTML 5 does outperform Flash. However, don't forget that pretty much every modern machine including smart phones has a graphics processor (GPU) these days. On those devices it's a stalemate. For games and complex web applications, Flash will still perform better than HTML 5.
- What about development time? It takes longer to develop complex rich internet applications in HTML 5, this means more money for you. Things are even worse when you consider that anybody can view the source code with a right click of the mouse. This means that the already expensive code you've paid for is exposed for anybody to steal. Browser compatibility is another issue to a certain extent. Fortunately with the use of libraries such as jQuery and Mootools, most of those issues can be avoided.
- I heard Flash is terrible at SEO! In all fairness, Flash has been able to be indexed by search engines for a while now. With that said, HTML is what search engine crawlers have been designed for so HTML does have an edge as long you don't use AJAX. If the page relies on AJAX to fetch content, it's actually worse than Flash for SEO.
- What about Accessibility? Flash is a lot better at accessibility than it used to be but HTML wins here.
- What about Mobile? The mobile space is something very important to consider when making technology decisions for your site and online presence. With smart phones, iPhones/iPod Touches and older versions of Android do not support the Flash plugin. However the last two versions of Android as well as WebOS, Windows Mobile 7 and Blackberry OS all support the Flash plugin.
"In a Nutshell"
The web is constantly evolving and HTML 5 is a very promising but immature technology. HTML 5 is basically like Flash was a decade ago. Most web sites do not need the extra capabilities that Flash provides today. So in a nutshell, as long as your animation needs are modest and you don't mind your code and content exposed to the public, HTML 5 is a great choice. If you want to do something beyond web pages and image galleries, Flash is still a very good choice.