Problem
People need to distinguish suggested text from their own writing while deciding whether to accept it.
Solution
Show a suggestion after the cursor, with styling that clearly marks it as unaccepted text. Keep it readable and use more than faint color alone to distinguish it.
Offer suggestions after a pause in typing. Keep them stable long enough to read, and make dismissal easy. Show the acceptance shortcut without interfering with normal keyboard navigation.
Let people accept part of a longer suggestion when that is useful. Provide a way to turn suggestions off. Evaluate whether accepted text stays in the document, rather than treating every acceptance as a successful suggestion.
Use when
The surrounding text gives enough context for a short completion, and unwanted suggestions are easy to dismiss.
Don’t use when
The writing is short, deliberate, or high-stakes. A subject line, a legal clause, or a commit message gets no benefit and carries the full risk of an unnoticed accepted completion.
Trade-offs
Suggestions can interrupt writing or be accepted by mistake. They can also steer a writer toward the assistant’s wording. Generating suggestions people ignore still adds cost, so frequency matters.
Checklist
- Does the suggestion meet contrast requirements while still reading as provisional?
- Is the provisional state carried by anything other than colour?
- What triggers a suggestion, and how long is the pause before it appears?
- Can part of a suggestion be accepted?
- What dismisses it, and can it be recovered after an accidental dismissal?
- Does a multi-line suggestion shift the content below the cursor?
- What does a screen reader announce, and when?
- Is it disabled in fields where an accidental accept would be expensive?
- Is retention of accepted text measured, or only acceptance?
- Can the viewer turn it off in one place they can find?
Compare
GitHub Copilot presents a completion whole rather than streaming it, accepts on Tab and supports partial acceptance by word. The suggestion is an object to evaluate rather than a process to watch. Google Docs applies the same mechanic to prose with far shorter and rarer suggestions, conceding that prose tolerates less interruption than code. Notion mostly avoids the pattern in favour of explicit invocation at the cursor. Ambient help goes, and nothing ever appears unasked. Superhuman scopes it tightly to email, where the context is strong, the phrasing is formulaic, and a wrong guess costs one keystroke to clear.
Related
Inline assist runs when people request help with selected text. Suggestion diff handles larger proposed changes. AI entry point helps people discover the feature.
Streaming response shows an answer as it arrives. Response actions provide controls for completed chat answers.