In April 2010, Steve Jobs published an open letter on Flash on Apple’s official website that he called “Thoughts on Flash”. In it he openly explained why the Cupertino giant had refused to use Flash player on its mobile devices. The Flash vs. HTML5 debate had long been on the lips of developers across the world by then, and this letter fuelled the fire even further. Two years on we’re still reading about the demise of Flash and the rise of HTML5. But is HTML5 really all it’s cracked up to be?
When talking about Flash and HTML5, there are two distinct areas of technology to consider: the PC and the mobile platforms. According to Adobe, 99% of PC browsers are running their Flash Player plug-in. Since Flash is a standalone “plug-in” and not built into a browser like Firefox or Internet Explorer, you’re pretty much guaranteed that you’ll be able to develop a website or game once and use it across different browsers without any problems. Flash is popular for this reason, because it works on just about any browser, and also because it provides an immersive and engaging experience.
According to NetMarketShare, a leading internet technologies market share statistics firm, HTML5-capable browsers have close to 58% browser market share globally but their penetration in emerging market countries like South Africa remains relatively low with less than 40% (older versions of Internet Explorer are still big in these countries). HTML5 is still a moving target in that its specifications are still being developed. It is still largely dependent on the implementation by each browser’s developer, this leads to more work in getting your web application running across the various HTML5 compatible browsers which leads to more time and more cost.
The one problem with Flash is that, over the years, it has gained a bad reputation. When used incorrectly, Flash can be processor intensive and very bandwidth hungry. Also, many developers have used it simply for the sake of using it, inundating the web with annoying site banners, flashy transitions and animations that have no real purpose and have done the Flash Player brand no favours. If Flash isn’t that bad after all, why did the late Steve Jobs think it was “no longer necessary” in 2010? Because, quite simply, it’s not great on mobile, and even Adobe, who developed it, is starting to agree by abandoning the Flash Player for the mobile browser and shifting its focus towards HTML5 as the best solution for creating and deploying content for mobile browsers. Which most agree is where the web is heading.
Having said that, that doesn’t mean HTML5 is the one and only solution for mobile developers. It performs best on an iOS device as Safari has the best HTML5 support at present. The Android operating system is catching up but is not quite there yet, particularly on the performance level. Essentially, when it comes to mobile devices, HTML5 on mobile faces the same setback as it does on a PC: browser compatibility and standards implementation can be an issue.
So what does this mean for apps? The same thing it does for browsers. An app written in HTML5 will perform differently on an Android phone than it does on an iOS device. This is where Flash can come into play.
Adobe AIR, an extension of Flash that allows you to develop and deploy desktop and mobile applications, has introduced huge performance gains, particularly with Adobe®AIR® 3+, which has made Flash development for mobile apps more viable. With Adobe AIR 3+ you can develop your app on a “write once” basis similar to the site’s browser and install the app across different platforms like iOS, Android and the BlackBerry Playbook.
So, is Flash dead yet? The short answer is no. Based on market penetration stats 99% Flash vs 58% HTML5, can you afford to lose the 41% difference?