Our mobile app is feature based, so a user may have 1-4 of the bottom navigation items enabled on their account. Is best practice to hide the menu options that are not enabled or to keep it static and show an empty state if they select one that is not enabled?

  • Not an answer, but there may be some marketing value in that real estate. You might consider using those inactive pages to communicate the advantages of upgrading/unlocking those features. Commented Feb 27, 2020 at 18:36

3 Answers 3


Is best practice to hide the menu options

That would be one of the options.

Keep it static and show an empty state if they select one that is not enabled

No. If the user's able to click on something he is going to expect to see something.

You can either hide those inaccessible elements or, if those items lead to a payed feature you can disable the items but use something to notify the user that those features need to be bought.

So have your special icon in the item itself , and if the user tries clicking on it a popup shows with instructions on what do to access the feature.

enter image description here

  • Empty state doesn't literally mean empty (unless someone forgot to design/implement the empty state).
    – straya
    Commented Mar 4, 2020 at 4:37

I wouldn't call this a best-practice situation, rather an opportunity to sell features/premium. By hiding the features you aren't dangling them in front of a potential convert. By disabling them you miss the opportunity to captivate the user with a page of content dedicated to luring them into converting.

However, if the product is more one focused on productivity and the sales lifecycle isn't so much focused on converting a user (perhaps bulk seats/tickets are sold to an organisation?), then best-practice for productivity would tend towards hiding the buttons/tabs/navigation-items outright.


From the user experience perspective: Keep only the options that would be available for the users.

From a business perspective: Show all the features; and, poke the users to get involved with your other features/services. If the click on the options that's not available for them, then open a new section or popup, to inform them about your feature and entreat them to subscribe or something.

Now, it's all up to you actually.

My personal opinion would be, keep all the features static. Via this, you're informing users about your available features and all. However, just keep the available features on the same side and keep the unavailable ones on the other side. I mean, don't do something like, Feature A (Active), Feature B (inactive), Feature C (inactive), Feature D (active) or something similar!

Hope this helps!

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.