Back to compare picker

Chat interface vs Prompt box vs Threaded discussion vs Comments vs Feed

Use chat interface for ordered multi-turn conversation with user and assistant turns, transcript state, follow-up context, response lifecycle, and conversation history; prompt box for the single request composer; threaded discussion for human forum-style replies; comments for object-level notes; and feed for time-ordered activity or content streams.

Learn the decision

Match the interaction to the person's task

Use chat interface for ordered multi-turn conversation with user and assistant turns, transcript state, follow-up context, response lifecycle, and conversation history; prompt box for the single request composer; threaded discussion for human forum-style replies; comments for object-level notes; and feed for time-ordered activity or content streams.

Chat interface

Use it when: The user needs a back-and-forth assistant conversation with follow-up questions and answer refinement.

Make this state clear: Empty new chat with conversation title, mode, history or retention status, and a labelled composer.

Observe the result: A user asks for a policy summary, follows up with Compare that to the renewal clause, sees that the second answer used the first answer and selected file, then exports the two-turn transcript.

Study the full pattern →

Prompt box

Use it when: Users must write or revise an AI request before generation, analysis, transformation, or automation begins.

Make this state clear: Typing state with expandable multi-line draft, send affordance, newline behavior, and character or token boundary feedback.

Observe the result: A user selects a policy paragraph, writes Summarize risks for a non-lawyer, sees Selected text and Output: bullets chips, submits, then edits and resends the exact prompt after the first answer is too broad.

Study the full pattern →

Threaded discussion

Use it when: A topic or parent message can generate multiple reply branches that users need to follow over time.

Make this state clear: Parent topic or parent message with author, timestamp, title or body, category, and reply count.

Observe the result: A user opens a notification to a specific unread reply, sees the parent post and branch context, replies, marks the answer, and mutes future replies after resolution.

Study the full pattern →

Comments

Use it when: Feedback must preserve author, timestamp, reply, resolution, assignment, or moderation context.

Make this state clear: Empty comment list and first-comment composer.

Observe the result: A reviewer comments on a selected line, adds an action item for Dana, receives a reply, resolves the comment, and can reopen it from the resolved filter.

Study the full pattern →

Feed

Use it when: Users consume a continuing stream of updates, posts, stories, comments, media, or collaboration activity.

Make this state clear: Default feed with heading, order label, rendered item count or range, and article-like items.

Observe the result: A user pauses live updates, reads three older posts, sees 2 new updates waiting, then chooses Jump to latest when ready.

Study the full pattern →

