HTML5, WHEN is it better to use than Flash?
Before we go to the actual topic, a short introduction first, I have been a Flash developer for more than 3 years, and I’ve mostly worked on Flash games, using Actionscript 2.0 then eventually moving to Actionscript 3.0. Having experience with Flash game development made it easier (for me) to do interactive and animation-heavy Flash projects, which made me believe that everything (obvious web stuff of course) can be done in Flash. I’d convinced myself to being just a Flash developer, since I thought Flash would be used in everything, until I encountered HTML5.
Please note that this article is not about switching over from Flash to HTML5, but more of my opinion on when it’s better to use HTML5 than Flash. As part of the Exist Interactive team, I’ll need to cater to projects that need animation and interactivity, and of course, I can’t just use only Flash. I’ve to be able to recommend the best option for our clients.
So, when’s the best ‘time’ to use HTML5 over Flash?
When your web app needs to run on Mobile devices
If a client needs an interactive web app to work “smoothly” on most (If not all) mobile devices especially for the IPad and Android tablets, then you should automatically use HTML5. The reason for this is because Apple does not support Flash on their mobile devices and Adobe has announced that it would stop development of the mobile browser version of Flash, admitting that HTML5 is the future for rich multimedia content for mobile devices.
More on Apple mobile devices -- sure there’s a way for Flash to work on Apple devices, and that’s to convert the Flash project into a native iOS application. From a developer’s point of view, that’s another step, and it would take longer, because you’ll have to deal with things like getting an Apple Developer ID (which isn’t free) and taking extra time to make sure it works without a hitch on the IPad. With HTML5, you just deploy it on the web and it’s ready to go. (I know you’ll still need to check for other things but it still beats having to go through conversion.)
When your web app is so small in scale
There was a time when Flash was the best medium to use for small scale animations, like banner ads and fancy animations such as header banners, and even mini-games, which Flash can do so well. Now with HTML5, using Flash for small-scale projects is like using a chainsaw to cut a potato. From a developer’s point of view, HTML5 is better because you don’t have to worry about ads not working for mobile and debugging/fixing would be easier since you can do it on the fly, without opening Flash and recompiling. Also, no need for a Flash player!
Here’s how banner ads can be implemented using HTML5: http://matthewjamestaylor.com/blog/responsive-banner-ads
When your web app needs to be really fast
Based on experience, I needed Flash to work really fast, whether it’s for a game,or for some heavy rendering, but most of the time ended up with the Flash player taking so long to respond or even worse, crashing. I know there are security issues related to HTML5 like your source code being exposed for example, but if that's the least of your concerns, and you just need a web app that needs to work really fast, then it’s best to go native and use HTML5.
HTML5 is still young and just like any other technology, will grow over time. Most of us have probably been brainwashed about Flash’s capabilities, but I think today’s the best time to explore what HTML5 can do better than its predecessors.
What are your experiences with HTML5? When do you think HTML5 is better to use than Flash? I’m excited to hear your thoughts, so leave a comment!