Apple has been in the spotlight a lot recently from developers because of the recent change in Apples SDK agreement that was likely the result of new features in Adobes Flash Professional CS5. In Adobes new version of Flash, they are including a new cross-compiler feature that allows Flash developers to export their Flash application to the native iPhone platform format using a runtime that Adobe has developed specifically for the iPhone. For those of you that are not technical, this basically means that people who create content using Adobes Flash can use this new feature to export it as an iPhone App and upload it to the AppStore for people to download. Adobe was all set to release this feature in the new Creative Suite 5, which is a suite of applications including Flash Professional, Photoshop, Illustrator, and many other useful creative applications, on Monday when Apple made this sudden change that included a prohibition on applications that are written in a programming language other than Objective-C, C++, C, or Javascript (which are all the languages that Apples native APIs use). This has, needless to say, caused quite a debate between Adobe and Apple and yet another story of two companies that were BFFs turned rotten. (Google and Apple being the first case I know of; over the recent lawsuits from Apple targeted at the Android platform and Googles Eric Schmidt resigning from the Board of Directors because of competition between Apple and his own company.)
Since I am both a developer, and an iPhone user since the very beginning, I have very mixed opinions on this situation. At first, I was very much in favor of Adobe and highly bitter about Apples increasingly closed platform (am I cool now?). But I recently read a convincing blog article from a fellow named John Gruber that made me look at this situation from a different angle. Therefore, I shall post this article in two different viewpoints: A Developer, and an iPhone User.
Developer Viewpoint
Apple is prohibiting development on its iPhone platform by limiting the tools that can be used to create iPhone applications and forcing developers to only use Apple APIs to create their applications. I dont like that they are forcing developers who have already been creating mobile applications for years using Flash and Java to learn a new framework and a new programming language in order to develop for the iPhone platform. Since Ive already written mobile applications for devices in the past using Java, why dont I just write applications for Android instead? They may have a much smaller marketshare when compared to Apple, but at least then I dont have to learn a new language and I can use whatever runtime or cross-compiler I need to get the job done. Furthermore, Apple already has a notoriously closed platform running on the iPhone, this just further tarnishes their reputation. Instead of Apple having complete control over their OS, developers should have control. Despite the fact that Apples APIs allow me to create very nice-looking and functional applications in a relatively short amount of time, Im very displeased that Apple doesnt trust developers enough to let us write even more powerful applications with APIs and languages of our choice.
iPhone User Viewpoint
Flash on the iPhone for me is a non-issue. A lot of statistics claim a highly optimistic use of Adobe Flash on the web, but most of it seems to be obnoxious banner advertisements and mediocre games. Video is a huge reason why Flash still exist on the web, but most modern web developers are moving towards, ironically, more open and non-proprietary standards like HTML5 to display video on the web. YouTube, indubitably the most popular video provider on the web, has dedicated viewing applications for the iPhone, iPod Touch, and iPad that even display video perfectly inside the web browser. As for developing Flash applications that run on the iPhone, cross-platform toolkits never produced quality applications especially ones that run on Apple platforms. I made a post earlier about how programs that are ported from other systems contrast sharply with native Mac applications because of how unique Mac OS Xs look-and-feel is presented to users. This is a simple fact that nobody can deny: applications that are written specifically for one platform are emalways/em better than ones that are ported from system-to-system just for the sake of widespread usability. However, I believe that a lot of iPhone users will be missing out on a lot of quality Flash applications that do exist, but with a phenomenally large application catalog, I dont think users will be missing out on much.
In the end, its all about perspective. I seriously doubt that Apple fans and long-time developers will be moving away from the iPhone platform and I also seriously doubt that Apple critics will be reconsidering their choice of platform even if Apple did allow Flash on their devices. Despite how conflicted I feel over this situation, nothing changes my feeling that users should be able to do what ever they wish on their own devices. Apple shouldnt be allowed to say what I can and cannot do on my phone, but this has been the standard of tech companies for centuries and Apple most certainly isnt the only one that is guilty of this. I just hope it doesnt get any worse.