Something happened this week that seemed unthinkable a year ago – Adobe gave up on Flash Player for mobile devices. On Wednesday, Adobe quietly removed the Flash plug-in from the Google Play Store, effectively admitting defeat. The sad thing is, it should have happened a long time ago – Flash on Android was doomed from the start.
I distinctly remember being incredibly excited when Adobe announced the impending release of Flash for Android. It was 2010 and the phone to have was the Nexus One. The early video demos looked fairly good, with video playing smoothly on the Nexus, along with promises that the battery impact wasn’t too bad. Unfortunately, this was all smoke and mirrors.
The initial release of Flash was only good for the novelty effect. “Look, video playing in a web page!” we exclaimed. The video playback was choppy much of the time, and battery life was severely impacted. Excuses were made; this was the first release, and the Nexus One, while at the top of the hardware heap, was still only running a 1GHz chip.
Hotfixes continued to roll out, but the bugs were not squashed. By the time Android 3.0 Honeycomb was announced, Adobe was sounding like a broken record. We were told that the advancements in Flash 10.2 combined with Honeycomb would provide the video experience we always wanted. Finally Flash would take advantage of multi-core ARM chips and GPU acceleration.
You can probably guess what happened next. Flash was still a painful experience on Android. Sure, technically it worked a bit better. You could watch video and interact with Flash objects on web pages. However, you had to deal with the low frame rates and general scrolling lag when Flash was enabled. By the time Flash 11 came out in late 2011, no one cared anymore.
Despite a small contingent of Flash defenders, the larger Android community has moved beyond Flash. The writing was on the wall, and just a few months ago, Adobe announced that it was ceasing development on Flash for Android. In some ways, that felt like the end, but it wasn’t until the app was erased from Google Play that we could actually say Flash is dead on mobile devices.
The truth about mobile
Adobe was right to want a part of the burgeoning mobile device ecosystem. It correctly ascertained that video viewing on smartphones was going to be a big deal, but the same factors that made Android phones popular made Flash very difficult to implement.
The main method of interacting with a smartphone is the touchscreen, and Flash was a fundamentally poor experience on a touchscreen. Flash content, especially video, assumes you have a mouse cursor that can hover, click, and drag. There is no equivalent to this on an Android phone. If you try to drag a video progress bar, for example, you will just scroll the screen. The buttons in Flash content were also far too small for use on an inexact capacitive touchscreen.
Adobe tried to get around this by allowing for full screen video with Flash, but I found that this rarely worked much better. There was also a failed push to get more touch-friendly video player interfaces used in Flash content. There just wasn’t enough interest in mobile Flash to make this happen.
The performance and battery life issues were probably the most vexing ones Adobe had to contend with. Flash was designed to run on desktop x86 systems. The lower-power ARM chips that made smartphones great also hindered Flash’s performance. Getting its plug-in to work on ARM devices was like hammering a square peg into a round hole. Adobe did it, but it was a mess.
You’ve probably watched plenty of videos on your mobile device, and they worked fine. That’s because ARM devices have hardware video decoding for H.264 video. Virtually all the HTML5 video you’ve ever come across is just an embedded H.264 video in an MP4 wrapper. Phones are very good at decoding this kind of file without draining the battery. Flash could never compete with this kind of built-in performance.
Adobe is not a small company, but it was unable to tweak and optimise the bits enough to make video play acceptably. Flash was never going to work well on Android, no matter how hard Adobe tried.
Each time I’ve tested Flash on Android, it has been harder to find good test pages. In the two years since Flash appeared, there has been a seismic shift towards HTML5 video. Sites like the New York Times and Time.com used to serve up Flash content to Android devices, but eventually moved to HTML5.
Flash is dead on mobile, but it still has a place in the desktop world. HTML5 is a very cool technology, but it exposes the video files to the user. For copyrighted content with DRM, Flash will still be a desirable option. Flash games also occupy a large, albeit shrinking segment of online entertainment. It’s going to take time for all this to shift to HTML5, and Adobe hopes its “Flash Next” project in 2013 can hold onto these two footholds a little longer.
Adobe still has a presence on Android, as well. Photoshop is a juggernaut of a brand, and Photoshop Touch is a great app. I expect to see Adobe pushing this product harder on mobile platforms; maybe even getting a stripped down Photoshop Touch on phones in addition to tablets. The company also has the AIR platform to fall back on. AIR is a framework you can get in the Play Store (as well as on desktops) that supports Flash-like apps. There aren’t a ton of these on Android, but again, Adobe is going to promote it.
Adobe probably could have spent twice the man hours on the development of Flash for Android, and it still wouldn’t have been good enough. Even when Flash came in handy, it was never a good experience. I was never enthusiastic about the prospect of diving into a Flash web page, and most other users weren’t either. Flash didn’t work on Android, but at least Adobe tried to get out in front of a trend. You have to at least give them credit for that.