The iPhone SDK is soon upon us. I’ve taken the liberty of designing an iPhone SDK scorecard which can be used to rate the experience.
Over 40 is wonderful. Below -30 is awful. Please don’t see this as an exercise in application design, but as indicative of the technical capability of the SDK. (Gruber argues that not being able to provide status bar icons should be a +10, and I partially agree.)
- The SDK is freely available?
- Yes: +10.
- Yes, for a percentage of sales in the official repository: 0.
- No, for a small fee (sub-$100): -2.
- No, only ADC Select members: -10.
- No, only iPod-game–like partnerships: -20.
- Applications can be compiled without handing over source to Apple?
- Yes: +5.
- Yes, but submitting to the online repository requires submitting source as well: -5.
- No: -20.
- Applications can be tested and developed without requiring Internet access?
- Yes: 0.
- No: -10.
- Signing code requires a well-known signing authority (and the purchase of an expensive certificate)?
- Yes: -15.
- Yes, but only when enlisting in the online repository, and Apple provides this for free: 0.
- No: +5.
- Applications can be tested and developed without signing code?
- Yes: +5.
- No, but signing is quick and automatic, and the SDK software manages and backs up the signing keys for you: +3.
- No, but signing is quick and automatic: 0.
- No: -5.
- Applications can realistically be open source and freeware?
- Yes, both: +10.
- Yes, freeware: +2.
- No: -10.
- Applications can be listed in the online repository?
- Yes, but only for a fee: -5.
- Yes, for free: +5.
- No, no online repository exists: 0.
- No, only Apple’s apps are in the online repository: -10.
- Applications can be downloaded and installed from the iPhone?
- Yes, from the online repository and other sources in an Installer.app-like application: +10.
- Yes, from the online repository and Safari: +5.
- Yes, but only from the online repository: +2.
- No: -5.
- Smaller “widget” applications can be written in HTML, CSS and JavaScript and provided as real applications without being embedded in Safari?
- Yes, widget applications are the only applications allowed: -30.
- Yes, widget applications are allowed in addition to the Objective-C API: +10.
- No: 0.
- The SDK is offered in a Windows version as well?
- Yes: +10.
- No, but development is possible using a reduced set of tools: +5.
- No: -5.
- The SDK offers a simulator?
- Yes, and it can also act as a mirror of the currently connected iPhone for movie capturing purposes: +10.
- Yes: +5.
- No: -10.
- The SDK offers an Interface Builder-like app?
- Yes: +15.
- No, but it offers some kind of other help: +5.
- No: -10.
- Syncing your own application’s data via iTunes is possible?
- Yes: +10.
- No: 0.
- The SDK allows development of Mail protocol plugins?
- Yes: +10.
- No: -1.
- Applications can integrate with calendar data?
- Yes: +10.
- No: -10.
- Applications can integrate with Maps?
- Yes, including full overlays: +5.
- Yes, including providing pins: +2.
- No: -1.
- Applications can integrate with iPod?
- Yes: +10.
- Yes, but only simple playback and not database roving: +2.
- No: -5.
- Applications can integrate with the photo database?
- Yes, read-write and providing new “Share” options (like email and .Mac Web Gallery): +15.
- Yes, read-write: +10.
- Yes, read-only: +5.
- No: -10.
- Applications can integrate with the SMS database?
- Yes, including intercepting SMSes: +10.
- Yes: +5.
- No: -3.
- Applications can use the camera?
- Yes, full motion video: +10.
- Yes, only snapshots: +2.
- No: -10.
- Applications can use the microphone?
- Yes: +10.
- Yes, but only for limited time sessions or using a provided UI: +2.
- No: -5.
- Applications can use the full multi-touch data?
- Yes, full impact data: +10.
- Yes, the two extreme points: +3.
- No: -5.
- Applications can use WebKit?
- Yes, including tap-to-zoom: +10.
- Yes: +3.
- No: -5.
- Applications can provide custom keyboards?
- Yes, fully: +5.
- No, but can pick from the defaults: +1.
- No: -3.
- Applications can provide support for new network protocols?
- Yes: +10.
- No: -5.
- Applications has appropriate access to cell network (and handling of incoming data) to be able to implement MMS?
- Yes, and Apple ships MMS: +15.
- Yes: +10.
- No, but Apple ships MMS: +5.
- No: -2.
- Applications can provide Growl-like notification bubbles on the Slide to unlock screen?
- Yes: +10.
- No: -10.
- Applications can provide icons in the status bar?
- Yes, globally: +10.
- Yes, in their own applications: +2.
- No: -8.
- Applications can use the proximity sensor?
- Yes: +2.
- No: -2.
- Applications can use the accelerometer (and make apps like Level possible)?
- Yes: +5.
- No: -5.
- Applications can get the battery status?
- Yes: +2.
- No: -2.
- Applications can provide panes in Settings?
- Yes: +5.
- No: -10.
- Objective-C applications can run garbage-collected?
- Yes: +5.
- No: -5.
I will be following up with the actual outcome when the SDK is released, and every time an SDK update comes out. I fully expect the very first release, be it labelled beta or 1.0, to score around -25 or so. This isn’t negativism, just an acknowledgement that there’s a lot of stuff to support and a finite amount of time to implement stable APIs in. However, I hope the SDK will eventually score over +20 before the current iPhone becomes obsoleted.