In my particular situation, I have a comment form than cannot be used until the user has logged in and joined a specific topic. Then, they can comment on that topic.
In your opinion, should I hide the comment form completely, or disable it and prompt the user to complete the necessary requirements.
The most important quality of good user interface design is intuitive. Intuitive user interface design is one that is easy to learn so that user can pick it up quickly and easily. Icons and labels should be concise and cogent.
Another issue with gray buttons is that it’s easy for users to mistake them for secondary actions. Gray is often used to communicate a low priority button (e.g., cancel buttons). When they see a gray button, they won’t know for sure if it’s disabled unless they click it. This uncertainty and unpredictability is not an optimal user experience.
However, this approach often catches users off-guard because the button’s enabled state looks nothing like the disabled one. Going from gray to fully colored is an unpredictable change that can affect user expectations. For a smooth and seamless experience, it’s best to avoid graying out your disabled buttons.
A graphic user interface design provides screen displays that create an operating environment for the user and form an explicit visual and functional context for user’s actions. It includes standard objects like buttons, icons, text, field, windows, images, pull-down and pop-up screen menus.
Disabling them saves the user from effortlessly looking for functionality she knew to exist before. So in general, hiding something completely from view just generates frustration. Remember the dynamically populated menus in Office 2000 to 2003? Then you know what I mean (cf. Jensen Harris' blog posts on that topic).
I suggest you should disable them and make it clear in what states they are available and how to achieve that.
In some cases, however, such as the application we are developing right now, functionality being there or not depends more on the user's permissions than on the current state of the program. In such cases it can be helpful to just hide things that shouldn't be accessible since users never get to the point where they could use the controls. Simply because they're lacking privileges. See for example Stack Overflow's moderation tools which are accessible once you get above 10k rep but are never shown before, not even as disabled.
If you don't want the user to know there is a comment form you should hide it.
If you want the user to know there's a comment form, but it is not (yet) available to them, you should disable it (gray it out).
There are good reasons why you might want to hide instead of gray. If you are security-trimming the interface, for example.
Gray out.
You want users to be aware of what options are available. If they're hidden a user may never know that additional setting exists.
EDIT:
I guess what I'm trying to say is if you really should hide an option you'll know. IE spacing issues, security, whatnot.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With