Bounded choice

Added · Last updated

Committing a value from a bounded set the actor didn’t author and may not be able to survey. In exchange for taking away the actor’s freedom to answer in their own words, it guarantees that whatever gets committed is valid.

Set size determines which control fits. A handful of options the actor can scan whole → radio buttons; a few dozen recognisable ones → select; hundreds → combobox; a set the actor can’t even characterise crosses over into searching.

Forces

  • Validity against freedom — because the committed value must come from the set, everything downstream can trust it (no typos, no unknown values), at the cost of refusing answers the actor believes are right
  • Set completeness — the set claims to contain the answer; when it doesn’t, the actor is stranded between an escape hatch (an “Other” value, a free-text fallback, autocomplete-style suggestions) and a hard boundary

Design considerations

  • A “no matches” result should say whether the value doesn’t exist, isn’t available to them, or is spelled differently — and if the boundary is hard, who owns the vocabulary.
  • Recent and frequent values deserve a place ahead of the canonical ordering; most bounded choices are re-choices.
  • Multi-select accumulation — chosen values piling up while narrowing continues — keeps each choice visible as the actor picks more.
  • When the boundary is soft, the transition from picking an existing value to creating a new one deserves its own design: a marked “Create ’…’” item keeps the exception legible, and how the new value relates to the vocabulary — does it join the set, who approves it — needs designing too.

Choosing a control

Control choice scales with set size and cardinality; Selection holds the general continuum.

Single valueMultiple values
BinaryCheckbox, switch
Few — scan wholeRadio buttons, selectable cardsCheckboxes, selectable tags or cards
PackSelect, dropdownMulti select, dropdown
Lots — type to narrowComboboxCombobox, dual listbox

To-do

  • Free entry with advisory suggestions — the opposite stance: the field commits the actor’s own text, and autocomplete candidates can replace it but don’t constrain it.

Consequences

  • a visible, narrowable candidate set that converges on a valid committed value

Related patterns

Enables

  • Filtering — each filter condition is a bounded choice over a facet's values
  • Form — committing a value from a set the actor didn't author; the move behind a form's selects, radios, and checkboxes.
  • Prompt scaffolding — each slot of the scaffold is an act of bounded choice over one part of the request

Instantiates

  • Selection — selection is the general move — designating from an exposed option set

Enacts

  • Formality — swaps the actor's own words for the system's vocabulary — input valid by construction

Complements

  • Autocomplete — the selection autocomplete often serves
  • Good defaults — pre-selecting the likely value can resolve the choice before the actor engages with it
  • Searching — where the move escalates when the set outgrows narrowing

Related