Practice the judgment: Imagine this situation: New assistant output appears at the top or mid-transcript, breaking chronological reading order and screen reader announcement. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Chat interfacePrompt boxThreaded discussionCommentsFeed
UI or UX UI + UX - Multi-turn conversation surface with transcript, composer, assistant responses, and conversation historyUI + UX - Primary editable input surface for composing and submitting an AI requestUI + UX - Topic-centered conversation with parent post, reply branches, unread participation state, and thread-level controlsUI + UX - Object-attached comment composer and comment list with authorship, replies, state, permissions, and moderationUI + UX - Dynamic stream of article-like updates that may load or insert content at either end
UI guidance Render chat as an ordered transcript with visible user and assistant roles, turn boundaries, timestamps or relative position, current draft composer, submitted prompt, response status, source or tool indicators, and conversation-level controls.Render the prompt box as a labelled, editable composer with visible draft area, send control, context chips, attachment controls, model or mode indicator when relevant, character or token boundary feedback, and clear disabled or blocked-send reasons.Render a threaded discussion around a visible parent topic or parent message, with reply rows that preserve author, timestamp, reply target, branch depth, unread or new state, and thread-scoped actions.Render comments as anchored contributions with author identity, timestamp, body, optional attachment or selection context, edited state, reply target, and state labels such as open, resolved, hidden, deleted, or assigned.Render the feed as a labelled stream of item boundaries where each item has a source or author, timestamp, title or body summary, type, actions, and enough context to stand alone as an article-like update.
UX guidance Use a chat interface when users need a multi-turn assistant conversation where later prompts can depend on earlier turns, responses can be inspected or continued, and conversation history can be saved, resumed, deleted, or limited by policy.Use a prompt box when users need to author a natural-language request for AI generation, transformation, analysis, or automation and must remain in control of the exact request being submitted.Use threaded discussion when users need to follow, contribute to, or resolve a conversation that branches from one topic, question, channel message, or post and must keep replies understandable over time.Preserve comment drafts, anchors, authorship, notifications, edit history, deletion outcomes, and resolved or hidden states so conversation context remains trustworthy across reloads, permissions, moderation, and return visits.Use feed when users consume a continuing stream of posts, updates, stories, events, or collaboration activity and need to keep their reading position while new or older content appears.
Good UI A research assistant chat shows user and assistant bubbles, turn numbers, source chips, streaming status, Stop, Copy answer, Regenerate, New chat, and a conversations list with the active chat title.A prompt box expands for a multi-line request, shows Shift+Enter for newline, Enter to send only when configured, and keeps the draft after a failed model request.A support topic shows the original question, three top-level replies, one expanded reply branch, an accepted answer badge, unread branch marker, and thread-level Follow and Mute controls.A document margin comment shows the selected paragraph, author, timestamp, body text, Reply, Resolve, Assign, and Copy link actions with the composer focused on that selection.A project feed shows source avatar, actor, timestamp, object name, excerpt, item type, unread marker, reply and save actions, and a visible queued-new-items banner while the reader is midstream.
Bad UI A conversation auto-scrolls to a new answer while the user is reading an older cited turn, then hides the old prompt after regenerate.A blank AI field shows only Ask me anything and sends vague requests with hidden page context.Nested replies are indented until they become unreadable on mobile and the answer is hidden below collapsed context.A Notes textarea sits under a record and calls itself comments even though every user overwrites the same field.New posts appear above the current paragraph and shift the page while the user is reading.
Good UX A user asks for a policy summary, follows up with Compare that to the renewal clause, sees that the second answer used the first answer and selected file, then exports the two-turn transcript.A user selects a policy paragraph, writes Summarize risks for a non-lawyer, sees Selected text and Output: bullets chips, submits, then edits and resends the exact prompt after the first answer is too broad.A user opens a notification to a specific unread reply, sees the parent post and branch context, replies, marks the answer, and mutes future replies after resolution.A reviewer comments on a selected line, adds an action item for Dana, receives a reply, resolves the comment, and can reopen it from the resolved filter.A user pauses live updates, reads three older posts, sees 2 new updates waiting, then chooses Jump to latest when ready.
Bad UX Latest answer is disconnected from the prompt and context that produced it.A user presses Enter expecting a new line and accidentally sends an unfinished prompt to an external model.A moderator marks an answer but the thread summary still shows unanswered because answer state is stored only on the visible reply card.A user writes a long comment, loses network connection, and the draft disappears when the page reloads.The feed jumps to the top whenever a new post arrives.
Best fit The user needs a back-and-forth assistant conversation with follow-up questions and answer refinement.Users must write or revise an AI request before generation, analysis, transformation, or automation begins.A topic or parent message can generate multiple reply branches that users need to follow over time.Feedback must preserve author, timestamp, reply, resolution, assignment, or moderation context.Users consume a continuing stream of updates, posts, stories, comments, media, or collaboration activity.
Avoid when The task can be completed with a single structured prompt box, form, or command.The task is better expressed as a fixed form, button, or command with known parameters.The surface is a broad feed of independent posts or activity cards.The user is simply entering a long answer into a form field.The content is a finite set of objects that users need to filter, sort, select, compare, or manage.
Required state Empty new chat with conversation title, mode, history or retention status, and a labelled composer.Typing state with expandable multi-line draft, send affordance, newline behavior, and character or token boundary feedback.Parent topic or parent message with author, timestamp, title or body, category, and reply count.Empty comment list and first-comment composer.Default feed with heading, order label, rendered item count or range, and article-like items.
Accessibility burden Expose the transcript as an ordered region and use a sequential update strategy such as role=log for appended messages where appropriate.Provide a programmatic label for the prompt editor and named controls for send, attach, remove context, clear, retry, and cancel.Label the thread region with the parent topic or message title.Label the comments region with the object or selection being discussed.Give the feed a heading or accessible label and expose the current order or filter in text.
Common misuse Auto-scrolling during streaming while the user is reading an older message.Showing Ask anything as the only instruction while hiding what sources and tools the model can use.Flattening every reply into a chronological stream and losing who replied to whom.Using one shared Notes field as a comment system and overwriting prior contributors.Calling any vertical card list a feed even when it is a bounded object collection.

Chat interface

