I have a feature that only allow users to use it when they've already reached a level of experience in the app (similar to stackexchange, stackoverflow). Should I:

  • hide it until they reach the level or

  • show it at the first place but disable (button/text) or

  • show it in full state but when they click on it, throw a message saying the requirement ?

And of course the reasoning behind the decision. Thanks

  • Is it something users would look for, i.e. expect to find because they‘re accustomed to it from elsewhere? In that case it should probably be shown disabled with an indicator appropriate to the environment which tells them what they have to achieve first. Otherwise I’d probably go with hiding.
    – Crissov
    Nov 11, 2014 at 7:50

3 Answers 3


I would say that:

show it at the first place but disable (disabled button/text)

Is the right approach as it gives users an idea about how their "expertise" rewards them as well as an idea about what they need to to do in order to achieve progress towards a desired set of goals. the review feature in UX.SE offers a good example of progressive disclosure:

enter image description here

Do bear in mind that this is not a blanket rule as you do need to balance the need to show some of your reward elements with that of keeping your users intrigued and engaged.


What's the rationale behind the decision of hiding this features? What will determine the right level of expertise reached by the user?

I would suggest not to hide any features. Some users may be in a position to use that feature straight away, so why should you want to impact negatively their experience?

If things need to be hidden, I would consider looking into an advance option that perhaps will allow users to tap into enhanced functionality - but I am nit sure this is what you need.



In the absence of any additional info that may impact how this question is answered, I recommend that you hide it and not show it until it is truly available to the user for the following reasons:

  • Displaying disabled controls imply that, at some point during the interaction in the page, it will eventually be available. Based on the assumption that it's not the case, I'd say you could be setting false expectations by leaving it out there.
  • Showing the controls in its full state also implies a certain amount of expectations that those functions are available when it really isn't. That's like telling someone that they cannot go into a room where the door has been left open (a locked door sends a clearer message).

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.