← Back to all writing
Oct 18, 2024AI & Interaction7 min read

Designing for uncertainty in generative UI

Deterministic software gives identical outputs for identical inputs. Generative models do not. Here is how interfaces must adapt.

For fifty years, the cornerstone of software design was determinism. If you pressed Cmd + B in a word processor, the highlighted characters turned bold. Every single time. The user and the machine shared an inviolable contract of certainty.

Generative AI disrupts this contract. For the first time, our software is probabilistic. It hallucinates, improvises, suggests, and occasionally stumbles. If we continue wrapping probabilistic systems in deterministic UI shells, users will inevitably experience betrayal and cognitive fatigue.

Exposing the Grain of the Model

Good craftspeople respect the grain of their material. Wood swells with humidity; metal expands with heat. The grain of an LLM is variance and probability.

Instead of disguising this variance behind a facade of omniscient authority, thoughtful interfaces should expose uncertainty as a primary design dimension:

  • Visual confidence spectra: Soft highlights indicating which sections of an AI synthesis are strictly grounded in retrieved documents versus inferred extrapolations.
  • Branching alternatives: Providing effortless alternative drafts with a single keystroke rather than forcing the user to renegotiate the entire prompt.
  • Co-authorship over delegation: Positioning the tool as an eager apprentice sitting beside you, rather than an oracle speaking from a mountain.

Failures as Design Material

When a model fails, the interface must not collapse into a generic red error message. A graceful failure is an invitation to collaborate. Give the user the levers to adjust temperature, clarify ambiguous constraints, or inject missing context without losing their place.

The future of software is not autonomous black boxes; it is augmented agency.

Share or Discuss

Enjoyed this note? Feel free to share with your team or send your perspective directly to hello@studio.example.