UI or UX
UI + UX - Multi-turn conversation surface with transcript, composer, assistant responses, and conversation history
UI guidance
Render chat as an ordered transcript with visible user and assistant roles, turn boundaries, timestamps or relative position, current draft composer, submitted prompt, response status, source or tool indicators, and conversation-level controls.
UX guidance
Use a chat interface when users need a multi-turn assistant conversation where later prompts can depend on earlier turns, responses can be inspected or continued, and conversation history can be saved, resumed, deleted, or limited by policy.
Good UI
A research assistant chat shows user and assistant bubbles, turn numbers, source chips, streaming status, Stop, Copy answer, Regenerate, New chat, and a conversations list with the active chat title.
Bad UI
A conversation auto-scrolls to a new answer while the user is reading an older cited turn, then hides the old prompt after regenerate.
Good UX
A user asks for a policy summary, follows up with Compare that to the renewal clause, sees that the second answer used the first answer and selected file, then exports the two-turn transcript.
Bad UX
Latest answer is disconnected from the prompt and context that produced it.
Best fit
The user needs a back-and-forth assistant conversation with follow-up questions and answer refinement.
Avoid when
The task can be completed with a single structured prompt box, form, or command.
Required state
Empty new chat with conversation title, mode, history or retention status, and a labelled composer.
Accessibility burden
Expose the transcript as an ordered region and use a sequential update strategy such as role=log for appended messages where appropriate.
Common misuse
Auto-scrolling during streaming while the user is reading an older message.

Prompt box

UI or UX
UI + UX - Primary editable input surface for composing and submitting an AI request
UI guidance
Render the prompt box as a labelled, editable composer with visible draft area, send control, context chips, attachment controls, model or mode indicator when relevant, character or token boundary feedback, and clear disabled or blocked-send reasons.
UX guidance
Use a prompt box when users need to author a natural-language request for AI generation, transformation, analysis, or automation and must remain in control of the exact request being submitted.
Good UI
A prompt box expands for a multi-line request, shows Shift+Enter for newline, Enter to send only when configured, and keeps the draft after a failed model request.
Bad UI
A blank AI field shows only Ask me anything and sends vague requests with hidden page context.
Good UX
A user selects a policy paragraph, writes Summarize risks for a non-lawyer, sees Selected text and Output: bullets chips, submits, then edits and resends the exact prompt after the first answer is too broad.
Bad UX
A user presses Enter expecting a new line and accidentally sends an unfinished prompt to an external model.
Best fit
Users must write or revise an AI request before generation, analysis, transformation, or automation begins.
Avoid when
The task is better expressed as a fixed form, button, or command with known parameters.
Required state
Typing state with expandable multi-line draft, send affordance, newline behavior, and character or token boundary feedback.
Accessibility burden
Provide a programmatic label for the prompt editor and named controls for send, attach, remove context, clear, retry, and cancel.
Common misuse
Showing Ask anything as the only instruction while hiding what sources and tools the model can use.

Threaded discussion

UI or UX
UI + UX - Topic-centered conversation with parent post, reply branches, unread participation state, and thread-level controls
UI guidance
Render a threaded discussion around a visible parent topic or parent message, with reply rows that preserve author, timestamp, reply target, branch depth, unread or new state, and thread-scoped actions.
UX guidance
Use threaded discussion when users need to follow, contribute to, or resolve a conversation that branches from one topic, question, channel message, or post and must keep replies understandable over time.
Good UI
A support topic shows the original question, three top-level replies, one expanded reply branch, an accepted answer badge, unread branch marker, and thread-level Follow and Mute controls.
Bad UI
Nested replies are indented until they become unreadable on mobile and the answer is hidden below collapsed context.
Good UX
A user opens a notification to a specific unread reply, sees the parent post and branch context, replies, marks the answer, and mutes future replies after resolution.
Bad UX
A moderator marks an answer but the thread summary still shows unanswered because answer state is stored only on the visible reply card.
Best fit
A topic or parent message can generate multiple reply branches that users need to follow over time.
Avoid when
The surface is a broad feed of independent posts or activity cards.
Required state
Parent topic or parent message with author, timestamp, title or body, category, and reply count.
Accessibility burden
Label the thread region with the parent topic or message title.
Common misuse
Flattening every reply into a chronological stream and losing who replied to whom.

Comments

