It’s that time of year again; Christmas is nearly upon us and there is a sudden spike in demand for games, Christmas e-cards and all other kinds of interactive and dynamic content. More and more a key requirement is that the content can’t be developed using Flash. Why? Because it won’t render on smartphones and tablets that don’t support Flash in their default browsers. This is clearly a problem, but is there a viable solution such as HTML5 that will render on desktop PCs, laptops and mobile devices alike? The answer isn’t quite as straightforward as you might think.
Simple interactive content & e-cards
If the content you’re creating is simple, such as a looping animation or something that involves i.e. clicking a button, then yes this could absolutely be developed using web technologies. This will ensure it renders on all modern or up to date browsers, smart phones and tablets.
However, creating e-cards in web technologies can make them more expensive compared to Flash. If you’re primarily using Flash, you can have simplified replacement content for mobile/tablet users. The suitability for this depends on your audience and what platform are most likely to view it on. If the content is delivered to an office worker during normal working hours, perhaps they will view it on a PC or laptop. If they are a sales representative, there is maybe a greater likelihood it will be viewed from a mobile device while travelling. These can be important considerations.
Complex content and e-cards
If the content is more complex, then using web technologies becomes less practical and more expensive. Examples of this would be high-level premium content for interactive e-cards, such as those developed by JibJab. You may well have seen examples of their work before; typically you can add photographs of your friends, which will be animated and added to the bodies of video footage such as dancing Elves. Not only would developing the end product for this be difficult to produce on a non-Flash platform, but the editor for selecting the faces and cut lines would also need to be re-developed.
Games and applications
However this still isn’t a perfect solution, and there are 3 main reasons for this. These reasons are phone processing power, the control mechanism and playing games within a web browser. Addressing the issue of processing power first, if you have an iPhone5, Samsung S4, iPad3 etc then this shouldn’t be an issue as these are very powerful devices. If you’re still using i.e. an old iPhone 3G (or a modern phone that has a good processor but relatively low performance due to lots of background applications) it will struggle to render the game smoothly. Secondly, you have the issue of the controls. If on a desktop PC you use i.e. the arrow keys and the space bar, how does this translate to a touch screen device? Do you create overlay buttons like native SEGA/Nintendo game emulations, or do you change it completely. You could consider using a tilt mechanism and screen touch tap for example. Finally, trying to play a game embedded in a page of a web browser on a mobile device is hard and creates it’s own series of problems, especially if your phone screen is small.
Knowing when to go “native”
Because of the reasons listed above, serious game developers will often use different technology to cater for each type of user. A classic example of this would be, dare I say it, Candy Crush Saga. Primarily this is a Flash game that desktop and laptop users can play on Facebook and in their web browsers. If you try to access this game via a mobile device, you will automatically be redirected to the download appropriate for your device (App Store, Google Play etc). Because of the complexity of the game, developers have made multiple versions rather than trying to create a one-size fits all solution that would likely not work 100% on any platform. This is true for most games on Facebook, not just Candy Crush!
So depending on your requirements you may discover that you shouldn’t dismiss Flash. Not only is it still a viable solution, but it maybe the best solution… for now. Simple animations and interactivity can easily be replaced with web technologies, but as you get more complex you need to consider using Flash or developing native versions of the applications for the different devices. It’s also worth noting that you can use Adobe Air to package your Flash applications into native apps for the iPhone, iPad, Android, Kindle Fire and Nook tablet. How easily this can be done depends on the application and how it has been developed; but it should be a consideration.