views:

284

answers:

6

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.

+3  A: 

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.

Spencer Ruport
Unless there is a reason to hide it (security, other).
Robert Harvey
@Robert: Edited, better?
Spencer Ruport
Fine with me. Just sayin'.
Robert Harvey
A: 

gray them out. if they click on them provide a message stating why they are unavailable.

ctrlShiftBryan
Tooltip is better. In general users are not expecting grayed out items to be clickable so it's better that clicking doesn't do anything.
Carlos
good point. the main idea is to let them know why they aren't available somehow.
ctrlShiftBryan
+6  A: 

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.

Robert Harvey
+15  A: 

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.

Joey
those are excellent examples, thanks for your input!
asoules
I've had many times I've search for an input field that I knew I had seen before but wasn't on the screen. I'd think that maybe I was on the wrong screen and search all over. Then eventually I discovered that, no, I was on the right screen, but the input was hidden because some other option made it inapplicable. I think it's much better to disable it so that the user can clearly see that this is the right screen, that input just isn't available right now. Better still if you give them a clear idea why not.
Jay
I'd pretty much limit hiding an input to cases where you don't want the user to know. Like the "enter backdoor password" field or the "spy on user through her monitor" option that are only available to advanced users.
Jay
Even making it clear when an item is available (for example via a popup) is not optimal, and can also frustrate the user.
Simon
Well, the canonically optimal way to deal with this is not to allow modes in the UI. Jef Raskin has a lengthy chapter on this very topic in his book *The Humane Interface.* His stance (and the one of many other UX professionals) is that modes in a system always lead to human error. The only real solution is to eliminate them.
Joey
+1  A: 

No matter what you do to visually imply something is disabled, old/inexperienced/hasty users will lose time trying to comprehend that the form looks like a form but it isn't.

I would go with a clear message instead.

chelmertz
A: 

Hide the form and provide a message such as:

"Comment on this article by signing in or registering" which links to the login and registration form, once they have registered they should be directed back to the comment form so they can leave a comment.

Leaving the form visible but inactive would make the user think they have to click somewhere special to activate it.

Tom