Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Switching OK-Cancel and Cancel-OK to enforce user interaction?

This is inspired by the question OK-Cancel or Cancel-OK?.

I remember reading somewhere about the concept of switching OK-Cancel/Cancel-OK in certain situations to prevent the user from clicking through information popups or dialog boxes without reading their content. As far as I remember, this also included moving the location of the OK button (horizontally, left to right) to prevent the user from just remembering where to click.

Does this really make sense? Is this a good way to force the user to "think/read first, then click"? Are there any other concepts applicable to this kind of situation?

I am particularly thinking of a safety-related application, where thoughtlessly pressing OK out of habit can result in a potentially dangerous situation whereas Cancel would lead to a safe state.

like image 748
cschol Avatar asked Dec 31 '08 18:12

cschol


4 Answers

Please don't do this unless you are really, really, really sure it's absolutely required. This is a case of trying to fix carelessness and stupidity by technological means, and that sort of thing almost never works.

What you could do is use verbs or nouns instead of the typical Windows OK / Cancel button captions. That will give you an instant attention benefit without sacrificing predictability.

like image 188
Mihai Limbășan Avatar answered Nov 01 '22 08:11

Mihai Limbășan


NOOOOOOOOOOOO!

In one of our products we have a user option to require Ctrl+Click for safety related commands.

But startling the user with buttons that swap place or move around is bad design in my book.

like image 39
Jon B Avatar answered Nov 01 '22 08:11

Jon B


NO. If you make it harder for the user to click OK by mistake and force them to think, they will still only think harder about how to click OK -- they will not think about the actual thing they're trying to carry out. See usability expert Aza Raskin's article: Never use a warning when you mean Undo. Quote:

What about making the warning impossible to ignore? If it’s habituation on the human side that is causing the problem, why not design the interface such that we cannot form a habit. That way we’ll always be forced to stop and think before answering the question, so we’ll always choose the answer we mean. That’ll solve the problem, right?

This type of thinking is not new: It’s the type-the-nth-word-of-this-sentence-to-continue approach. In the game Guild Wars, for example, deleting a character requires first clicking a “delete” button and then typing the name of the character as confirmation. Unfortunately, it doesn’t always work. In particular:

  1. It causes us to concentrate on the unhabitual-task at hand and not on whether we want to be throwing away our work. Thus, the impossible-to-ignore warning is little better than a normal warning: We end up losing our work either way. This (losing our work) is the worst software sin possible.
  2. It is remarkably annoying, and because it always requires our attention, it necessarily distracts us from our work (which is the second worst software sin).
  3. It is always slower and more work-intensive than a standard warning. Thus, it commits the third worst sin—requiring more work from us than is necessary.

[If you want a Microsoftish one, this one by a .NET guy on MSDN says the same thing!]

like image 23
ShreevatsaR Avatar answered Nov 01 '22 10:11

ShreevatsaR


If you must use a dialog, put descriptive captions on the buttons within the dialog.

For example, instead of OK and Cancel buttons, have them say "Send Invoice" and "Go Back", or whatever is appropriate in the context of your dialog.

That way, the text is right under their cursor and they have a good chance of understanding.

The Apple Human Interface Guideline site is a great reference, and very readable. This page on that site talks about Dialogs.

Here is an example image: Modal with named buttons
(source: apple.com)

like image 34
JosephStyons Avatar answered Nov 01 '22 09:11

JosephStyons