Why mobile Flash didn't pan out

There was a time when having Flash on a mobile device was a selling point, but now that time is over. Can HTML5 fill its place?

With the benefit of hindsight, we can clearly trace back to the day that Adobe was put on notice: 11 July 2008. That was the day when Apple's iPhone 3G went on sale.

Prior to that landmark release, having data caps measured in gigabytes and interacting with mobile sites in a timely fashion were still far-off ideas for most mobile phone owners. In this country, it was the iPhone 3G that freed "mobile data" from the hands of corporate BlackBerrys and leading-edge Symbian users. If you told an Australian back in 2007 that they would very shortly be spending hours monitoring websites and doing things like uploading photos from their handsets, they would have looked at you with a rather bemused expression.

The iPhone was nothing short of revolutionary, but it missed that one part of the web that appeared fundamental to its usage at the time: Flash.

Remember: the web of July 2008 was a far different place to that of today. Chrome was two months away from its initial release; Mozilla had just released Firefox 3; and in the Windows world, IE7 was still king and Microsoft was just about to release a second beta of IE8. In that environment, the easiest way to make something cross-browser compliant was with Flash. Flash was a more visually pleasing and easier alternative to JavaScript's browser-sniffing and refactoring methods.

Fast-forward to today, and we find that Adobe has pulled Flash from the Google Play store for users of Android Jelly Bean. Was that the sound of a coffin nail being pounded in?

With Apple's staunch non-support of Flash, and the fact that Flash has never appeared on Windows Phone 7, Android was the last major platform to offer Flash. Now the last bastion for Flash-driven development is Research In Motion's PlayBook — and its market penetration is virtually non-existent.

Much has been said and written about this missive from Steve Jobs that cites Apple's reasons for ignoring Flash, and, while it is easy now to say that Jobs was right, at the time it was an interesting strategy to put so much faith into the embryonic HTML5.

Over the years, HTML5 has matured quickly, and mobile browsers have been leading the push. But now that it looks like Flash is stepping aside entirely, is HTML5 ready to jump in and take it's place?

John Allsopp, co-founder of the Web Directions conferences, said that it's not a case of HTML5 missing anything essential, but rather there are a number of areas where HTML5 is considerably less mature: performance, tooling, and sound.

"[Using] HTML5 2D Canvas for drawing, while up to some kinds of animation and gaming, most likely doesn't have the sort of performance you can get with 2D Flash. This is particularly true on iOS for apps built with HTML5 + PhoneGap and similar hybrid approaches, where the Just In Time (JIT) compiler for JavaScript is not available," he said.

"Particularly in terms of integrated design and coding tools, Flash's tooling is more mature and complete than HTML5, where, as has been the case for a lot of web dev, there's a more pick-and-mix approach."

As for sound playback, Allsopp said that support for audio in HTML5 is still spotty. Playing audio files like music is reasonably well supported, but integrating sound into games and other apps is still considered something of an HTML5 black art, and a painful art at that.

Replacing one technology with another is more than simply matching feature for feature; the existing ecosystem that has built around a technology needs to be taken into account, as well.

"There isn't a functionality gap so much as a skills gap," said Leslie Nassar, technology director at Amnesia Razorfish. "There are developers out there with a decade or more of Flash experience whose skills aren't easily (or rapidly) transferable to HTML5 and JavaScript.

"On the upside, once they've re-skilled, there's going to be a big pool of super creative developers who can help move the mobile web past tedious lists and boring layouts," Nassar continued.

Flash is dead! Long live Flash!

So, there it is. Let HTML5 mature a bit, let Flash developers have a chance to re-skill, and we'll never see Flash on a mobile device ever again.

Not so fast, according to Kai Koenig, co-founder and software solutions architect for Ventego Creative: "First of all, the only thing Adobe is pulling is Flash in-browser support on Android. [The company is] not pulling their AIR run time or the possibility to build native apps with Flash technology.

"In a lot of the typical use cases for Flash in the browser [video and games], it wasn't too hard for content producers to change their delivery mechanism.

"When one looks at online video, HTML5's infrastructure around the <video> tag has come quite a long way, and was able to replace Flash video on various video portals and video-sharing sites. However, there are still a variety of video-delivery scenarios in which HTML5-based video can't easily replace Flash (DRM protection, encrypted streaming, etc). Users of sites leveraging such advanced Flash video technologies might not be able to access those sites from their Android mobile phone in the future."

Koenig pointed out that with the prevalence of what he calls an "app culture" on mobile platforms, Flash developers are able to use the tools they already have to simply repackage their Flash projects as mobile phone apps.

"The alternative here is delivering one's Flash in-browser game as a native app through the app stores using the Flash Creative Suite export and packaging functionality," he said.

Intransigent Flash developers who can't bear to leave their existing ecosystems will be able to hang on to their toolkits for the time being, but it is clear that HTML5 and JavaScript are the future.

This area is where browser makers are focusing their development efforts — JavaScript frameworks are appearing constantly that offer simplified ways to take advantage of new browser functionality. HTML5 also has a trump card in the form of WebGL, provided that it can find its way into the mobile browsers enabled by default on the various platforms. WebGL is likely to be the next sticking point amongst browser vendors.

Did Flash fill a need?

As the web standards future begins to crystallise, we can look back and ask whether Flash on mobile phones was a missed opportunity, a good stop gap, or a technology that held back mobile phones.

"I think it is a bit of a mix of all three. To be fair, with Apple's refusal to allow a Flash plug-in for the mobile Safari, Adobe was kind of stuck between a rock and a hard place, and it became clear very fast that Flash on mobile phone would not play a crucial role as it used to have during the browser wars on the desktop. Could Adobe have tried harder, provide maybe more player-development resources to make the Flash mobile case more compelling? Maybe, but in hindsight that's very easy for me to say," said Koenig.

John Allsopp pointed out that in its own way, Flash was successful in the form of FlashLite, especially in Japan, where it drove the UI of many feature phones. But it had one Achilles heel: it was a big drain on battery life.

"Flash was most likely ultimately a stop gap, at best. When our expectations of phone UIs was lower than it is today, it was an adequate solution in a time of Nokia feature phones and the like," said Allsopp. "One of the critical factors in the success, indeed the basic viability, of mobile devices is battery life. Flash always seemed to have significant impacts of battery life. If Flash had run well on pre-iOS smart and feature phones, would it have been successful? Perhaps," mused Allsopp.

Flash had a time and a place on mobile devices: when creating a new website for mobile visitors involved creating a separate instance of the site, and stripping as much styling as possible from the content to fit it into very small columns. Flash provided the chance to make the mobile experience comparable to full desktop one, but taking content built for a desktop metaphor to a touch-driven interface was always going to be a tough slog.


So, as the fat lady begins to croon for Flash on the mobile, what does Leslie Nassar think Adobe's vision was for mobile Flash?

"I'm not sure Adobe really knew what to do with Flash on mobile devices. Was it a graphics engine? An applications platform? A desktop analog? There wasn't any hint of a cohesive vision on what Flash on mobile could be, and how it would be different or complement other platform experiences. Adobe's focus was selling a one-size-fits-all product to everyone who walked in the door — and that fat woman's foot was never going to fit into a pair of Jimmy Choos."