Back to compare picker

Comments vs Textarea vs Feed vs Activity log vs Notification center vs Review queue

Use comments for object-attached discussion and review notes, textarea for the field used to write longer text, feed for stream consumption, and activity log for durable event history.

Learn the decision

Match the interaction to the person's task

Use comments for object-attached discussion and review notes, textarea for the field used to write longer text, feed for stream consumption, and activity log for durable event history.

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 →

Textarea

Use it when: Users need to write sentences, paragraphs, comments, explanations, notes, or descriptions.

Make this state clear: Empty untouched state with visible label and optional hint.

Observe the result: A user writes two paragraphs, sees remaining characters update, submits, and the exact line breaks and wording are preserved.

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 →

Activity log

Use it when: Users need to inspect recorded user, admin, system, security, or integration events.

Make this state clear: Default log state with event records, result count, visible timezone, retention window, and permission scope.

Observe the result: An admin filters to failed SSO events, expands one entry, copies the event ID, exports the filtered range, and sees that records older than 180 days require a different archive.

Study the full pattern →

Notification center

Use it when: Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.

Make this state clear: Closed entry-point state with zero, new-unseen, and unread-but-seen counts.

Observe the result: Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.

Study the full pattern →

Review queue

Use it when: A team or individual repeatedly reviews many independently queued items.

Make this state clear: Queue loading and count state

Observe the result: A reviewer claims the oldest SLA-at-risk ticket, opens a preview, assigns it to Billing, returns to the queue with the row removed, and lands on the next oldest item.

Study the full pattern →

Practice the judgment: Imagine this situation: A product puts every object comment into a global feed and loses the exact selected text, file line, or record that the comment was about. 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 CommentsTextareaFeedActivity logNotification centerReview queue
UI or UX UI + UX - Object-attached comment composer and comment list with authorship, replies, state, permissions, and moderationUI + UX - Multi-line freeform writing fieldUI + UX - Dynamic stream of article-like updates that may load or insert content at either endUI + UX - Searchable and exportable record of system, user, or administrative eventsUI + UX - Durable user-opened notification history and action drawerUI + UX - Actionable queue for triaging many items that need human review
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.Render a persistent label, enough visible rows for the expected answer, optional hint, readable multiline text, visible focus state, and nearby error or count text associated with the textarea.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.Render activity logs as evidence-oriented records with event time, actor, action, object, source system, scope, result, and technical context such as IP address or location when available.Provide a persistent notification entry point, usually a bell or inbox control, with a count that represents new unseen notifications rather than every unread item forever.Render review queue as an actionable worklist with queue scope, counts, filters, sort order, row reason, owner, priority, age or SLA, status, preview context, selection, and row actions.
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.Use textarea when users need to write or paste sentences, paragraphs, explanations, notes, or comments that may wrap across lines.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.Use activity log when users need to investigate, audit, verify, or troubleshoot actions across accounts, objects, systems, settings, or security boundaries.Use a notification center when users receive enough asynchronous system or collaboration updates that they need a durable place to review, triage, and act later.Use review queue when a team repeatedly processes a changing set of tickets, comments, pull requests, content items, cases, requests, or records that require human inspection and action.
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.A more-detail field has a visible question, sensitive-data hint, five visible rows, wrapping text, remaining-character count, and an error directly above the textarea when needed.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.An organization audit log table shows timestamp, actor, action, target object, app, IP address, result, and a Details drawer with before and after fields.A bell opens a drawer with Unread and All filters, showing comment mentions, approval requests, export results, and background-job failures in newest-first order.A moderation queue has Held, Likely spam, Reported, and Escalated tabs, row evidence, policy reason, reviewer claim state, approve/remove/escalate actions, and bulk-action preview.
Bad UI A Notes textarea sits under a record and calls itself comments even though every user overwrites the same field.A paragraph question is squeezed into a single-line input that hides most of the answer.New posts appear above the current paragraph and shift the page while the user is reading.An export button downloads a different date range and timezone than the on-screen filtered log.Users ignore the center because duplicate low-value messages inflate the badge.The most urgent or oldest item is buried by default sort.
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.A user writes two paragraphs, sees remaining characters update, submits, and the exact line breaks and wording are preserved.A user pauses live updates, reads three older posts, sees 2 new updates waiting, then chooses Jump to latest when ready.An admin filters to failed SSO events, expands one entry, copies the event ID, exports the filtered range, and sees that records older than 180 days require a different archive.Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.A reviewer claims the oldest SLA-at-risk ticket, opens a preview, assigns it to Billing, returns to the queue with the row removed, and lands on the next oldest item.
Bad UX A user writes a long comment, loses network connection, and the draft disappears when the page reloads.A user writes a long explanation, hits submit, and the product clears the entire draft after a length error.The feed jumps to the top whenever a new post arrives.A user marks a notification read and the corresponding activity evidence disappears from the only log.Users mark all notifications read and lose the only record of an export job they still need to download.A reviewer marks a pull request reviewed from an old queue row after the author pushed new commits and re-requested review.
Best fit Feedback must preserve author, timestamp, reply, resolution, assignment, or moderation context.Users need to write sentences, paragraphs, comments, explanations, notes, or descriptions.Users consume a continuing stream of updates, posts, stories, comments, media, or collaboration activity.Users need to inspect recorded user, admin, system, security, or integration events.Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.A team or individual repeatedly reviews many independently queued items.
Avoid when The user is simply entering a long answer into a form field.The answer is a short one-line value.The content is a finite set of objects that users need to filter, sort, select, compare, or manage.The goal is only to show a readable milestone history for one case or process.The product has only occasional current-action feedback that a toast or inline status can handle.The task is a single request moving through a governed approval route.
Required state Empty comment list and first-comment composer.Empty untouched state with visible label and optional hint.Default feed with heading, order label, rendered item count or range, and article-like items.Default log state with event records, result count, visible timezone, retention window, and permission scope.Closed entry-point state with zero, new-unseen, and unread-but-seen counts.Queue loading and count state
Accessibility burden Label the comments region with the object or selection being discussed.Associate the textarea with a visible label that states the writing prompt.Give the feed a heading or accessible label and expose the current order or filter in text.Use table or structured list semantics so actor, action, object, timestamp, result, and scope are perceivable together.Announce new notification arrival with status semantics when appropriate, but avoid interrupting users repeatedly for low-priority center items.Use labelled queue name, count, filters, sort, group, row status, selection, preview, and action controls.
Common misuse Using one shared Notes field as a comment system and overwriting prior contributors.Using a single-line input for paragraph answers.Calling any vertical card list a feed even when it is a bounded object collection.Using vague activity labels that omit actor, action, object, timestamp, or result.Treating the badge count, unread count, and total notification count as one number.Treating review queue as approval workflow and hiding many-item workload controls.

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.

