Tag Archives: sdk

Apple competition in iPhone 3.0

There’s always the risk when developing for Mac OS X that Apple will compete directly with your product. iTunes, Mail, and Safari are high-profile examples, as well as the “lightning strikes twice” hit of Watson/Sherlock and Sandvox/iWeb. That history is “well documented”:http://www.karelia.com/news/small_and_nimble_the_long_s.html so I won’t repeat it here.

But when listening to the “Macworld podcast”:http://www.macworld.com/weblogs/mwpodcast.html a week ago (the episode with Dan Moren and Jason Snell back from the iPhone 3.0 announcement) it struck me that iPhone software is a little unique. They made the point, which I think is true for most software, that Apple’s offering is usually simple, full of holes that could be filled with new features from third-party developers. There is usually room for a developer with a unique twist on an idea to market and sell his solution to like-minded users, even if Apple ships a default good-enough app for most people.

Except there’s one pretty significant problem, especially on the iPhone. Apple cheats.

Third-party apps cannot run in the background. So it doesn’t matter how many features a recording app has that Apple won’t bother to implement, background recording is the killer feature that will always remain out of reach for developers.

Put another way, if the Apple app didn’t record in the background and a third-party app could, that third-party app would likely be worth $5-10 to many people for that one feature alone. But give Apple background recording and it doesn’t matter how many features another app adds — syncing music, FTPing to a server, multiple tracks, sound effects, more file formats — it’s going to be a challenge to convince users they need two recording apps. I expect some audio developers to overcompensate by adding every feature listed above and more to make up for the one feature they can’t have.

iPhone SDK and NDAs

“Craig Hockenberry half-joked on Twitter”:http://twitter.com/chockenberry/statuses/770543005 about the iPhone SDK non-disclosure agreement and it reminded me of one of my personal annoyances in the development community: we tend to take NDAs very seriously. I’ve always been impressed by how Scott Stevenson in particular can write thoughtful articles about Mac software development that go out of their way to tiptoe around unannounced APIs. In his “latest excellent introduction”:http://theocacao.com/document.page/558 to the iPhone SDK, there are no less than 3 mentions of the NDA in the original post and comments:

“Until that time, the SDK is under NDA and the apps cannot be distributed to the general public.” (Scott Stevenson)

“The iPhone SDK is very well done (can’t say more because of the NDA)” (Florent Pillet)

“To answer without getting into NDA stuff, let’s talk about Mac OS X in general.” (Scott Stevenson)

I’ve also been hit by this community-killer. At WWDC last year I posted to Twitter about new .Mac features and it remains the only tweet I have ever deleted. I had this sudden paranoia that conference staff would kick me out of Moscone and revoke my ADC account. Silly.

But let’s look at reality. Over 100,000 people have downloaded the SDK. This couldn’t be more different than WWDC, which effectively encourages discussion only while in San Francisco by requiring an investment of at minimum $2-3k between conference, hotels, food, and travel. The SDK by comparison is totally free to download.

Put simply, how can Apple expect us to take an NDA seriously while at the same time they spread the applications and documentation covered under this NDA to every corner of the Mac universe?

I’m not a lawyer, but this one seems legally ridiculous. There are a few issues handled by the license:

  • Don’t distribute apps created with the beta SDK. That’s fine, because there’s no good way to do that anyway and giving everyone a level “June launch” playing field makes sense for both Apple and developers.

  • Don’t rip-off Apple’s ideas and use them in your own phone before the SDK ships. That’s also fine, because I don’t care about other phones and generally think Apple already has a insurmountable development platform advantage.

  • Don’t talk about confidential capabilities of the SDK. This is the one I have problems with, because I question if something can be considered confidential if it is shared with 100,000 people.

For years Mac developers have asked Apple for an official, closed mailing list to discuss APIs still under NDA. Maybe things would be different now if Apple hadn’t refused that request, but with a release as mainstream as the iPhone SDK it’s too late to try to control the conversation. I expect a healthy discussion of APIs and business practices to happen on blogs and Twitter and IRC and email, and that’s how it should be.