Apple iPhone 2.0 Software Preview

On Thursday, March 6, 2008, Apple CEO Steve Jobs hosted a special event at the Apple Town Hall on Apple’s Cupertino campus, where he and two other company executives detailed plans for iPhone 2.0, an upcoming iPhone software update that dramatically enhances the value of a product that is already, quite frankly, pretty darn valuable. What Apple is doing with this update is both revolutionary and exciting. Though I wasn’t invited to the event, I downloaded a copy of the video presentation and watched it on the plane ride home from Las Vegas, where I was attending Microsoft’s MIX’08 show.

iPhone Software Development Kit (SDK)
Scott Forstall, the vice president of iPhone software at Apple, presented the iPhone SDK portion of the event, which was a bit more technical, by definition, than the enterprise bit. (Forstall comes off as a vaguely smarmy Jobs clone, similar to the many Bill Gates clones that infested Microsoft a decade ago.) In keeping with his role as Jobs Jr., however, he started off with a quick review of how the previous iPhone development model, the woefully inadequate Web apps, has done. Forstall said the program has been “incredibly successful,” with over 1000 Web apps developed since last summer. The closest you’re going to get to a groan at a partisan Apple event is absolute silence, and that’s what Forstall got with that comment: Obviously, Web apps are not a first class development path for the iPhone. Indeed, the presence of the new SDK pretty much confirms that even Apple believes this too. That said, Forstall hinted that the iPhone 2.0 release would include some improvements to Web app development, but he didn’t explain what those might be, perhaps wisely.

Moving along, Apple’s native iPhone SDK appears to be far less locked down and controlled than most expected. Forstall said that the SDK includes the exact same tools and APIs that Apple uses in-house to develop their own iPhone applications. This is impressive, I suppose, though such a thing is common practice in other software markets. (Microsoft, for example, develops code with the tools it gives to third party developers as well, for example.)

Forstall described the APIs as “the platform,” which is based on “the most advanced platform in the world, in the form of Mac OS X.” (Ah, hyperbole.) Mac OS X is comprised of four architectural layers: Core OS, Core Services, Media, and Cocoa, the latter of which is the user interface application framework, sort of like Windows Presentation Foundation (WPF) on Windows. (Though, of course, Cocoa is “The. Best. Application Framework. Out there,” according to Forstall.) The iPhone OS is built on the same basic layers: You get Core OS, Core Services, and Media, just like with Mac OS X, but the top layer is replaced by something called Cocoa Touch. That’s because Cocoa is based around a mouse and keyboard interaction paradigm. (This belies the best application framework claim above, but whatever.)

Cocoa Touch is combination of the object oriented Cocoa framework and “everything [Apple] knew about creating a touch API for the iPhone.” This suggests to me that Cocoa Touch is, in fact, a fairly recent development and that Apple did not, in fact, use these technologies when it create the original iPhone OS software. (Not that it matters, I suppose.) Anyway, Cocoa Touch is the user interface application framework for the iPhone.

Forstall then examined each of the iPhone OS architectural layers a bit more deeply. Core OS, for example, is the lowest level of the system, comprised of such things as the OS X kernel, sockets, security, power management, and the file system, among many others. The iPhone’s kernel is identical to that of OS X: It is built from exactly the same source code, he said, but optimized in certain ways for the device. This alone makes the iPhone compelling from a technological standpoint: Until MinWin hits with Windows 7, it’s hard to imagine anyone using the kernel from a desktop version of Windows to build a smart phone.

Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)