Does it make sense in a UI to allow users to reorder buttons to their liking and/or hide/show them?

In Zwitscher I have quite a few buttons on display (see the middle screenshot on https://market.android.com/details?id=de.bsd.zwitscher). Some of those are relatively important, while others could be stuffed into a context menu. However, I don't know what individual users consider important buttons.

How much flexibility is good here?

  • Thanks for all the good comments - sort of hard to only accept one.
    – Heiko Rupp
    Commented Feb 24, 2011 at 9:18

3 Answers 3


Personalization is good for frequent users of software with different applications (i.e. some people use Word to write love notes, others hook it up with an access DB to generate form letters).

[edit] Jim Rush elaborates these reasons, below.

Personalization is bad if it's just an excuse for not making decisions. Every option in your program is a decision your user must make because you didn't make it. We - as techies - thrive on possibilities, we enjoy because we can. This is different from an average user audience, who want to get things done with the least effort necessary.

Of course, you can't make all decisions, and the issue goes deeper, e.g. free vs. bound decisions. The first questions to answer are: Can the user make that decision? How? Doe he want to?

Besides the customization implementation, there are other issues that increase the total cost:

  • A multitude of additional test paths and hard to reproduce bugs
  • Preventing / dealing with accidental modifications: "where did my buttons go?"
  • Portability of experience: "This doesn't look like MY Word"
  • Merging user customizations with UI changes durign updates
  • Persistence and portability (can I export my settings and carry it over to another computer/device/account?)

peterchen has a good answer. Here are some additional factors:

Good reasons:

  • Application has a lot of corner case features that aren't useful for the majority. This is common in the perversion of the 80/20 rule: 80% of the users want their own unique blend of 20% of the product features.

  • Product has a variety of work flows. I want display X with features A and B, but somebody else wants display X with features A and C.

  • Screen real estate is very expensive. Your example is mobile, but line of business (LOB) often have to share the desktop with other applications leading to a similar problem.

Some applications already provide this functionality in the form of custom toolbars in menus. This works because the layout or form is reasonably fixed. Allowing this in the rest of your layout can make things very confusing or lead to a less attractive and functional solution.

For example, the iGoogle page can be tailored to have your own components, but you're forced into a rather rigid column structure. It works to some degree because the components are reasonably independent of each other. Allowing your users to move around major display and navigation components could be problematic.

Movable items can create their own usability challenges and can be expensive to implement. Is the effort put into doing this right better than offering your user/customer a better experience or another feature ? An in between solution could involve predefined customer profiles. Identify the type of user and give them a solution that fits their need. Or, just give them a choice of a few useful layouts.

I work with large LOB applications and we are currently looking at this type of problem. The need and likely implementation is warranted. Another factor that is relevant for us: "Is this a user setting, an account profile shared by many users or a global configuration ?" The first choice is unique from the other two as it implies a separate configuration area or mode that is hidden from the user.

  • "An in between solution could involve predefined customer profiles." -- this sounds like a good idea. So instead of having the fixed set or the full customization having the default ui as is and then a 2nd one that shows the most important 3-4 buttons plus a 2nd one to access the other options; this allows for fast access to commonly used stuff and a less cluttered UI.
    – Heiko Rupp
    Commented Feb 22, 2011 at 12:32

The best way to determine if your "navigation" is correct is to test it. You can use card sorting, user testing, interviews, etc. to determine if your interface makes the most sense and/or is too cluttered. You may also get some other ideas on how to improve your app (for example - just at first glance, those icons on that screen are too generic and too similar for me to know what they do, so I'd probably be flat out confused no matter where the buttons were).

Personalization is a neat thing to have for those that actually make use of it, but I've learned that a significant portion of users will never even bother with customizing a UI to their liking. Having a clean, easy to use interface in general just typically works out to be better for everyone overall.

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.