Archive for May 14, 2010

Friday, May 14, 2010

What Every Apple Programmer Should Know

Mike Ash:

Ultimately, this will be a collection of common problems in API design and implementation, and large chunks of any real application count as APIs. While I really want Apple to follow these ideas, if you follow them as well, they should make your life much easier.

A good list. I wonder whether Apple prefers void * user data for performance reasons (no need to allocate wrappers for non-objects), but certainly it would be lower friction if they just used id.

An Apple //e, an iPad, and Jed

Somehow, it’s totally unsurprising that Panic would have an Apple IIe at their office and use an iPad to load source code into it via the audio input port, and yet I wouldn’t believe this in a Hollywood blockbuster.

iPhone Apps I Can’t Have

Mike Ash:

These ideas almost all fall under the category of “utilities.” And this is no coincidence: utilities are largely tools which work in concert with other software to offer more power in combination than you get separately. Apple prohibits third party apps from influencing anything outside themselves, so this sort of utility is impossible. The Utilities section of the App Store is a joke. Most of what it contains is either useless or miscategorized, because Apple forbids the creation of any true utility software for this platform.

Some interesting ideas there, and I, too, would like to be able to buy and develop utilities for the iPhone. However, I believe the larger problem is the uncertainty regarding apps that do follow the developer agreement. Is anyone maintaining a list of all the rejected apps?