The iPhone appears to be a great new computing platform. It promises an excellent computing experience of the go. With the app store and SDK, rich applications can be created and shared with iPhone users. Apple is the sole distributor of iPhone applications-and this is where it begins to fall apart. Granted, the arrangement Apple has created for iPhone developers is pretty fair: they provide the mechanism for distribution and the bandwidth for thirty percent of what you charge…and you can charge what ever you want including nothing at all. But, with Apple being the ONLY official distribution outlet means you are solely at their mercy. They must approve everything that goes into the store, a process that, apparently, can take quite a long time. According to The Unofficial Apple Weblog, there is general discontent among the developer circle.
The second potential factor in keeping the iPhone from truly becoming a viable computing platform (longterm, that is) is that Apple forces the developers to sign an NDA. The NDA prevents developers from SHARING knowledge. It prevents them from discussing anything SDK related. They cannot post questions to public forums, they cannot write how-to articles and cannot even share code snippets. In short, Apple is actually discouraging developers from actually being developers for the platform. As an outsider looking in, it astonishes me that Apple is treating the developers this way. The fact that you have to pay a hundred bucks for the privilages of actually being a developer is unbelievable. Then, your only means of distributing your application is to: get it approved by Apple and then put out in the app store. Forget putting it on cd and in a box for sale at an ATT store or Best Buy. Not being able to communicate with other developers is huge disadvantage. The NDA is just too restrictive.
Say what you want about Microsoft, but they at least know how to treat developers. I’ve heard many podcasters complain about about the phone being unstable now. Some blame the third party applications. While there may be some apps that are just not fully baked, blaming the third party apps for all of the iPhones instability is a cop out. The platform itself seems pretty delicate if just having a few third party apps can crash it. Supposedly, no background threads from third party apps are allowed. If this is the case, then how can they crash the phone if they are not running?
If Apple really wants the iPhone to become a viable platform, then it has to learn how to treat it’s developers. Steve Ballmer was right…DEVELOPERS! DEVELOPERS! DEVELOPERS! DEVELOPERS! DEVELOPERS!