So I’ve noticed yet more noise recently on the whole iPhone app settings location. Apple recommends that settings go into the global “Settings” application, but just about everyone else seems to think that that’s wrong and confusing, which I mostly agree with. Usually, I never think to go digging in Settings to find out if an application I’m using has any kind of settings I’m interested in changing (it’s also a pretty good testament to the usability of a lot of the apps I have, since they just work, as installed, without me dicking around with knobs).
There is a simple, elegant solution, though:
Put settings in both places.
If you have settings at all, you probably are using NSUserDefaults to store user settings, and so you can control these yourself inside your app, and can add a settings bundle so they are available in the Settings app.
If your settings are complicated, and need custom controls that a settings bundle won’t support (however, you shouldn’t have complicated settings in the first place), you can pare down what goes into the settings bundle to things it supports well.
This should work fine, and it manages conflicting user expectations: users are told that settings are in the settings app, so they should find them there; but it makes sense to have settings available in the app itself, so they should find them there too.
(I did just add two settings for the 1.1 release of WOD, and I only put them in the settings bundle for that release, because it was easy. 1.2 will have settings controllable in both the settings app and the app itself.)