Flash on Android Slightly Better Than Shockingly Bad

A Brief History of My Antagonism Towards Flash

I was anti-Flash before Steve Jobs made it cool. I have as muchanti-Flash credibility as anyone.

For over a decade I’ve steered organization after organizationaway from building solutions in Flash, often against greatresistance. I was evangelizingSVG — what I saw as the biggest opportunity for a moreilluminated, open solution than Flash — back when its strongestcorporate sponsor was none other than Adobe.

Aside: Humorously Adobe was leveraging SVG in their battleagainst Macromedia’s Flash/Shockwave empire, before finally givingin and buying ’em out.

I have railed loudly against Flash on many occasions.

The Great Flash of Propriety

Yet Flash is fairly pervasive, despite my valiant attempts.

Up until around 2005 and the birth of YouTube, Flash had verylittle presence in the video space: That realm was dominated byReal Player, Windows Media Player, Quicktime, among others. Flashfit in the RIA niche where it displaced the short-lived empire ofActiveX and Java Applets. It was the tool for great webentertainment like You Don’t Know Jack, the Net Show.

Then YouTube rose with Flash at its presentation core, and therest is history. Soon Flash was the oddball foundation forvideo.

If you mention Flash today, however, the topic will immediatelyveer violently to the great Flash/Apple battle of 2010, where Applehas loudly rejected Flash (where it represents a proxy for “richapplications they don’t control”), and Google, perhaps being a bitantagonistic, has embraced it with their Android and Chromesolutions.

Ok, embraced is probably a bit of an overstatement. In realityGoogle’s initiatives have top notch HTML5 support, thebest JavaScript performance, and are probably the bestmobile/thin platforms for rich HTML5 applications, but they justhappen to optionally support Flash as well, perhaps providing abridge from the past.

A Very Personal Flash Experience

I’ve been running Flash on my Nexus One for several months now.I have it configured to On Demand so the scourge of animated,CPU-clogging Flash adverts don’t destroy my web browsingexperience. When there is Flash content that I want to view, Iclick the little arrow and voila, Flash is running on my mobilephone.

Overall it has been a very welcome addition to the device. Fromrestaurant sites, to small videos like Zero Punctuation reviews, togames for my children, to product information pages, I like havingthe option of engaging Flash when the need arises.

So when I saw entry titled “Just How Bad Is Flash on Android” onDaring Fireball, of course I was drawn in. There Gruber indirectlylinked to some demonstrations of Flash failing miserably on several Flashvideo sites.

To which, I say, no kidding.

Anyone under any illusion that having Flash on their mobiledevice opened up any and all content is willfully or technicallyincompetent. That or it’s link bait trying to herd in the peoplewho desperately need their biases confirmed, and a lot ofpeople desperately need to believe that Flash isn’t necessary onmobiles. I’d probably say it’s that second option at play.

Of course not all content will play. This is, after all,a mobile device with a little power-sipping mobile processor. While1Ghz sounds pretty pimp, the Snapdragon in the Nexus One is in manyways a weakling, particularly in video decoding and 3Dgraphics tasks where it fell behind even the iPhone 3GS.

On this 1Ghz processor I’ve had trouble playing local 720x480h264 videos encoded at 1Mbps, encountering frequent stuttering anddropped frames. Compare that to the iPhone 4 which allows for up to7Mbps+ videos at 1280×720, which it plays flawlessly, owing to theexcellent hardware decoding.

When it comes to video the iPhone 4 simply kicks the Nexus One(and virtually every other HTC Android device, as HTC is addictedto Snapdragons) to the curb. Then again, the Samsung Galaxy S kicksthe iPhone 4 around and calls it Sally, while the OMAP in the Droid2/X offers a fair fight.

Snapdragonprocessor devices are not the top of the pile by a longmeasure.

So the Nexus One really isn’t a great platform to highlightvideo prowess anyways.

Enough with the hardware excuses.

Add that Flash is often its own worst enemy: When you enable theplug-in, your enable in the Android browser is browser wide forthat page, meaning it simultaneously enables the twelvepunch-the-monkey animated ads surrounding it, often destroying theexperience.

