Over the weekend popular tech sites got themselves engulfed in iPhone 2.0-related stores. Numerous live reporters/bloggers were present, yet they all had a different take on Apple’s presentation related to the soon-to-come 2.0 Software Update and SDK. In search of a neutral stance on things, I found Paul Thurrott’s rather lengthy write-up on the matter.
In case you’ve got an hour and a half to spare and are in for some Apple-bragging, the whole event is up on Apple’s website in both Standard and High Def (QuickTime) video. I wonder why anyone would like to see Jobs’ face up close in HD, though.
A concise version of the event
As always, Jobs starts his presentation with the regular bragging about how fantastic things are going. The iPhone is now n°2 (right after RIM>BlackBerry) in the US smartphone market with a 28% share and accounts for 71 percent of mobile browsing.
The iPhone is finally going to natively accomodate corporate functionality, in hopes of winning over businesses to acknowledge the iPhone as a true smartphone. When Apple ships the 2.0 software update, the iPhone and iPod Touch will support the following enterprise technologies.
- Full support for Microsoft Exchange
- Push e-mail/calendaring/contacts
- Global address list support
- Cisco IPSec VPN
- Two-factor authentication by means of certificates and identities
- WPA 2 Enterprise, 802.1x
- Remote wipe (over the air)
- Mandatory usage of a PIN
To make this all happen, Apple licensed the ActiveSync protocol from Microsoft.
The software update will be offered to iPhone users for free. iPod Touch users will need to pay a nominal fee, probably (hopefully) similar to the $20 fee for the 1.1.3 update.
Software Development Kit
The SDK is out already and can be downloaded for free*. Apps will be distributed through iTunes via a developer program. Developers can join this program for $99 a year. Companies will pay more ($299, also yearly). Though this looks like a great deal, you must note that the SDK will only work on Macs. Developing for the iPhone/Touch will require more funds than you thought, since you’ll need to purchase a whole new computer, too.
As an introductory to the SDK, Scott Forstall (vice president of iPhone software) outlined the iPhone’s architecture, which borrows heavily from Mac OS X. In fact, it’s comprised of 4 main layers:
- Core OS
- Core Services
- Cocoa Touch
The most impressive thing about this all is that Apple ported the first three layers from OS X without a lot of modification. The media layer provides several interesting API’s including an embedded version of OpenGL. Electronic Arts has developed a demo version of Spore, which uses the accelerometer for navigation.
Developing for the iPhone will give you all the tools Apple uses for OS X and the native iPhone apps:
- XCode + iPhone emulator: Apple’s Mac OS X-based development environment
- Remote debugger: hook up an iPhone/Touch and debug live
- Interface Builder: toolset for creating the GUI for the app (by dragging around controls, like Visual .NET)
- Instruments: statistics on the debugging app (CPU, File System, Memory Usage)
All APIs are written in Objective-C, a language that resembles C++, C# and Java to a certain degree, but is substantially different from what most programmers are used to.
App Store & iTunes
Every iPhone and iPod Touch that applies the 2.0 update will get a new icon on the home screen. This will initiate the App Store, the portable version of the iTunes Application Store. A user would be able to view the inventory and download/install the desired application without ado. It looks and acts much like the iTunes WiFi Store, but will also work over EDGE. Every application you install will also be automatically updated, too.
Developers get 70 percent of the revenues. The other 30 for Apple will render the hosting and distribution. If a developer decides to provide its application for free, there won’t be any hosting costs either. Credit card fees and marketing costs will also be taken care of by Apple.
The iPhone 2.0 update will become available in late June this year.
*: The SDK has indeed already been finalized. I initially stated that it was still in beta, like the 2.0 software update. Thanks for the feedback, Clak.