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.

3 Answers 3


The better option largely depends on:

  1. How easily this can be undone without ill effect
  2. How smart your choice is (does it have a reasonable default, like last used option?)
  3. 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.

  • 1
    +1 You present a lot of valid points, as per usual in your answers. I like how you reason with all aspects of the problem, discussing the problem under different circumstances. I feel that you're definitely right with keeping the forced action as the best approach. I think I've gotten a bit influenced after performing this action hundreds of times during development for test reasons, and therefore begun to think in terms of how to make it quicker. But fact is it's not a frequent task, maybe once a week at the most. Jun 26, 2012 at 16:43

Normally I'm a fan of using appropriate pre-sets to smooth progress. However this statement signals to me that a forcing action might be required:

In the case of a user choosing the wrong owner it will lead to additional efforts and headache to sort up the situation.

If the effort required to clean up an error is significantly more than the effort to confirm the selection I'd be inclined to ago with the second example.

For this answer I've assumed you considered these factors:

  • Any previous interactions within the flow that narrow the choice of companies. (That is the dropdown would only show eligible companies. Reducing the annoyance)
  • There isn't a window after the action when it can be easily undone.

There is a really great part of Robert Hoekman Jr's book Designing the Obvious that emphasizes preventing mistakes, also known as "poke yoke."

I think a good exercise would be to test these two interfaces and determine how many mistakes are being made. I generally think it's best to give the user control if it's an important, undoable step rather than pre-selecting for speed.


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.