Mike Chambers, in a more rational posting than the usual from Adobe employees. But I have a comments on it anyway:
They want to tie developers down to their platform, and restrict their options to make it difficult for developers to target other platforms.
(Emphasis added.)
I disagree strongly here. In fact, it is every bit as easy for a developer to target platforms other than iPhone as it was before. Either way, the developer has to rewrite their Objective-C application in Flash. The difference is that with Flash being able to target iPhone, previously the developer with an iPhone application could throw away their Objective-C source code.
But do you think any developers did? Do you think any of us examined our application, tilted our heads to one side, and declared “This is just too efficient and fast. I think I’ll throw it away and use the Flash version.”
Let’s be clear here: iPhone is the platform that matters to me. I have an iPhone application already. Apple is not trying to restrict what developers do on other platforms. They are incapable of making development on another platform harder than it is now. The very idea is laughable. What they can do, however, is prevent developers from cross-compiling to their platform.
So, was all of the work on the iPhone packager a waste of time and resources? No, I don’t believe so. We proved that:
- There is no technical reason that Flash can’t run on the iPhone
- Developers can create well performing and compelling content for the device with Flash
Here again I disagree with Mike. The Flash applications that Adobe posted to the store were universally reviled for their huge flash and memory footprint and poor performance. While Adobe proved that Flash can run on the iPhone, it also proved that it can’t run well.
The second point has still not been proven. What has been proven instead is that developers can create well performing and compelling content for other devices in Flash.
However, more importantly, the teams implemented features (such as hardware acceleration and Ahead of Time compilation) that we will now be able to leverage for other devices and platforms. We have gained knowledge and experience that are being directly applied to Flash Player 10.1 and Adobe AIR 2.0 for other mobile operating systems.
These features will help. That is true. However, these features could and should have come as a result of Flash on other mobile devices. Although these improvements will also help Flash on Mac OS X, Flash on Mac OS X has performed poorly for years. Introducing the iPhone into this thought is as good a fit as blending a steak into a strawberry milk shake.
If Adobe is serious about creating cross-platform applications, they took the wrong approach from the start: An Objective-C compiler that compiles to Flash would have been much more useful. But this would accomplish the opposite of what Adobe wants to do: locking developers into using Adobe’s tools. This has never been about picking open over closed, just picking Adobe’s closed over Apple’s closed.
(Thanks to Daring Fireball.)
Update: The first paragraph of this started out as a comment to Mike’s blog. That comment was rejected. That is the degree to which Mike believes in openness.