iPhone Simulator as Try-Before-You-Buy

Apple released the beta version of their iPhone SDK yesterday, and the response from the developer community was an unintentional DDoS of the entire developer.apple.com domain. But there are a few caveats to the otherwise Christmas-morning-like announcement.

Among them is that to get an app into the hands of users, a developer must sign up for a $99 app-signing license, and then sell the app through Apple’s iTunes-esque store, with Apple taking a 30% cut. This is really convenient (if a bit expensive) for the developers, but runs up against the established business model of the vast majority of indie Mac OS X developers: try-before-you-buy shareware. In this model, the software is distributed free-of-charge, often with limitations or nagging that can be turned off (or extra features that can be turned on) only by entering a license code purchased from the developer. It’s not completely clear how this would work under Apple’s model.

But another thing Apple released yesterday was a Mac-OS-based iPhone simulator. Right now it’s Mac-only, and it may or may not be a major PITA for Apple to port this functionality to run under Windows, but it represents an ideal solution to most instances of the try-before-you-buy conundrum: Apple would merely need to allow developers to link their app against the simulator and to distribute the resulting bundle as a trial version of their app. If by playing around with it on your (non- or less-mobile) desktop or laptop you decide that you like it, you would pay to download it from Apple’s store.

Now it’s true that a linked-against-the-simulator app could lead to piracy, but realistically the App Store will do little more than to keep honest people honest; dishonest people will most likely just copy the app from a hacked iPhone. It’s also true that people might use the simulator-widgets on their computer in lieu of paying to use it on their iPhone. But typically anything that can be done on an iPhone can be done better on a PC, albeit in a less pocket-sized fashion.

So I believe that represents another category of people who wouldn’t have purchased the app anyway.

New Project Up

The previously mentioned teach-myself-to-program-Cocoa-apps app is now available in a more-or-less feature-complete beta version.

The program is called Checkpoint, and is used to calculate scores for a certain style of time-speed-distance road rally. It’s something I had first tried to put together as a pure JavaScript+HTML app à la TiddlyWiki (but without the ability to save), and then as a (buggy) Ruby on Rails app I ran on my laptop. Then I realized that it’s probably one of the few apps that really makes sense to run as a pure desktop application.

Anyway, on the off chance that you think you might find this sort of thing useful, follow the link above. It’s free as in beer and runs on Mac OS X 10.4 and later.

Interfacing Combo Boxes with Core Data

I’ve been putting together a “Learn how to program Cocoa” program, and one of the things I’ve recently struggled with is how to link up an NSComboBox with a Core Data entity so that a heretofore unseen entry in the text box part of the combo box adds an instance of the entity and sets the value of the combo box to the new entity instance.

(more…)