Skip to lesson
Exit
Motion, Interaction & Prototyping1 / 3

1 min lesson

Inline diffs and accept/reject

Use "Reject deserves as much design care as accept" to describe the practical rule.

Step 1 of 3

Inline diffs and accept/rejectmake AI edits legible and reversible

Legibility and reversibility are the two rows of the figure that an inline diff lives on. Reject deserves as much design care as accept. If dismissing an AI suggestion is slow or leaves the buffer altered, users stop trusting the feature and stop inviting the AI in at all.

Learn more

Full explanation

Tab / ghost-text prediction

Tab / ghost-text predictionlatency, dismissal and trust

Ghost text is a high-frequency interaction. It fires on nearly every keystroke, so its rules are unforgiving. It must be visually distinct from real code, it must never block typing and it must vanish the instant the user types something else. Non-blocking and calibration are rows of the figure above; these two are the rest.

Ghost text: distinct and dismissable
Distinct
Dimmed/styled so it never reads as committed code
Instant dismissal
Keep typing and it's gone. No modal, no confirm

Agent and chat UIsstreaming, tool calls, interruption, context

An agent runs over time and takes actions, which is a harder UI problem than a chat bubble. The user needs to follow what it's doing, trust the steps and stop it the moment it goes wrong.

  • Streaming so the user sees thinking arrive token by token. Silence reads as a hang, even when work is happening.
  • Tool-call surfaces that make each action visible: which file it read, what command it ran, what it's about to change.

Interruption and visible context are rows 2 and 4 of the figure above.