Gee, what a shock. Let's see, Leopard comes out on the 26th of October, and about 4 months later, there will be an SDK for the iPhone and the iPod touch. Why, one would think that you'd need Leopard to properly develop applications for the iPhone, and that it was silly to think that you'd get an SDK prior to Leopard. I wonder why, in all the screaming and crying and whining about the lack of an SDK on the iPhone, no one every pointed that out. Oh wait, a few of us did, but when you're the voice of reason in a room full of cranky infants, well, you don't get heard. But there were some voices saying that you probably wouldn't get an iPhone SDK until after Leopard.
The point is, unlimited third-party development on an embedded device with stringent operational requirements is not the magic spell of good and light that people think it is. That's not to say that I don't think Apple should release a "proper" SDK for the iPhone, just that I'd rather they take their time and create one that, above all else, does no harm. It's an iPhone -- I expect that part to never be troubled by anything other than carrier signal.Mmmm...sweet, sweet reasoned analysis, even sweet 'cause it's mine.
But there's another possible reason as to why Apple didn't release an SDK at the iPhone release: The version of OS X the iPhone is running. I'm going to make an educated guess, based on the way the iPhone does certain things, and how the iPhone's launch delayed Leopard, and say that the version of OS X that the iPhone is running is not, in fact, an embedded version of Mac OS X 10.4, but an embedded version of Leopard.
This is speculation, but I'm pretty happy with the reasoning behind it. If this is the case, then it would be quite difficult to release an SDK that allowed you to build features that don't run on the current OS release. Apple could build a "simulator," but unless that simulator included the full iPhone OS, it wouldn't be something you'd want to trust. True, Apple could have released an SDK at the recent WWDC, but then you'd have a (probably) beta SDK that used beta developer tools running on a beta OS release that targets a device with a tiny margin for error. This is not a recipe for reliability.
So I do think we'll see a "real" SDK, but it won't be until after the release of Leopard, at the earliest.
Hmm...let's see...without screaming or whining, but a bit of critical thought, I was right. No screaming, no demands, none of that shit. Just a bit of thinking about what the iPhone is running, what Apple is doing, and the timing of various things. Maybe some other people getting all dramatic about stuff should think that over a bit.
Nah, it's the "blogosphere". Who wants "thinking" in that?
Oh, and Nick Winfield? Contrary to what you think, Apple never said "No non-web applications ever", so no, they did not in fact reverse their position.