It is an understatement to say that Apple makes developers jump through a few loops in order to develop applications for it’s most desirable platform. I was going to say this but I have recanted…
Working my way through writing my first iPhone/touch application, I think I have found the reasons Apple’s requirements for writing iPhone applications.
According to Apple, a developer needs to fulfill the following requirements:
– Develop on an Apple Computer with Mac OS X Leopard. Not because they want to ‘stick it’ to everyone else as I originally thought but because the OS version in the iPhone matches this version of Mac OS X. I do not think this is a technical restriction but I understand. The only parallel I can think of is having to write for the most up-to-date version of a language or technology with an out of date API or such.
– Pay a ‘licensing fee’. In a nutshell, its a 99 dollar fee if one intends to deploy applications through the Application Store or 299 dollars if one intends to deploy internally in an organization without going through the App Store. The pricier option enables a developer to deploy applicaitons internally without Apple’s oversight. The regular option requires application approval by Apple and handles all the store related business for you. Lastly, Apple takes a 30% cut from all earnings for the trouble. I (now) think both these fees are reasonable since they both deter the App Store from being littered with ‘HelloWorlds’ applicaitons and manages to keep the difficulties of billing, etc. out of the scope of writing applications for the iPhone.