Tuesday 30 August 2011

Thoughts on UI – disable or hide..?

To guide the user on what he/she is expected to do gives a very high user experience. For instance, disable the save button until required fields are filled in and are validated. Maybe even make the button the user “should” click greenish to emphasize that it is the expected button to use. Sure, some things may take a while to validate and then it’s not suffice to let the user wait for the save button to be enabled, but that’s another story. User “errors” should be caught as early as possible! Because that’s what we  are used to in the real world – we are utterly bombarded with feedback all the time! E.g. try to open a door! You will instantly feel if it is locked or not. You don’t click the “open” button and cross your fingers that you did everything correct so the door will open…

And it works for more things then just a save button. To disable things the user is not supposed to touch until expected aids the user in a very good way.

But is it even better to hide things?

It’s a tough question. Here’s my thoughts.

It’s good to hide things if it confuses the user and isn’t relevant. If the user is presented with to much information at one time he/she doesn’t know what to do. That’s a known psychological phenomenon called choice overload phenomenon.

But at the same time, it’s good to know what to expect. To hide a save button would be terrible. If you see a form with no save you would probably leave it untouched. Then it’s better to disable instead of hiding.

But when do you know when things are confusing and should be hidden or when they should be disabled to let the user know what he/she is expected to do?

Simple. Talk to the users! Ask them! Show them the alternatives! “What do you think is better? This?”

mockup1

“Or this?”

mockup2

2 comments:

  1. Nice post!

    Would say that when the user will have the possibility to perform an action (now or sometime in the future if the conditions are correct) disable is the way.

    If the user however never ever should be able to do it, eg. if the user needs to be in a certain role to be able to click the button, but isn't - then hide the button.

    /Daniel

    ReplyDelete
  2. Daniel, you are absolutely correct!
    But, as I said, if the view for the user is cluttered with things he/she can do. It's probably better to hide it.
    Or, even better(!), it's probably a signal that the UI is bad and needs rethinking and redesign. Just like bad code (and refactoring/redesign is needed).

    ReplyDelete