So yeah, unless you were hiding under a rock this week you heard that Flash CS5 won the Nobel Peace Prize … no, wait, that was some other guy — but it would be quite easy to make that mistake, the way commentators were hyperventilating about how transformative, amazing, yadayadayada this was! — for promising to output iPhone applications.
Well, color us underwhelmed.
Not to take away from the technical achievement of creating an LLVM front end for ActionScript 3, but it’s a technical achievement of the dancing-bear type; just because it’s amazing to do at all doesn’t mean it’s actually done well. For starters, let’s look at what FlashMobileBlog says will not be there:
Some typical iPhone features that are not supported are:
- Photo selection from file system
- Contact selection from the address book
- Accessory support
- In app purchase support
- Peer to peer
- iPod library access
- Push notifications
- Audio recording
- Video recording
- Parental controls
Um, yeah. Add to that no native UIKit — you have to code the entire interface in Flash — and, you know, we have a very limited indeed subset of applications this is even vaguely appropriate for. And even if you do have one of those, there are … issues … to consider. Of which, we’ll highlight what users are going to notice right off:
… On my iPhone 3G it runs really choppy, on my 3GS it runs acceptably, but it still isn’t smooth. Given the OpenGL performance people have seen on the 3GS that is still pretty bad. I have not done any invasive tests by instrumenting the binary, that is just what I can get via basic usage. The sad thing is that there is no reason it has to have performance like this. This is not an inherent issue with the ActionScript used in this app (though that may have issues), it is that what is coming out of the toolchain is a huge, monstrous binary that stresses the runtime and has performance characteristics completely different than anything the iPhone is currently setup for….
… I want to be excited about this thing, both because it is a seriously cool piece of tech, and because there are Flash games I would like to run on my phone, but looking at what this thing is spitting out I think the apps it will generate will perpetuate the stereotypes about Flash (especially on cell phones), and give Objective C programmers a (somewhat misplaced) sense of vindication about their views on Flash.
Yeppers, count us in that misplacedly vindicated group. You want to change our mind, show us a built-with-Flash app that measures up even remotely to something developed using the real SDK. We’ll be waiting.
Continue Reading →