So there is no surprise at all that a high bitrate 1000x500video surrounded by Flash adverts — a scenario that clogs a high performance 2.4Ghz core on a modern x86 PC (which would be equal to about a 8Ghz or higher snapdragon) — probably with a layer of DRM adding more demands, doesn’t run so great on a mobile device.

“So Steve Jobs Was Right! Flash won’t work on mobile!”

Given that I’ve enjoyed Flash on my smartphone on many occasions, I find suchclaims — which I keep seeing made by seemingly non-stupidindividuals — ludicrous. It is fervent, desperate doublespeak.

Mobile Flash exists. It’s far from perfect. The availablecontent usually isn’t even aware that it exists. Yet still, itis.

And really, it isn’t a fair fight anyways. When sites provideHTML5 video, they do so often specifically for theiPhone/iPad because of the massive namespace territory they conquered.Most sites don’t even feature sniff for the functionality — theydon’t care if you are running Chrome or Safari or IE 9 and can runHTML Video — but will instead refuse to serve up HTML 5 video foranything but those Apple devices. Given that, they encodespecifically and only for that platform, with appropriate bitratesand complexity profiles ideal for those devices.

There’s no big surprise that it often runs well.

That isn’t a very encompassing, scalable solution though. Onedevice family isn’t meant to rule, and at some future point HTML5will start to leave the iOS devices behind. The iPhone livedthrough a special moment in time where it was handled as a blessedchild, getting its own special treatment, however that moment ispassing.

Of course the Flash people have a solution for disparatedevices, using dynamic streaming that is based upon the consumingdevice (resolution and bitrate scaling based upon the capabilitiesof the device, very similar to some technology in MicrosoftSilverlight). Not surprisingly there is little use of it yet giventhat mobile Flash devices just started appearing very recently, andstill comprise a tiny market.

“So…Steve Jobs Was Right?”


When I originally thought about how to respond to this, my firstidea was to make a video demonstrating a smartphone failingmiserably at rendering and interacting with various HTML5 sites.But then I thought better because someone might confuse that as aserious criticism of HTML5 when I love the technology stack andpragmatically realize that it can’t (and shouldn’t) always beuniversally accessible.

Yet still, contemplate the failings of HTML5 on mobiledevices:

  • Layout can be ill suited for the screen dimensions andresolution of a smartphone.
  • Functionality can be overwrought and too heavy for asmartphone.
  • Input techniques might not work on smartphone.
  • etc.

Anyone who has browsed on their smartphone or tablet hasexperienced all of those. If someone were looking to go out oftheir way to act shocked that such an experience exists, sourcematerial can be found everywhere.

Which is of course why many sites, like the atrocious script pigTechCrunch (seriously, load it up in Firefox with Firebug and checkthe net tab), created special mobile pages that they force you to,against your will, when you try to visit on a mobile device.

The next time you see a TOP 10 CANVAS DEMOS on your social newssite of choice, pull them up on your tablet or smartphone and checkout how well they work. Chances are overwhelmingly that they willfail miserably. Almost every HTML5 game demands that you use akeyboard to control it, if they aren’t simply too resourcedemanding for a little mobile device.

So do we write off web browsers on mobile devices? Do we say, ina tut-tut-tut fashion, “No mobile browser exists. WAP is the worldfor portable devices!” I hope not.

Punching Monkeys Coming in HTML5 Soon To You

One trend that is accelerating is the movement of many ads toHTML5 and away from Flash. That short period where iOS devices camewith an almost intrinsic AdBlock+ in the form of the lack of Flashcapabilities is rapidly disappearing. Soon every page you visit isgoing to be a mishmash of computationally demanding canvas rendersand DOM manipulations, and it’s going to become much more difficultto avoid their cost.

Closing Notes

For those who are on the fence about the whole Flash thing —whether they care about it on their mobile or tablet — take a looka the quick video I put up above. The videos did not run perfectly,the auto configurator didn’t provide a seamless, perfectexperience…yet if the option is that or nothing, I think mostreasonable people would agree that it’s better than nothing.