Why does it have to be HTML5 vs Flash?
Why is it that when people talk about technology they reduce the concepts down to a black and white comparison? It’s always one technology against another or one product that’s good and one that’s bad.
This is case in point with the recent battle that’s emerged between HTML5 and Flash. HTML5 is being touted by developers, bloggers and press alike as the new “Flash Killer”. This angle seems to be based on the one-dimensional view that Flash is only used for video (rather than the full spectrum of game, 3D and application development it’s really suited for), and that the fast and reliable video support that’s offered with HTML5 will make it the new choice for developers. But don’t count Flash as dead yet, it still offers a number of unique features that are not yet supported in HTML5, such as live streaming, DRM, and rich video controls. Plus it has a much greater span of support than HTML5 does today.
It’s important to note, that comparing these two technologies goes well beyond video support. HTML5 has been simplified down to its two common features today, “video” and the “canvas”. This is like taking a PC and saying it can play movie trailers and send emails. Sure you can do this, but that only accounts for a fraction of the true value in what you can do.
Choosing technology doesn’t need to be black or white; there are many shades of grey. The best technology for the job often depends on the desired user experience, the business needs and the target audience for your application. For some projects, this may mean choosing Flash, which has a 99.6% market share today. Or it may mean choosing HTML5, supported today by just over 40% of browsers capable of understanding its full functionality, which offers different functionality. Or it may mean choosing Silverlight. The right tool for the job will change from project to project and, in some cases may involve leveraging a combination of many technologies for the same project. HTML5, Flash and Silverlight all have their strengths and can all play a specific role in an application or website.
Competition is good for everyone (with the possible exception of the competitors themselves). Although some would perceive this as a potential "winner takes all battle", healthy competition is creating an important dynamic of building better products. Choosing the right tool (or combination of tools) for your project is harder, but picking the best from a pool of great options is ultimately a good problem to have.