The iPhone SDK Scorecard

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.

Five

Today, February 14 2008, waffle turns five. (The date is, if you can believe that, entirely coincidental.)

The Audacity of Opacity

Like Thought, LLC launches Opacity today. It is something as sorely needed as an image editor optimized towards working with images in multiple resolutions.

Opacity is perhaps the most truly innovative application to come out of any company — any — for the last year. You work mainly with vectors but also with pixels in layers geared towards certain resolutions. You can use “factories” to produce multiple versions of the image with each a separate resolution, file type and naming scheme, and there are variables to change different parameters of basically anything.

What’s more to it, Opacity is the full package. It is an image editor and a great Mac app with immense attention to detail. (Look no further than the “variables” plug, which is represented by a domestic AC socket — and the socket is localized!)

Opacity looks very powerful, but it’s also very confusing at first. Luckily, Opacity ships with wonderful eye-opening follow-along tutorials that reveal some of the raw power that can be unlocked, and I’m told instructive videos are in the future.

Opacity 1.0 may not be perfect, really easy to use for the uninitiated or free, but as it stands, it represents a far bigger leap into image editors for the express purpose of creating a resolution-independent user interface than anything else, and Opacity and Like Thought deserves all the credit they’ll get. This is a big deal for developers who need to care about resolution independence, and by 2008, that’s the lot of us.

(Disclosure: Like Thought created Opacity, but there’s some of my code in there, and I beta tested it. The shortcut part of Preferences is littered with Shortcut Recorder controls, and Hex Color Picker is bundled as an optional extra. Don’t confuse this for simple tit-for-tat back-scratching, though. My code has no bearing on any of the actual main features. Had I or my software had no involvement whatsoever, the application would still have been every bit as brilliant, and I would have come out just as strongly in favor of it.)

Great 10.5.2 Services News

In precursory testing, Mail from Mac OS X 10.5.2 (just released) finally closes the Mail services bug. Now using a service in the compose window doesn’t insert the clipboard instead of the services results. Finally!

Trying to run a ‘filter’ service on an empty selection will insert the clipboard, but hey, baby steps.

« Newer posts · Older posts »