Just for clarity, I'm not talking, here, about camera flashes or flash memory; I'm talking about Adobe Flash. I know that this is obvious, but spare the tedious jokes about hard disks, please.
There's an interesting article by a Flash developer on the subject here. A quick summary here; many if not most Flash applications are heavily dependent on mouse-over events and/or keyboard events. Neither of these are particularly practical on a touch-screen, and it would be far from trivial to replace either without breaking the iPhone's human interaction model.
The response around the Internet has been interesting. A lot of people are saying, oh, sure, as it stands, most Flash applications won't be usable on a touch screen, but there's nothing stopping people making new Flash applications which are, or revamping the existing applications to be usable. This is true as far as it goes, but really misses the point.
There are a number of speculations as to why Apple is so averse to having Flash on the iPhone. The major ones, besides the UI issue, which has really been neglected, have been that (a) Apple does not want other people distributing media for the iPhone (through Hulu et al), (b) that Flash is a bit crap and slow and crash-y even on desktop platforms, especially non-Windows platforms, and there's no reason to think that Flash for mobile devices will be any better; taking into account the slower processors it will probably be worse, and, (c) that Apple would prefer that people pay for games in the app store than get them for free as Flash movies.
These are easily dealt with. (a) is a bit of a red herring; Apple seems to have made no moves to stop things like BBC iPlayer, and in fact has been pushing HTML5 video, which provides a means of doing this without Flash, very hard. (b) is true enough, and we'll shortly see how Android deals with it; for the purposes of argument, though, let's assume it's a non-issue. (c) sounds quite convincing if you don't think too hard about it, but the facts are that there is no restriction on non-Flash-based games for the iPhone being distributed for free through the App Store, and the App Store is not a big profit centre for Apple, anyway; it serves largely to make the devices more desirable. As does the iTunes store, for that matter; Apple does not make its money on music distribution. If Apple thought that Flash would make the iPhone more desirable, it would allow it. They don't seem to be making any efforts to stop the distribution of iPhone apps made with Flash CS5's iPhone app export function, after all.
Another argument, little investigated, is that even on the desktop, non-game Flash interfaces are almost always clunky and broken. Just look at any Flash-based website; if scrolling, copy-and-pasting, and so on works as one would normally expect in a native application, or indeed in a webapp, you should feel very lucky. Adobe leaves human interface design almost totally up to the developer, which is not actually a great idea; human interface design is extremely difficult and specialised, which is why OS vendors go to so much trouble setting guidelines and providing widgets which force the developer to more or less do the right thing.
On the other hand, there seems to be only one major argument for why Apple should allow Flash. Very few people are willing to claim that Flash is actually a good development platform, even on the desktop. No-one, except for the most rabid Adobe fans, and some deluded Flash developers, thinks that Flash will become a first-class development platform for mobile apps. The argument made is that there is lots of Flash content out there already that people want to use, and so the iPhone should be able to access it. These UI objections, which seem convincing, really fundamentally undermine this argument. This existing content isn't going to be usable anyway, not without a lot of work. And if the work is going to be put in anyway, it might as well be put into making a HTML5 webapp or a native iPhone app, thus avoiding the afore-mentioned downsides of Flash.
We'll have more information soon, of course. By the end of the year, Google Android devices will support Flash, and we'll see what happens then. My prediction is that, when users go to their favourite Flash games and find them to be unusable due to the differing interaction model, they won't blame the developers of the games, and nor will they blame Adobe. They'll blame Google and/or the phone manufacturers. It won't increase demand for the device; quite the reverse. Lots of bad press, no concrete advantage. Is this something that Apple really wants to expose itself to?
It's notable, by the way, that Microsoft's new Windows Mobile OS (the one that really seems amazingly like an iPhone) will not support Flash when it is released late this year. Microsoft says that it is working with Adobe on this. I strongly suspect that Microsoft, which has the advantage of entering late, is just playing for time; by the time the initial Windows Mobile 7 (or whatever we're meant to call it now) comes out, Flash will have been on Android for some time, and Microsoft will just be able to point and say "Given that everyone hates Flash on Google phones, we're not going to bother". This wouldn't be a great surprise; when Microsoft pre-announces a feature, that by no means demonstrates that the feature will actually ship, as we saw with Longhorn/Vista. In the meantime, though, they get good publicity because people currently believe that they want Flash, and it will fall on Google to disillusion them.
No comments:
Post a Comment