I am considering adding an update to my iPhone app that allows the user to choose many new features such as the background image, where certain buttons are located, button colors, button design, certain label colors, etc. While I have a lot of ideas on where I could allow the user to change things, I wonder how much choice I should give them.

If I give them too much choice is it possible they will give me bad reviews, or is the opposite more often true?

Also, if I give them that choice, should I put that all in a single preference panel, or should I split it up somehow? (I don't like using the Settings App, so I'm not asking about that here)

7 Answers 7


The Apple folks are famous for taking away every possible feature and really focussing on a few things. I'd suggest following their lead. Daring Fireball has quite good piece on the Apple mantra:

We can put all of our products on the table you’re sitting at. Those products together sell $40 billion per year. No other company can make that claim except perhaps an oil company. We are the most focused company that I know of, or have read of, or have any knowledge of.

We say no to good ideas every day; we say no to great ideas; to keep the number of things we focus on small in number.

  • Indeed inspirational. I think it would be better to relate this general principle to the question at hand.
    – Dvir Adler
    Commented Feb 9, 2013 at 15:19

Obviously it depends on the app. In my experience generally speaking most software gives users too many options and would be better served offering fewer choices.

OTOH iPhones are such personal devices the sense of individuality customization affords could be valuable.

Just be sure to not enable the user to degrade the app. There might be an layout arrangement that is very difficult to use or disables a use case the user didn't consider, a color scheme could render it unusable in certain lighting, etc.

In other words don't give them enough rope to hang themselves. You wouldn't want a user to think "why the heck was I allowed to do that?"

A limited set of canned skins or themes is usually a safe way to allow customization. Some users might appreciate a color scheme that matches their personality and older users will appreciate a high legibility theme.


Think of it this way. Not every feature you want to add is the greatest. Some are better than others. So, think about which ones you feel will add the most value to your end users. Lets say you have 6. out of those 6 pick 2 and add them in. Here is the important part. Ask you users what they feel on those new features and what they would like to see next. Allow your users to drive your development. There are a number of new solutions that will give you user feedback within app as well as heatmaps and more. One of them is Keen.io as an example.

If you know of Costco you'll understand this. Costco ONLY sells one type and one size of ketchup. While they tried carrying other types and sizes what they found is that overall they sold less ketchup. The reason for this is that with to many choices users and/or buyers don't make a choice and abandon what they were going to to. Less choices focus a user and/or buyer into a narrow funnel of accomplishing a task. It's easy to add more over time and see what works but it's difficult to take away.


Give users as many options and features as you can, but have only the most used, or most likely to be used, features in plain sight.


Choice is the big problem of our time.

We have so many choices, that if something wents wrong we have noone to blame but ourselves.

Try to eliminate choices, which wouldn't affect the outcome in any way. Like "you can buy this car with a red, blue or a green contract."

Try to minimize choices, which are limiting multidimensional. (If you choose A: 1, you can't choose B: 2 and C: 1) because this can be confusing and forces users to make a decision between suboptimal outcomes.

Try to make choices for the user in fields, where you are an expert and most users would choose suboptimal outcomes if they were in charge.


How much choice should I give users?

As little as possible that can net as large users as possible. As a rule of thumb, don't add choices when it does not matter.

If the selling point of your app is productivity, only add choices when it affects workflow significantly. Again, don't add trivial customizations, things like position of buttons, colors, etc usually does not really matter.

If the selling point of your app is customization and personalization (most apps should not have this as the main selling point), things are a little different, put a set of different options as complete "themes" instead of individual options. Most people cannot make good themes, even if they think they do; you'll be having people walk around showing off your app with their crappy customizations.

If the selling point of your app is ease of use, then less is more. Less means everyone will be using the same app the same way and there is less mine traps for the less proficient users.

Giving too many options is often born out of laziness, you're not doing your user research enough to actually know what they really needed so you give everything.


As your question suggests, you are looking to strike the right balance between freedom/control and complexity.

In my own humble opinion, many if not most of the freedom given to users to customize their experience is merely a lack of decision on the part of the designers. It's the designers' job to anticipate what's best, and implement it. Most users hate configuring their software, and usually don't start to bother.

To find the right balance, look for the settings that has most influence on the way users interact and experience your product. Allow them to change these only, and avoid those settings that are changed rarely or have little effect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.