This post is mainly aimed at marketers (as they are the majority of our clients) but also applies to anybody else having a web based interactive project produced; this might be a viral game, a banner ad, a Facebook app or a website.
Not so long ago, if you wanted to create any sort of rich interactive experience for your web based marketing efforts, your choice was pretty much solely limited to using Flash. It is currently the de facto standard for creating animations and interactive content that needs to reach as large an audience as possible. But the times they are a changin’, and these days there is more of a choice from the increasingly popular HTML 5  to alternative browser plug-ins like Unity. The web community’s reaction to Adobe’s announcement last Tuesday regarding dropping mobile browser support has only helped to fuel rumours of a trend away from Flash. Unfortunately this has created some confusion about which technology you should actually be using right now for your campaigns, and with that in mind I thought I’d share my experience on the matter.
So, which should you choose?
Of these two technologies each has their advantages and flaws and so your decision should be based on a few things which you need to ask yourself of every project:
- Who are your audience? (Or more specifically, what type of browser are they using?)
- What type of content is it?
- What’s your budget?
Who are your audience?
This is the most important thing to consider. When writing your marketing message you’ll make sure that it is appropriate to your audience. Similarly from a technical standpoint you’ll also want to make sure that it is delivered in a format they are able to view.
Flash currently has the advantage here. Flash player is ubiquitous on desktop machines, and even with factoring in your mobile audience, you can be reasonably confident that at least 90% of your total viewers will have Flash Player installed.
The biggest hurdle for HTML 5 is Internet Explorer because prior to the introduction of IE9, it did not support any of its major features. The majority of other web browsers (Chrome, Firefox, Safari) have supported these features for quite some time now. They also generally update themselves frequently meaning that they can support the latest HTML 5 features.
If you have Google analytics running on your web server it is quite simple to find out how many visitors have Flash player installed, however HTML 5 figures are a bit more awkward to determine exactly. A good best guess is to add up all your Chrome, Safari, Firefox and IE 9 visitors and balance those against anything that remains (If you want to get some more accurate figures, have a look at Seth Meranda’s post on how to track HTML 5 elements in Google Analytics).
For example, on our own website 92% of all our visitors have Flash Player installed and 77% are using the HTML 5 enabled browsers mentioned above.
It is very important to check your own (or your brands) website stats for this against your expectations of your audience. In our case, we know we have quite a tech-savvy audience who will have the most up to date browsers, but some brands may not. In these cases you should expect the percentage of HTML 5 enabled users to be lower (In some cases as low as 40%).
Armed with this information, you can decide what approach best suits your audience.
What type of content is it?
This is almost as important a consideration as audience in that some technologies are better suited to certain projects.
These days, if you’re building a website there aren’t many good reasons you should use Flash and generally you should be using HTML 5 wherever possible. The two main exceptions to this would be if you’re creating a complex web based tool (e.g. a drawing tool or editing images and/or audio) or if you need to feature a lot of video (especially if you want to stream secure content).
For games the best technology to use is Flash. Technically it is better because HTML 5 canvas suffers from inconsistent rendering speeds across browsers and has terrible audio support. For viral marketing it also has the advantage in that the whole game can be contained within a single SWF file, making it very easy to copy and distribute around the web . With HTML 5, you are limited to keeping your game on your own site(s). This means you have to rely on being able to bring the audience to the game, rather than being able to bring the game to the audience.
If you’re considering a 3D game, Flash has recently added 3D support with Stage3D. HTML 5 has WebGL, though this is not natively supported by any version of IE. From a purely technical standpoint the Unity 3D plug-in is the best tool for the job, though its penetration rate is not nearly as high as Flash Player.
Richard Davey (Photon Storm) has put together a very good post on developing games in Flash, HTML 5 & Unity right now. It’s aimed mainly at developers but if you are considering commissioning a game, its well worth a read.
I’ve separated quizzes from games as these are generally a collection of questions with a score at the end and don’t require consistent high performance rendering. Audio is also not that important so either technology can be a good choice unless you want to distribute it around the web  (which is rare).
As a Facebook app can be either be a website or a game, the same above advice applies but without the issue of distributing around the web.
Banners are still made in Flash but this will change over time. Most are simple time based animations and therefore there is no real issue in choosing either technology.
What’s your budget?
If you happen to have a large budget then you probably don’t need to worry about making a decision about which technology to use, you may as well build separate versions for each technology and cater for everyone. A lot of large marketing campaigns right now do just this and use a combination of Flash, HTML 5 and/or mobile apps. Some are mainly HTML 5 and fall back to Flash, some are mainly Flash and fall back to simple HTML, some may also have a supporting iOS/Android app.
If you have a more modest budget, you’ll probably want to get the most value you can out of your spend. Assuming that the content you are producing has lots of rich interaction (animation, “whizzy” bits, video, etc.) then currently it is likely to take your developer 1.5 to 2 times longer to develop that content in HTML 5 than Flash (i.e. Twice as expensive).
This is mainly due to the amount of effort required to get your content working consistently across multiple browsers, as there is still enough variety in the way that each browser currently implements different features of HTML 5 that it usually requires writing specific code for each browser. There are tools (Like Adobe Edge and Game Maker) being built which should help to reduce development times in future, but we are not there yet.
Something else to consider is maintenance, HTML 5 is not yet a ratified standard and is subject to change, as are the browsers that support it. If you have HTML 5 content developed, you should prepare for it to break (so make sure you have an ongoing maintenance agreement with your developer).
One final thing to consider is the security of your content. While not entirely hack-proof, Flash does do a much better job of protecting your content from being “hacked” or re-purposed once it’s out in the wild.
When built, Flash code and art assets are compiled, compressed and can also be encrypted if required. And while decompiling is possible, it requires specialist software and technical knowhow to do so effectively.
While these practices are rare, it does happen in Flash games, and will almost certainly happen with HTML 5 as developers strive to appear “on the cutting edge”.
Deciding which technology is best for delivering your digital marketing is not a simple case of “Flash is better than HTML 5” or vice versa. Each technology has its advantages and disadvantages depending on the type of content you are producing and the audience you are hoping to reach.
As HTML 5 & Flash continue to mature, the advantages of using either technology will likely be reduced, but it will be a long time before it truly makes no difference (technically or financially) between them. If you are currently producing a new piece of content and are unsure of what technology to use, or you have further questions about this post, please do get in touch.