The Steve, The Developers, and The NDA
by Eric March on July 29, 2008 at 11:54 am
Apple has hit a bit of a rough patch lately, no doubt resulting from having bitten off more than they could chew due to being completely unaware of how big the morsel was. 3G launch day activation problems, the iTunes upgrade system serving up free iPod Touch 2.0 firmware for the better part of the first day, the App Store frequently failing to charge for pay apps for the first couple of days, app installation issues, crashing issues, .Mac-to-MobileMe transition issues, service outages and the recent lost E-Mail debacle, 3G connectivity blips, developers complaining of long wait times to get their updates distributed to the App Store — it has been a regular clusterf…udge. And all in a little over 7 weeks.
However, one of the most vexing issues — at least for developers — is the NDA they had to agree to in order to download the SDK to begin their adventure in iPhone development. Indeed, it seems rather perplexing that Apple should want to prevent programmers from discussing the inner workings of SDK with other programmers (other than those in the same company) that anyone can download freely right from Apple. It doesn’t seem to make much sense, does it?
I think maybe it does, though, and I’ll tell you why: It’s because the SDK isn’t finished.
Let’s take a step back and look at the larger picture for a minute. Apple unveiled the SDK at the end of this past March. At that time they gave a few select companies early versions of the SDK prior to the keynote to see what they could do with it in two weeks. The end results were quite impressive and made us wonder what developers could do with the SDK given even more time.
The SDK was made available that same day, and anyone could sign up to be a developer and download the SDK for free, with the stipulation that if you wanted to get in on the real action, you had to fork out $100 for the priviledge of getting on the waiting list to be officially accepted as an App Store developer, with all of the honors and benefits accorded thereto. Still, that’s dirt cheap compared to most commercial SDKs.
But while developers couldn’t officially discuss the inner workings of the SDK, they were still able to divulge certain things — chiefly, that some of the things some developers wanted to work with weren’t yet available in the SDK — a theme we would come to be familiar with over the next few months, because the one thing every developer knew coming out of the gate was this: The SDK wasn’t finished.
It made sense to keep things hush-hush though. Apple didn’t want developers talking about the SDK before it bore fruit — especially an SDK that was incomplete, buggy, and still very much subject to change. Talking about such things which could be construed by the general public as flawed could reflect badly on Apple. Far better to try and keep things under wraps until the SDK had reached a level of maturity where it ccould be discussed in more complete, and therefore more favourable terms.
Between the unveiling in March and the iPhone 3G’s release on July 11th — and with it the App Store — the SDK continued to be improved with new features, bug fixes, and more. Beta after beta was seeded to developers, and each new beta brought with it new features, some of which no doubt had to be retrofitted into existing code for those developers that wanted to make use of it even before it was available. The final 2.0 beta went gold a couple of weeks before the 3G’s release, and one would reasonably come to the conclusion that “gold” means “final” or “complete.”
<p><!–adsense–></p>But even after its release, the NDA was not lifted as you might expect it would be. Developers were — and still are — under Apple’s Cone of Silence. Why? I’ll tell you why. Because the SDK still isn’t finished. “Gold” here does not mean “complete.” It means “The point where we ran out of time before launch day, so we’ll just call it 2.0 and continue the beta program into 2.1 or later.” That means that the SDK is still in a state of flux, with new features still being added, kinks still being worked out, and stuff in general still subject to change in a way that validates the continued enforcement of the NDA for the same reasons it was initiated in the first place: Discussing an incomplete work could give it a bad rep because anything bad that is said about it could hang around long after the comlpaints have been fixed.
“Okay,” I hear you say. “I understand why they can’t reveal stuff to the general public, but why aren’t developers allowed to discuss development with othe programmers outside their own organization?”
It makes sense, right? Developers should be able to discuss code, share snippets and tips and tricks on the best way to achieve desired results, right? They shouldn’t all be expected to reinvent the wheel, should they? No, of course not! Not once the SDK is complete, anyway. But remember that the SDK is technically still beta. Anything can change, and if developers were to go sharing code snippets and tips and tricks with other developers, and then Apple goes and changes the SDK in such a way that it breaks the code they’ve now shared with who knows how many other developers — well, that’s just going to piss off a lot of devs, instead of just the one who used that particular routine.
Yes, it’s frustrating, but for the time being — at least until the real final SDK starts looking more like real gold than pyrite — it’s the one case where letting everyone reinvent the wheel is better than letting them all use the same wheel design only to have it obsoleted because Apple went and changed the roads.
These are the unfortunate consequences of having rushed the SDK to market, but it’s all horses and barn doors now. None of this should be taken as fact — y’all should know as well as anyone that Apple never confirms or denies anything that isn’t intended for public consumption — but it’s the most sensible conclusion I can come to given the situation, and is something I might be likely to consider doing if I were in the position to make such decisions myself. Not that I would presume to know the mind of The Steve.
Eventually this will all become moot as Apple irons out the problems, finally sticks a real 1.0-final sticker on the SDK and lifts the NDA, but for now there are a lot of questions and frustrations, so maybe this might provide some kind of a quasi-answer.

Posted in 











August 1st, 2008 at 10:03 am
[...] Did anyone manage to buy it before it was given the axe? Well, at least one person did, and Engadget got some video to prove it — though they couldn’t quite get it to work. Still, it was an interesting gaffe on Apple’s part, and is another, albeit minor quirk we can just stick on the pile. [...]