Sunday, July 08, 2007» Blog Archive » iPhone SDK:

The last thought I had was about the lack of Flash on the handset. I’ve done a lot of work with Flash on the desktop lately on Windows and I have to say that despite Adobe’s efforts to modernize their infrastructure, Flash is still a very primitive technology with strong roots in education CD-ROMs on Mac OS 9 — they’ve made tremendous strides in terms of rapid application development and deployment, but I don’t think performance or reliability has ever really been on Adobe’s radar with this product.

Some of the problems I’ve encountered include random crashes on shutdown, enormous memory leaks in the runtime (a leak in something that draws at 24fps is a huge issue!) — not to mention Flash’s notoriously awful performance. On the application side, many Flash applications (no naming names) written to run in Flash in a browser just don’t care about performance or resource utilization because most web applications have a process lifetime of a page view, or about 10 seconds. Finally, in a mobile context, consider the effect that Flash’s inefficient programming model will have on battery life. The last thing to remember is that the Flash runtime’s performance is about 4-20x worse on Mac OS X than it is on Windows — I bet Apple evaluated its options and decided it didn’t want to have its browser experience marred by Adobe’s lack of focus. You can also bet that with all the crazy user-space scaling tricks that iPhoneSafari does, Flash wouldn’t work.