Simplicity versus Flash
No Flash for iPhone?
There is no Flash plug-in for iPhone. But will Apple be adding one real soon now via a software update? The only person who thinks yes is Walt Mossberg (one of the four reviewers privileged with an advance review unit). Everyone else writing post-iPhone-day who thinks Apple will is citing Mr Mossberg. Apple has not said anything one way or another.
Reasons for not believing in Flash on iPhone include the following:
- it is a resource hog and iPhone has no CPU and memory to waste;
- it crashes too much;
- Apple want to avoid dependencies on proprietary plug-ins;
- Apple might prefer people to depend on their own Quartz and Core Animation instead; and
- Apple’s development guidelines warn explicitly, more than once, against using Flash.
There is another reason, which is the same as for the SDK issue I mentioned last month: how will the no-mouse GUI work with Flash’s mouse-oriented interactions? Flash movies that implement menus work by detecting mouse-down, mouse-move, and mouse-up events, and working out which part of the picture was clicked on; iPhone has no mouse, and this means there are no mouse-clicks for your Flash menus or Flash games or Flash galleries to be controlled by.
Why You Might Not Want Flash
My project at work falls in to that trap: we have to provide a no-Flash alternative to the Flash version, partly in case our customer’s customers’ IT departments uninstall Flash, and partly because Flash does not seem to include right-to-left scripts like Hebrew. to do this we have to have a script on one page to detect Flash and store a flag in a cookie that we examine on another page, and then through and elaborate mechanism pass to the plug-in that generates the HTML or Flash code so that it knows which version of the page to generate. This is a lot of extra work, and extra complexity (and potential for extra bugs), and we could avoid it by dropping the Flash version and spend the effort improving the HTML version instead. As a bonus, we reduce the number of programming languages you need to know by one, by eliminating ActionScript.