He also spelled out the frameworks and tools that developers will have at their disposal, including a variant of Mac OS X's Cocoa application framework and Xcode, a source code editor and debugger. The Cocoa variant, called Cocoa Touch, is an "advanced touch event system," said Forstall, that lets developers access the iPhone's touch and gesture features, including the accelerometer, the tiny sensor in the iPhone that automatically switches between landscape and portrait display modes as the phone is turned on its axis.
Other tools in the SDK include an interface builder and something new, dubbed iPhone Simulator, by Apple. "It runs on a Mac and simulates the entire API stack on your computer," Forstall said.
He also demonstrated some preliminary work by third-party developers who had been asked by Apple to come up with something in two weeks using the SDK. Among the results: a bare-bones iPhone version of Electronic Arts' game, Spore; data pulled from Salesforce.com's SaaS customer relationship management applications; and an iPhone edition of AOL Instant Messenger (AIM).
"I've never developed on a Mac before, never used Objective C, and we had a live buddy list in five days," said Rizwan Sattar, a senior software engineer with AOL, as he demonstrated the instant messaging client on the iPhone.
Third-party applications will be distributed via a new App Store, an online outlet for obtaining, as well as updating, third-party software, said Jobs near the end of the iPhone presentation. App Store access will be added to every iPhone in the next firmware upgrade, and applications can then be downloaded directly to an iPhone, or to iTunes - then later to an iPhone - via either WiFi or the AT&T data network that steps in when wireless isn't available. "[The App Store] will be the exclusive way to distribute iPhone applications," Jobs said.
That won't be for several months, however. Apple will package the Exchange support and App Store in Version 2.0 of the iPhone's firmware. The free upgrade, Jobs said, will be released sometime in June.