UI or UX
UI + UX - Object-attached comment composer and comment list with authorship, replies, state, permissions, and moderation
UI guidance
Render comments as anchored contributions with author identity, timestamp, body, optional attachment or selection context, edited state, reply target, and state labels such as open, resolved, hidden, deleted, or assigned.
UX guidance
Preserve comment drafts, anchors, authorship, notifications, edit history, deletion outcomes, and resolved or hidden states so conversation context remains trustworthy across reloads, permissions, moderation, and return visits.
Good UI
A document margin comment shows the selected paragraph, author, timestamp, body text, Reply, Resolve, Assign, and Copy link actions with the composer focused on that selection.
Bad UI
A Notes textarea sits under a record and calls itself comments even though every user overwrites the same field.
Good UX
A reviewer comments on a selected line, adds an action item for Dana, receives a reply, resolves the comment, and can reopen it from the resolved filter.
Bad UX
A user writes a long comment, loses network connection, and the draft disappears when the page reloads.
Best fit
Feedback must preserve author, timestamp, reply, resolution, assignment, or moderation context.
Avoid when
The user is simply entering a long answer into a form field.
Required state
Empty comment list and first-comment composer.
Accessibility burden
Label the comments region with the object or selection being discussed.
Common misuse
Using one shared Notes field as a comment system and overwriting prior contributors.

Feed

UI or UX
UI + UX - Dynamic stream of article-like updates that may load or insert content at either end
UI guidance
Render the feed as a labelled stream of item boundaries where each item has a source or author, timestamp, title or body summary, type, actions, and enough context to stand alone as an article-like update.
UX guidance
Use feed when users consume a continuing stream of posts, updates, stories, events, or collaboration activity and need to keep their reading position while new or older content appears.
Good UI
A project feed shows source avatar, actor, timestamp, object name, excerpt, item type, unread marker, reply and save actions, and a visible queued-new-items banner while the reader is midstream.
Bad UI
New posts appear above the current paragraph and shift the page while the user is reading.
Good UX
A user pauses live updates, reads three older posts, sees 2 new updates waiting, then chooses Jump to latest when ready.
Bad UX
The feed jumps to the top whenever a new post arrives.
Best fit
Users consume a continuing stream of updates, posts, stories, comments, media, or collaboration activity.
Avoid when
The content is a finite set of objects that users need to filter, sort, select, compare, or manage.
Required state
Default feed with heading, order label, rendered item count or range, and article-like items.
Accessibility burden
Give the feed a heading or accessible label and expose the current order or filter in text.
Common misuse
Calling any vertical card list a feed even when it is a bounded object collection.
Decision rules
  • Choose chat interface when the primary surface is a conversation transcript with user turns, assistant turns, follow-up prompts, turn-level status, copied or cited responses, and a saved or resumable conversation identity.
  • Choose prompt box when the design problem is the editable single request composer only; the prompt box can live inside chat, but it does not own the transcript, turn ordering, response lifecycle, or conversation history.
  • Choose threaded discussion when multiple people reply to each other in human forum-style replies, quote specific replies, moderate posts, and track unread human contributions.
  • Choose comments when users attach object-level notes, decisions, or review remarks to a document, task, cell, or artifact rather than conduct an assistant conversation.
  • Choose feed when the surface presents a chronological stream of items or updates for browsing, not a turn-taking dialogue with an input composer anchored to the transcript.
  • A chat interface must show role ownership for each turn, preserve the exact user prompt that produced each assistant answer, and distinguish current draft, submitted message, streaming answer, complete answer, failed answer, and edited follow-up.
  • Chat needs conversation-level controls such as new chat, history list, rename, pin, delete, export, copy answer, continue, regenerate, stop generation, retry turn, and clear conversation according to product risk.
  • Do not hide grounding, tool use, source scope, model mode, memory state, or conversation retention when those settings alter what later turns can use.
  • For long transcripts, preserve scroll position, focus, selected text, draft prompt, active citation, and turn identity when a new response streams, fails, regenerates, or when older history is loaded.
  • When conversation history is disabled, unavailable, expired, deleted, or limited by policy, the chat interface should state whether follow-up context is still active for the current session.
Inspect live examples
Failure modes
  • A chat surface shows only the latest answer, so users cannot inspect the prompt, context, or prior answer that shaped a follow-up.
  • New assistant output appears at the top or mid-transcript, breaking chronological reading order and screen reader announcement.
  • The composer sends a follow-up using hidden prior context after the UI says history is off.
  • Regenerate replaces an answer without retaining which prompt, sources, or tool calls changed.
  • A human threaded discussion is styled like AI chat, hiding author identity, moderation, and reply depth.
  • The feed auto-scrolls while a user reads an older turn and loses their place.

Saved items