Apple’s changes to the iPhone SDK
With the announcement of the upcoming iPhone 4 OS, Apple also modified language in their license for software developers. A very contentious change to the license reads:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
At first, given the very public wrangling Apple and Adobe have had over Flash on the iPhone and iPad, it would appear that this language may have been added to prevent iPhone applications built using Adobe Flash from being allowed in the App Store. Creating an iPhone application using Flash is one of the much ballyhooed new features of Adobe’s new CS5 productivity suite software. Now, it is very much in doubt that this feature will be of any value since Apple will not allow these applications to be sold in their store.
The rationale for this move by Apple is that they want to prevent sub-standard apps from being available on the iPhone degrading the user experience. And, certainly, people who have a lot of experience using Java applications, for example, on the Macintosh can understand this concern. People in the development world claim that Apple is trying to prevent making multiple platform programs harder to make and, thus, locking developers into the iPhone ecosystem and stopping these programs from making it to Google’s Android platform.
Personally, I think that Apple both wants to hurt Adobe, whom they have shown that they have a real problem with and, also, to maintain tighter control over both the user experience and raise the hurdle for porting to Android. I do believe that Apple cares about maintaining a great user experience. And the iPhone is, in my opinion, very nice.
However, here are the reasons why I think what Apple is doing is wrong.
- It has been pretty well-known that Adobe has been working on a way for Flash developers to create iPhone applications with their newest software. One imagines that they spent tons of time and energy creating this feature for CS5. Not only did Apple not, to my knowledge, warn Adobe that this method of application-creation would not be allowed, but they decided to drop this bombshell less than a week before Adobe announced CS5.
I have seen many Apple fans argue that it is not Apple’s responsibility to create a marketplace for Flash developers to sell their wares and that they don’t owe Adobe anything. I have even heard whining and complaining about Adobe’s software being poorly written for the Macintosh. I agree that it is not Apple’s responsibility to provide a livelihood for Flash developers. I am not sure that I buy that Adobe products are poorly written on the Mac (or more poorly written than on Windows). However, that doesn’t justify Apple’s treatment of Adobe in this situation.
Adobe is a long-time developer for Apple’s Macintosh computers. In my mind, this makes them a partner with Apple. I think that the treatment of Adobe by Apple shows a lack of respect and decency and arrogance. Would you want to partner with a company that treats its partners this way?
- This change in policy is just another example of how the App Store approval process seems to not have any clear set of consistently enforced rules but, instead, seem to be changed at the whim of Apple. For example, there was recently a purge of “sexually explicit” applications on the App Store. Somehow, though, this puritanical bent did not ensnare applications by big companies like Playboy or Sports Illustrated. Just the smaller developers.
This change in the license potentially doesn’t just affect applications created with Adobe Flash but could also effect applications made with Unity, MonoTouch and Appcelerator. There are applications in the App Store that have been approved and have been sold to users but, if the new changes in the license are enforced, will no longer be allowed. Apple has shown that they are willing to remove previously-approved applications from their store. Again, I feel that this shows a callousness by Apple toward their developers.
Developers need not only be worried about the current App Store rules but, apparently, they also need to worry about potential future changes. And, again, not clearly communicating application guidelines and moving the goalposts on developers shows and arrogance and lack of respect for developers. Furthermore, it should be up to the developers to determine the best tools to use to create their applications. Apple should need only concern themselves with the finished product. If a third party framework is not capable of creating a compelling, high-quality application than I trust users not to buy the product and, so, the developer will not make money and the enterprise will not be worth their time. Why not trust the users? It is in the developers’ own interest to make great applications to ensure a good revenue and continued business.
If Apple is truly concerned only with the quality of applications then they should be able to review based on that. I think we can all agree that there are terrible apps that have made it through the approval process. Reject the terrible apps if that is truly your goal, Apple. But having this much uncertainty in the approval process makes the iPhone App Store a risky proposition for developers.
I really see these recent moves by Apple as them becoming overconfident and arrogant. I believe that this attitude is partly what led to Apple’s dire situation in the 90s. This arrogance is parroted by Mac fans who have flooded tech boards with comments amounting to “love it or leave it” and showing a fairly strong devotion to Apple and the belief in their infallibility. It is hard to believe that Apple fans would endorse this kind of iron fisted rule by Microsoft… but Apple can do no wrong in the eyes of these fans. Any developer who questions Apple’s policies are treated as the enemy.
I think that this arrogance and shabby treatment of others could lead to Apple’s downfall. Android seems very appealing and I think the Windows 7 Phone looks intriguing. They should offer compelling alternatives for developers and I really do think it is the developers and the software that makes or breaks a system.
