I came across a small dilemma in my development, namely whether as a designer I should rely on a user to actively review settings before submitting an action, thereby justifying having it pre-set, or letting the user actively choose setting before submitting.
An hypothetical example:
download bmml source – Wireframes created with Balsamiq Mockups
Consider the examples above. The user will perform a fairly sensitive action and has to select which company should be the owner of some valuable asset. The combobox will contain a small amount of items, many times it only contains one and rarely more than five. In the case of a user choosing the wrong owner it will lead to additional efforts and headache to sort up the situation.
Note, this is a hypothetical scenario.
The examples above differ in the fact that the upper auto selects the top item in the combobox with the chance of it being the intended owner and the user can proceed immediately. In the second example the combobox has no selection and the user can't proceed before a selection has been made.
Which of these two examples would be the most suitable in this situation? I have been running with the second since the action was introduced but has lately come to question whether it should be pre-set or not. Especially after I noticed that my banking service has pre-set comboboxes of which account I want to transact from and to which account the money should be transacted too every time I perform an online transaction. They apparently take for granted that the user will review the settings before continuing, and therefore has it pre-set.
Answer
The better option largely depends on:
- How easily this can be undone without ill effect
- How smart your choice is (does it have a reasonable default, like last used option?)
- How often they're going to be running into this
From your question I'm assuming this can not easily be undone with no consequences, so #1 is moot. If it could easily be undone I'd be more inclined to allow a "default" option if this is a commonly repeated action. Since it can't, you should already be erring on the cautious side.
If there's no logical default, don't use a default. Alphabetical order/the first item in the box is not a logical default; don't populate the dropdown with the first item like that. Alphabetical order is effectively random order in this case.
If your box is going to prefill, it needs to be something like "I'm editing this company, so default to this company" or "the last entry in this same session was X, I'll populate the field with X". Even if this is the case, we still need to consider point #3, frequency of use.
If this is an uncommon and dangerous action that occurs maybe once a week or even once a day, I would definitely force a choice. If an action is rare and dangerous, the extra certainty is vital. You're favoring Heuristics and Effectiveness over Efficiency because the Efficiency gain is minor, and the risks are major. Rare actions have the additional trouble that users may forget important details like where your app gets the default, so if there's any chance your user forgets, don't make risky assumptions.
From here on it's a numbers game; if I'm going to be filling out this form 500 times with the same data and you don't default populate it, it's going to be frustrating. If I'm going to fill it out 500 times with different values almost every time, a default would be frustrating! Find the more common use-case but err on the side of caution unless your users or data indicate you're being too cautious.
No comments:
Post a Comment