One of the biggest complaints about the iPad is that it doesn't have Flash. This isn't exactly a surprise: the iPhone and iPod Touch don't either, nor do virtually any other smartphones currently available. Adobe is, however, currently developing and demoing Flash 10.1, which should be coming to Android and Palm webOS phones in the back half of this year, and forthcoming Android tablets are widely expected to support Flash.
The arguments around Flash have raged in some fairly predictable channels. Critics insist that the iPad can't be taken seriously as a Web appliance without Flash, and that its position as a "third-category" device means that users will not forgive its lack as readily as they will their smartphones. Apple defenders insist that Flash is a bloated, outdated, buggy application, and that any move that hastens its demise and a transition to a leaner, more standards-compliant HTML5-based Web is a good one. Then there's the question of Apple's motivation in banning Flash from the iPad. Is it because Flash is the main source of crashes on Mac hardware? Or is it because Apple wants users to buy apps from the App Store rather than using free Flash-based web apps? Personally, I think the latter argument is a little willfully ignorant: Apple allows *free* apps on the App Store, and
25% of current App Store apps are free, which hardly suggests a financial motive.
Rather than try to throw any weight behind these arguments, I'd like to examine a couple of other aspects to the Flash question. First, some of the points I made about using a desktop OS on a touch device apply to Flash as well, insofar as many Flash apps make heavy use of mouse-over features to present information to users. There's an interesting (and controversial)
post from a Flash developer describing this very point; an Adobe coder
has responded, but his demonstration that Flash *can* be configured to *generate* mouseover events in response to touch seems to be missing the key point: that it's only possible to do so by means that are non-intuitive to a touchscreen user. As an example, check out
Disney's site, which uses Flash extensively for its interface. Imagine surfing to this site on a touch-enabled iPad. You'd like to change the volume on the video that's playing, so you instinctively reach out and click the speaker button. Flash registers a click on the element, which mutes the audio altogether. If it's configured to register a touch as a mouseover *as well*, then the volume control will pop up, but disappear again as soon as you remove your finger - and in the meantime, you've still muted the audio. This is a fairly simple demonstration; the blog post linked above provides many more (admittedly abstract) examples of mouseover functionality that just won't work properly on a touchscreen out of the box.
There's another aspect to the Flash question, one that's not necessarily a reason to not implement Flash so much as it's a reason to be glad that developers create stand-alone apps to replace Flash: bandwidth. Consider, as an example,
Canabalt, a popular Flash game which is also available as an iPhone app. (Warning: this is an *extremely* addictive game!) The Web version of Canabalt links to a purchase page for the $3 iPhone app, as well as a link to play online on the Kong site, which surrounds the game with ads but also enables leaderboards so the ultra-competitive can determine their ranking against other players. A note on the Canabalt page indicates that the developer has put the game on Kong (despite his distaste for ads) as a way to defray his hosting costs, since Canabalt serves 2.5 TB of data every month. Yes, you read that right - 2.5 *terabytes*. For a single popular, but really pretty simple, Flash game. There's no records available for the number of unique users represented by that statistic, nor for the number of people who've downloaded the iPhone app, so it's difficult to know how much streaming data could be consumed if everyone used the Flash version. Here's a sobering statistic to keep in mind, though: there are over 75 million FarmVille players. (
FarmVille, for those of you who don't know, is an extremely popular Flash game available through Facebook.) If Flash were suddenly available on their smartphones, how do you think that would affect cellular data performance?
It's not that I'm generally against Flash, by any means: I'm bummed that I won't be able to view the Homestar Runner site on my iPad, and I'm well aware of its importance as a coding tool to
otterkin and other developers. I submit, however, that there are nuances to the to-Flash-or-not-to-Flash question that go unheard amid the reflexive arguments from both sides of the debate.