Flash versus HTML 5
The mobile perspective
“The mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short,” says Apple CEO Steve Jobs in his notorious Thoughts on Flash. “New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too).”
Adding to the confusion, every non-Apple vendor has jumped on Flash as a key selling point, one thing that iOS looks unlikely ever to support, and the majority of the smartphones and tablets on show at CES earlier this year boast Flash support.
RIM has gone further with its Tablet OS on the forthcoming BlackBerry PlayBook, which uses the Flash-based Adobe AIR for part of its user interface and as a development platform for apps.
Despite this, Jobs is not all wrong. While the absence of Flash on a smartphone web browser can be annoying, so too are Flash-laden pages which load slowly, eat battery life with unnecessary multimedia, and may not look good or be usable on a small screen unless the developer has optimised the page for mobile.
HTML in the browser and native code for applications is ideal. HTML 5 is not done yet, but most mobile browsers are based on WebKit or Opera, both of which support a significant proportion of the emerging standard.
Jobs is partly wrong though, and the technology has moved on since his April 2010 piece. Jobs said he had never seen Flash performing well on a mobile device. In June 2010 Adobe released the first full Flash player for mobile, version 10.1, and while it is still relatively resource-hungry it is more than tolerable on devices running Android 2.2, for example.
Move on to the new generation of devices, and it gets better still. Some are already using NVIDIA’s Tegra 2 package, which is fully hardware-accelerated for Flash. “We have worked directly with the Flash Player source code, to have a fully GPU-accelerated code path for the Flash player,” said Barthold Lichtenbelt, NVIDIA Director of Tegra Graphics. This is not just for video, but deep in the hardware. Flash will run just fine.
At the same time, OMAP 4, TI’s latest generation of mobile processors, (as will be used in the BlackBerry Playbook) is also optimised for Flash.
It shares the same ARM core as Tegra 2, so the question is: who has done the better optimisation? No doubt, the head-to-heads will come out later this year.
The future for mobile developers is multi-platform, with Android OS, BlackBerry 6 and even Windows Phone 7 making waves. In this context, developing for the mobile web, as opposed to building apps for proprietary platforms, will be the way forward. But there will still be trade-offs.
For instance, HTML 5 is not a realistic choice for everything web designers and developers want to build, particularly in a cross-platform, cross-browser world. Flash solves problems and provides a relatively consistent platform across browsers and devices.
When Google announced recently that it is dropping support for the H.264 codec in the <video> tag in the Chrome browser, it stated that this would promote open web standards.
Whether or not that is the full reason, Google could not contemplate this move without the Flash Player, now embedded by default in Chrome, which will continue to play H.264 content provided it is in a Flash wrapper. Maybe Flash will decline as HTML 5 evolves, and Apple’s position has forced web sites to provide non-Flash content in order to support iOS.
It is also possible that Adobe will keep improving its player to stay a jump ahead; the upside of proprietary technology is that it can evolve more quickly than standards driven by cross-industry committees. In the meantime, better to have Flash than not to have it.