Mar 11, 2008
iPhone SDK Thoughts

Last Thursday Apple introduced the iPhone SDK, a solution for software developers to create native applications that can fully utilize the iPhone's power. Since the iPhone is just OS X under the hood, developers can use the same OS X technologies (Cocoa) to create these applications. In addition, the iPhone 2.0 software update coming in June will package in the App Store, a distribution model for developers to get apps to customers.
The App Store is super important. I've heard some people on the fence about the price cut (which is 70% for developers), and I have to say it is more than fair. You might think 30% is steep for "just the store," but stand back for a minute and understand what the "store" actually is. It's distribution and installation (and unlike iTunes, over the cellular network as well!), payment processing, and hosting. They even have an easy way for users to upgrade your apps. And don't forget that this little store is the exclusive way to distribute apps, and will be on every iPhone and iPod touch. It's huge.
Most of the so-called 'imposed limitations' of the SDK are a total non-issue, even though they're being complained about discussed a lot. Yes, in a perfect world, you'd be able to do whatever you want, leveraging every iPhone technology you can get your mitts on. But the iPhone is not a Mac, and what has been given to developers is far, far better than having to develop using weak web technologies. Complaining about lack of access to system files, or data limitations over the cellular network is nitpicking of the highest degree.
Another interesting note is the "buy or don't buy" model seen with iPod games on the iTunes Store, which looks like it is going to be the model for iPhone apps on the App Store. Try before you buy, especially for utilities, is pretty important. What about free apps supported by other methods of profit - will they be allowed? How do you distribute betas? Promotional copies? Clearly there are lots of questions that need to be answered, though I'm guessing the response to most, at least in the beginning, will be "no, you can't."
For software developers, the iPhone SDK is far more important than you might think. This is what every developer has have been waiting for, period. The iPhone competes with every handheld mobile computing device on the planet, including cell phones, music players, PDAs, even gaming devices. And the ability for developers, both big and small, to tap into that platform using OS X technologies and a unified distribution method is really, really amazing. I can't wait to see what happens.