Textarea

UI or UX
UI + UX - Multi-line freeform writing field
UI guidance
Render a persistent label, enough visible rows for the expected answer, optional hint, readable multiline text, visible focus state, and nearby error or count text associated with the textarea.
UX guidance
Use textarea when users need to write or paste sentences, paragraphs, explanations, notes, or comments that may wrap across lines.
Good UI
A more-detail field has a visible question, sensitive-data hint, five visible rows, wrapping text, remaining-character count, and an error directly above the textarea when needed.
Bad UI
A paragraph question is squeezed into a single-line input that hides most of the answer.
Good UX
A user writes two paragraphs, sees remaining characters update, submits, and the exact line breaks and wording are preserved.
Bad UX
A user writes a long explanation, hits submit, and the product clears the entire draft after a length error.
Best fit
Users need to write sentences, paragraphs, comments, explanations, notes, or descriptions.
Avoid when
The answer is a short one-line value.
Required state
Empty untouched state with visible label and optional hint.
Accessibility burden
Associate the textarea with a visible label that states the writing prompt.
Common misuse
Using a single-line input for paragraph answers.

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.

Activity log

UI or UX
UI + UX - Searchable and exportable record of system, user, or administrative events
UI guidance
Render activity logs as evidence-oriented records with event time, actor, action, object, source system, scope, result, and technical context such as IP address or location when available.
UX guidance
Use activity log when users need to investigate, audit, verify, or troubleshoot actions across accounts, objects, systems, settings, or security boundaries.
Good UI
An organization audit log table shows timestamp, actor, action, target object, app, IP address, result, and a Details drawer with before and after fields.
Bad UI
An export button downloads a different date range and timezone than the on-screen filtered log.
Good UX
An admin filters to failed SSO events, expands one entry, copies the event ID, exports the filtered range, and sees that records older than 180 days require a different archive.
Bad UX
A user marks a notification read and the corresponding activity evidence disappears from the only log.
Best fit
Users need to inspect recorded user, admin, system, security, or integration events.
Avoid when
The goal is only to show a readable milestone history for one case or process.
Required state
Default log state with event records, result count, visible timezone, retention window, and permission scope.
Accessibility burden
Use table or structured list semantics so actor, action, object, timestamp, result, and scope are perceivable together.
Common misuse
Using vague activity labels that omit actor, action, object, timestamp, or result.

