Check out this 8-step guide to see how you can increase your productivity by skipping slow application redeploys and by implementing application profiling, as you code! Brought to you in partnership with ZeroTurnaround.
It is easy to think that letting users change all
aspects of an app UI makes the UI better. We've all heard the "if they
don't like it they can change it" argument. It is also very easy to come
up with theoretical scenarios where users would actually want to change
any one aspects of the UI.
Maybe some users don't want to star emails on gmail. Why doesn't Google
let user to hide them? That would save valuable screen real-estate.
Making something user configurable is not a design "get out of jail card"!
The reason Google is not letting us remove the start is same reason that
everyone should always keep in mind when building apps. Apps can't
serve everyone and every use case. It is impossible and apps that try
are doomed to suffer from massive usability problems. Apps should be
designed to serve their target user group and serve them well. Apps
should provide easy access for function that those users need to achieve
Don't try to target everyone. Select your core user groups and serve them well.
There are three very concrete problems that come up if app settings are not well thought out.
- Apps do have settings that users need to have access to. Too many
settings will make it more difficult to find the ones that user actually
- It the app settings are later rearranged and rethought it is
guaranteed to cause at least couple of one star reviews in the market as
at least few people have started to rely on strange usage patterns and
suddenly that option is removed. It is better to get them right from the
- Too configurable app will make it nearly impossible to create
a consistent user experience. It is better to make your app's UI support
your selected user goals than require users to figure out how they can
set it up for their needs.
Should your user have to worry about this setting?
When thinking about app setting the question to ask is: "is this
something my users should care about?". There are things that you must
let users to set. Users should, for example, always be in control of
your app's data usage. If your app is data use heavy you must let them
go to wifi-only mode.
Then there are things that users should never have to care about. User
interface should be configurable only in very rare cases. Do you think
users should ever care about if buttons are part of a scroll pane or
Good defaults, best defaults, no settings
Every single setting must have a good default. A good default is
something that most users would set it to if they had to choose. A best
default is something that users wouldn't even think about. A good
default is no excuse for including a setting that shouldn't be there
though. Not having a meaningless setting is always better than having
one with a good default.
When you're facing a tough interface design problem don't try to get the
easy way out by pushing the decision making on users. We are the
professionals, we are capable making good UIs. We should be making them.
The Java Zone is brought to you in partnership with ZeroTurnaround. Check out this 8-step guide to see how you can increase your productivity by skipping slow application redeploys and by implementing application profiling, as you code!