Software development is complicated enough, even when you can ask for help.
Apple's decision to Craig Hockenberry started sharing ideas for iPhone code.had an effect just hours after it was formally announced: developers such as
A heavily moderated mailing list for Cocoa developers (Apple's user interface technology) rejoiced at the prospect that they could discuss tips for iPhone development the way they discuss Mac development.
Before Wednesday morning, they simply couldn't do such a thing in public, for fear of getting booted out of the iPhone Developer Program. Of course, in this era of ubiquitous communications, it's pretty hard to keep people under wraps, if they have something they want to say, but Apple's decision to apply the iPhone SDK's NDA to released software forced developers to go underground simply to share tips and tricks they discovered when working on a freely available application.
That was a ridiculous state of affairs, and it did nothing to further the mutual goal of Apple and iPhone developers: the continual improvement of software on the iPhone in order to boost sales. It would sort of be like if CNET forbade me from explaining to readers and colleagues how I developed my thoughts during the writing process for an article that had already been published.
Apple's justification for applying the NDA to released software (it still applies to unreleased software under development) was that competitors might be able to glean insights into the iPhone from the technical details shared among developers.
The iPhone is without a doubt a hot topic among other mobile-software development companies, such as Microsoft, Symbian, Research In Motion, and Google. However, if those companies really wanted to figure out how the iPhone works, it's not much of a stretch to assume that they have ways of making that happen.
Instead of throwing off the competition, the NDA merely angered developers who wanted nothing more than to help make Apple's latest baby even better: they just needed a little help from their friends.
This move is a win-win-win, a rare time in which that cliche actually rings true. Apple will benefit from a vibrant developer community's excitement over developing for the iPhone. The developers will be able to make their applications better and more reliable, which will make them more popular and profitable. And iPhone users are the direct beneficiaries of developer innovation.
It's also a sign that Apple--whose relationship with developers has been somewhat more strained than that other major operating-system company--is listening to the outside world.
Apple's hallmark is control: this is a company that requires an escort for reporters who want to walk 100 yards down a cavernous hallway in the Moscone Center from the media room to the bathroom in plain sight of dozens of people. That control sometimes serves Apple well, in that it can dictate a specific user experience free from outside distractions that might cause problems.
But when you, you have to let go a little. I'm in the camp that believes that Apple always intended to open up the iPhone to outside development--despite telling developers in June 2007 that Web apps are the coolest thing since widgets--but Apple clearly has had control issues, when it comes to how its technology is tinkered with by outside forces.
Apple is never going to be Google, or even Microsoft, when it comes to placating developers. But developers are drawn to the iPhone because of the product itself, rather than the promise of freedom to tinker or a tight integration with IT. All Apple has to do to keep them happy is to give up the tiniest bit of control.
That's what Apple did Wednesday. Now all the company needs to do isand what is too similar to Apple's own plans to be released.