Flash on Android: Look but Don't Touch
With their larger screens, long-lasting batteries, and powerful CPUs, tablets seem well suited for the kinds of rich multimedia applications that confound ordinary smartphones. But Apple famously won't allow Adobe Flash on its iOS mobile devices, including the iPad. This fued creates an ideal opportunity for competing tablet makers to step in and fill the void.
Right now, the iPad's top competitor is the Motorola Xoom, which has been available in the United States from Verizon since February. The Xoom is the first device to ship with Google's Android 3.0 OS, code-named "Honeycomb," which features a new UI "designed from the ground up for tablets."
[ Also on InfoWorld: Your website might be gorgeous, but is it really cross-platform? See 7 Web UI mistakes to avoid for smartphones and tablets. | Updated for Android 3.0: Learn how to manage iPhones, Androids, BlackBerrys, and other smartphones in InfoWorld's 20-page Mobile Management Deep Dive PDF special report. ]
When InfoWorld compared the Xoom to the original iPad, we found Motorola's tablet to be a credible yet inferior competitor, and it paled still further when pitted against the newer iPad 2. But both reviews were conducted back when neither platform supported Flash. Adobe has since released a beta Flash Player 10.2 for Android 3.0, making Honeycomb the first tablet-centric platform to support Flash content.
Would Flash be a game-changer for Android, giving Honeycomb tablets a clear advantage over the iPad at last? I wanted to find out, so I grabbed InfoWorld's demo Xoom and set off on a journey through the Flash-enabled Web. Unfortunately, my results weren't particularly encouraging.
Video, because you demand it
Installing Flash Player 10.2 is easy enough; it's available for free from the Android Market. Honeycomb tablet owners who want to run Flash Player will need the Android 3.0.1 update, which Motorola pushed out for the Xoom in March.
There's no stand-alone Flash app for Android. The installer simply adds Flash support to the existing Android Web browser, much like the Flash plug-in does for desktop browsers.
Adobe also offers a separate app called Adobe Flash Showcase, which is nothing more than a list of links to featured Flash-enabled sites. I doubted these carefully vetted showpieces would give me the whole picture, however. I wanted to see how Flash Player behaved in real-world browsing scenarios, so I skipped Adobe's canned demos and went looking for Flash content on my own.
Streaming video is the most popular application for Flash today, so I tried that first. Ironically, I had a hard time finding demo cases. The Xoom ships with a video player that automatically launches when you view content from YouTube or Dailymotion, so you don't need Flash for those sites. On the other hand, Hulu wouldn't work even with Flash installed; all it would say was, "Unfortunately, this video is not available on your platform. We apologize for any inconvenience."
On sites where I could view Flash video -- such as Comedy Central and MTV -- results were mixed. Playback quality was mostly good but a little choppy at times, and audio occasionally seemed slightly out of sync. Videos that looked sharp in full-screen mode seemed to degrade in picture quality when shrunk to smaller sizes. Worse, some of the Flash video players' controls were almost impossible to activate, given the tablet's touchscreen interface.
Flash lacks a certain touch
As I continued my tests, it became clear that these initial problems weren't limited to streaming video. In general, the Flash Player for Android 3.0 does not do a good job of scaling bitmap images. This becomes especially clear when scaling bitmapped text, which becomes blocky and hard to read at small sizes.
The difficulties of navigating Flash UIs on a touchscreen device are increasingly troublesome, and unfortunately they're endemic to the Flash platform. Flash developers are even more likely than traditional Web developers to populate their UIs with rollovers, fancy animations, and aesthetically appealing yet nonstandard controls, none of which work well on a device with a small screen and no mouse.
Scrolling the screen is a particularly egregious example. Android tablets don't use the traditional scroll bars of a mouse-based UI; instead, users swipe with their fingers to scroll. Flash apps don't seem to understand this concept. Once a Flash movie loads into part of the browser window, that part of the window no longer responds to swipes. If you need to scroll the window -- say, to make sure the Flash content is centered on the screen -- you have to carefully touch your finger on a portion of the page that corresponds to HTML, so the browser will know you're trying to scroll.
That's true most of the time, anyway. The worst part is the player's inconsistent behavior. This gets really frustrating when there's lots of HTML and Flash content mixed on a Web page. The UI turns into a tug-of-war between the browser and the Flash Player, where each touch produces varying effects, seemingly at random. Depending on where your finger happens to land -- and maybe on your timing -- one touch might be interpreted as a command for the browser and the next might activate controls in a Flash movie, while the next might do nothing. Adobe simply has not done enough to accommodate touch-based interfaces.
Applications? Forget it
Needless to say, these deficiencies are compounded when you try to use Flash Player for real work. For my next assessment I wanted to see how the Xoom would handle complex Flash-based applications. I had the perfect torture test in mind: Adobe's own Acrobat.com, which features a Google Docs-like suite of office applications implemented in Flash. Unfortunately, on the Xoom I was greeted with the message, "Sorry, but Adobe Acrobat.com is not compatible with your browser at this time. Please upgrade to a supported browser." That should have been my first hint.
When I did track down some demo Adobe Flex applications that would load in the Android browser, my reaction was utter disappointment. Visually they were appealing enough, but they didn't do much to accommodate the tablet-sized screen, which meant I had to scroll around a lot (where possible). The UI controls were all nonstandard, and many assumed I had a mouse.
Worst of all was form input, a mainstay of any business application. When presented with a Flash-based form, I literally had to stab my finger at the Xoom's screen six or seven times before my touch would register as a click. Finally some random form field would be highlighted, irrespective of where my finger landed, and the onscreen keyboard would pop up. Woe betide me if the wrong field was highlighted, though, because Tab and Shift-Tab would both advance me forward through the form fields. There didn't seem to be any way to go back, and I dared not try to select another field by touch. In a nutshell, Flash-based forms are a total nonstarter on Android tablets. Forget about them.
What about games? Even there, I didn't have much luck. One simple balloon-popping game rendered in my browser window, then inexplicably leaped up and to the left, leaving a white square where the Flash content was supposed to be. I could scroll the window to see the game screen, but to control the game I still had to touch inside the white square. It was hopeless.
As far as I could tell, there was one thing and one thing only that the Flash Player for Android 3.0 accomplished successfully. On the stock Android browser, Flash content is invisible, so you don't notice Flash-based advertising. With the Flash Player installed, however, all those ads suddenly appear where once there were none, their animated graphics leaping and scuttling under your fingertips like cockroaches on a dinner tray -- some achievement.
Not the droid you're looking for
To be fair to Adobe, while Flash Player 10.2 is in production release for Android 2.2 and 2.3 smartphones, it's classified as a beta for Android 3.0. It's entirely possible that some of the problems I encountered will be fixed in the final release. And yet, when I tried the same tests on an Android 2.2 smartphone, the only problem Flash Player 10.2 resolved was the leaping game window; the Flex applications were just as impossible to use as on the Xoom. Whether you're on a smartphone or a tablet, there's no getting around the fact that many Flash apps simply aren't designed to work with touchscreens.
As it stands, Flash support offers no reason for buying a Xoom instead of an iPad. If you were hoping the Flash player would enable a whole new world of content, you will be disappointed. Flash sites on Android devices are utterly hit or miss. And if you're deploying Flex applications for your business to be accessed on mobile devices, my advice is to switch to HTML immediately. On the other hand, if you're enthralled by animated Web advertising, the Flash Player will be right up your alley.
There is one other detail worth mentioning, however: Adobe AIR, the runtime that allows Flash content to run as stand-alone applications, is available as a separate download for Android 3.0. You do not need to install the Flash Player or enable Flash content in the browser to use AIR apps, and from what I can tell, the AIR apps currently available in the Android Market seem to work nicely. The main difference is that these apps were built specifically for Android smartphones and tablets -- and if you're going that route, why not use the Android SDK instead of Flash?
On the plus side, claims that the Flash Player drains battery life seem to be mostly unfounded. I didn't find it consumed much more power than your average game, for example. But you know what uses even less power than the Flash Player for Android? Not installing it.
This article, "Flash on Android: Look but don't touch," was originally published at InfoWorld.com. Read Neil McAllister's Fatal Exception blog and follow the latest developments in mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.
Read more about mobile technology in InfoWorld's Mobile Technology Channel.
For comprehensive coverage of the Android ecosystem, visit Greenbot.com.