Notification center

UI or UX
UI + UX - Durable user-opened notification history and action drawer
UI guidance
Provide a persistent notification entry point, usually a bell or inbox control, with a count that represents new unseen notifications rather than every unread item forever.
UX guidance
Use a notification center when users receive enough asynchronous system or collaboration updates that they need a durable place to review, triage, and act later.
Good UI
A bell opens a drawer with Unread and All filters, showing comment mentions, approval requests, export results, and background-job failures in newest-first order.
Bad UI
Users ignore the center because duplicate low-value messages inflate the badge.
Good UX
Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.
Bad UX
Users mark all notifications read and lose the only record of an export job they still need to download.
Best fit
Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.
Avoid when
The product has only occasional current-action feedback that a toast or inline status can handle.
Required state
Closed entry-point state with zero, new-unseen, and unread-but-seen counts.
Accessibility burden
Announce new notification arrival with status semantics when appropriate, but avoid interrupting users repeatedly for low-priority center items.
Common misuse
Treating the badge count, unread count, and total notification count as one number.

Review queue

UI or UX
UI + UX - Actionable queue for triaging many items that need human review
UI guidance
Render review queue as an actionable worklist with queue scope, counts, filters, sort order, row reason, owner, priority, age or SLA, status, preview context, selection, and row actions.
UX guidance
Use review queue when a team repeatedly processes a changing set of tickets, comments, pull requests, content items, cases, requests, or records that require human inspection and action.
Good UI
A moderation queue has Held, Likely spam, Reported, and Escalated tabs, row evidence, policy reason, reviewer claim state, approve/remove/escalate actions, and bulk-action preview.
Bad UI
The most urgent or oldest item is buried by default sort.
Good UX
A reviewer claims the oldest SLA-at-risk ticket, opens a preview, assigns it to Billing, returns to the queue with the row removed, and lands on the next oldest item.
Bad UX
A reviewer marks a pull request reviewed from an old queue row after the author pushed new commits and re-requested review.
Best fit
A team or individual repeatedly reviews many independently queued items.
Avoid when
The task is a single request moving through a governed approval route.
Required state
Queue loading and count state
Accessibility burden
Use labelled queue name, count, filters, sort, group, row status, selection, preview, and action controls.
Common misuse
Treating review queue as approval workflow and hiding many-item workload controls.
Decision rules
  • Choose comments when users need to attach a note to a specific object, document selection, file line, record, or review target and expect replies, edit history, resolution, moderation, or notifications around that note.
  • Use textarea when the design problem is the multi-line input control itself; a comments surface may contain a textarea, but also owns authorship, timestamp, permissions, reply, resolve, edit, delete, and moderation behavior.
  • Use feed when users are consuming a changing stream of posts or updates across many objects; comments stay anchored to a specific object or selection even when they also appear in summaries elsewhere.
  • Use activity log when the surface must prove what happened for audit, compliance, or troubleshooting; comments are authored discussion content and should not be the only durable event record.
  • Use notification center when comment activity needs cross-object inbox behavior, unread counts, retention, and preferences; the comment component should provide a direct link back to the anchored discussion rather than become the inbox.
  • Use review queue when many comments or content items need triage, moderation, assignment, bulk decisions, or SLA handling; a single comments surface should expose local moderation outcomes but not replace queue operations.
  • Show comment authors, timestamps, edited state, permission-limited actions, reply targets, and resolved or hidden state in the comment UI before adding optional reactions or assignment behavior.
  • Do not hide destructive or moderation outcomes: edited, redacted, resolved, hidden, and deleted comment states need visible history, reason text, or timeline evidence appropriate to the product.
Inspect live examples
Failure modes
  • A long textarea is labelled Comments but has no author, timestamp, reply, edit, delete, resolve, or notification state.
  • A product puts every object comment into a global feed and loses the exact selected text, file line, or record that the comment was about.
  • Users can delete comments with no warning, history, permission check, or visible timeline outcome.
  • Resolved comments disappear permanently and cannot be found, reopened, or used as follow-up evidence.
  • Comment moderation actions are only hover controls, making edit, hide, delete, and resolve paths unavailable to keyboard or touch users.
  • Comment notifications link to a generic page rather than the exact comment, object, and reply context.

Saved items