The three words every geek loves to hear

“Software Development Kit.”

Today Apple announced its iPhone SDK. Considering how excited I am about the release, I don’t want to imagine what it’s like for people who are actually going to have time to use any of it.

I’d been saying that the real potential of the iPhone (and iPod touch) — whether it’s just an expensive and flashy status symbol/geek toy gadget, or a truly revolutionary device — would come down to the SDK release. It’s what made Palm a big (albeit temporary) player: half was the novelty of the gadget itself and the simplicity of its design, and half was that it was an open development platform. From what I can tell, Apple’s surpassed that several times over with this release.

Like any other Apple follower on the internet, I’ve got a few complaints. But overall, they knocked this one out of the park, and did everything right from start to finish:

  • Everything’s built into the already-free XCode and developer tools.
  • Pretty much every useful feature on the device is supported by an API, including the camera, accelerometers, and even the location-detection feature in Google Maps.
  • It’s all well-documented, with slick API reference docs and plenty of how-tos.
  • The sample apps are slick and polished, and a few look like they’ll even be useful.
  • There’s a complete UI kit, so it’ll be difficult to make an app that’s not as professional-looking as the built in ones.
  • An iPhone simulator is included, that works immediately after install without having to mess with licenses and downloading the correct ROM version and the like.
  • The SDK is free for anyone (with an Intel Mac) to download and try out with the simulator, but
  • To install apps on the device itself, or to distribute them, you’ll need to pay at least the $99 developer program fee. Which is actually a good thing, because the cost alone might help weed out thousands of worthless apps — I think the Palm OS had at least 20 “Turn your Palm into a mirror LOL!” apps and variants on the Magic 8-ball.
  • Apple’s “App Store” for distribution has the potential to make the company a bundle and will be easier to deal with than having to go through the iTunes store.
  • Assuming Apple applies the same policy for vetting apps on the App Store that it does for software on its own site and music through the iTunes store, you sacrifice the open-endedness of free downloads in favor of at least a base level of quality in the apps.
  • They finally seem to be targeting business users as well as consumers and gave a nod to game development, without making any one of them feel like an afterthought.

But from what I’ve seen so far, there are some problems too:

  • Although the SDK and the simulator are free, the simulator doesn’t support the coolest features of the phone: no accelerometers, camera, or OpenGL support. To do anything really cool, or even to run half the included sample demos, you need to pony up the hundred bucks.
  • The App Store takes a 30% cut from the developer distributing any iPhone software. Just speaking as someone who doesn’t make a living directly off selling shareware, I’d say this isn’t completely unreasonable, but it does sound pretty high.
  • I definitely haven’t given more than a glance to the documentation, but I haven’t seen any sign of support for syncing between the phone and the desktop. This is a necessity for most productivity apps, and all the fancy screen transitions in the world aren’t going to do any good if you can’t get your notes or To-Do list off your phone.
  • It’s understandable considering what’s been included and the level of polish and professionalism in the SDK, but still: the official version isn’t coming out until June, a year after the phone’s release.

I’ve already got a dozen ideas for things I’d like to write for the phone, assuming I could ever find the time and/or skills. No doubt they’re all already in development by somebody else, not to mention more stuff that hasn’t occurred to me yet. Even though the likelihood of my making productive use out of it is infinitesimal, I’m tempted to pay the developer fee just for the sake of getting to play around with it.

I think I already mentioned on here my reaction to seeing a co-worker’s Pilot PDA for the first time, years ago. Even on a small, low-res, black-and-greenish screen, with a cartoonishly simple interface and no connectivity, it was like seeing the Hitchhiker’s Guide to the Galaxy. The neat thing about the iPhone is that it’s already cooler than I ever imagined the Hitchhiker’s Guide to the Galaxy being.

Just the sample apps alone show that they’ve got people on staff who are thinking of non-obvious ways to use the phone. After watching today’s announcement, I felt like the hyperbole around Apple was almost justified, for once. I had been looking forward to the SDK just for the chance to have e-books, a decent ToDo list, and a personal database on a device as small as the iPhone. When they start throwing in the stuff you can do with motion detection, always-available wireless access, 3D support, and pseudo-location detection, it really does seem like an entirely new platform with enormous potential. It’s like getting to write the first programs for the tricorder.