Blog

Settings Are in the Settings App

December 18, 2008

Apple recommends that application settings go in the Settings app, and application “configuration options” go in the app itself.

iPhone applications can offer settings that define preferred application behaviors or configuration options users can set to change some functionality of the application. Settings that define preferred application behaviors… are accessible in the built-in Settings application. Configuration options should be available within the application context…

(iPhone HIG: Managing Settings – requires ADC account).

Take the Weather app for example. This offers “configuration options” on the backside to manage different cities. Likewise, the Stocks app flips over to allow configuration of your stocks.

Mail on the other hand makes you manage your accounts and settings in the Settings app itself. This makes sense – you are much more likely to change what stocks you watch or what cities you’d like to check the weather for than make a new email account or change the minimum font size. The only real difference between a “setting” and a “configuration” is how often they change.

There are two problems with the way Settings work on iPhone. The first is a technical problem, the second is a developer problem. The technical problem is that third party applications cannot execute their own code in the Setting app itself. This leaves them crippled, and it’s the only reason why I didn’t include the account management features of Tweetie in Settings.

The second problem is that many developers have chosen to eschew the Settings app altogether, deciding instead to put all their settings in the app itself. In cases where where executing code is required, this is forgivable. In other cases it is not, and just sets bad precedent and teaches users the wrong way of doing things.

It’s worth noting that John Gruber predicted this problem on day one:

…if most third-party apps display their settings screens themselves, then when users do encounter an app that uses the system-wide Settings app, they’re very likely to assume that the app simply doesn’t have any settings.

It’s never the users’ fault if they can’t figure out that Settings Are in the Settings App. It’s our fault. If you’re a developer you can do a few things to help out. First: if your app doesn’t require executing code when using Settings, please put your settings in the Settings app and teach your users about it. Second: file a Radar to improve the SDK for third party Settings. Lucas Newman recommends referencing Radar #6268602… the more bugs, the higher the priority.