Back to compare picker

Follow / subscribe vs Notification center vs Mentions vs Activity feed vs Threaded discussion vs Settings management vs Saved view vs Comments

Choose follow / subscribe when the user's main action is opting into future updates for a concrete target such as a thread, page, space, channel, issue, repository, saved view, or topic.

Decision dimensions

Dimension Follow / subscribeNotification centerMentionsActivity feedThreaded discussionSettings managementSaved viewComments
UI or UX UI + UX - Per-object opt-in control for future updates from a thread, page, channel, space, repository, saved view, or topicUI + UX - Durable user-opened notification history and action drawerUI + UX - Inline recipient reference with autocomplete, stable recipient identity, notification routing, access checks, and broad-audience safeguardsUI + UX - Catch-up stream of recent collaboration and work events with actor, verb, object, type, destination, and triage controlsUI + UX - Topic-centered conversation with parent post, reply branches, unread participation state, and thread-level controlsUI + UX - Dedicated user or app configuration management surfaceUI + UX - Persisted named presentation state for a data workspaceUI + UX - Object-attached comment composer and comment list with authorship, replies, state, permissions, and moderation
UI guidance Render follow or subscribe as a stateful control attached to the specific object being watched, with current state, target scope, delivery destination, event types, auto-follow reason when present, and an unfollow path.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 mentions as inline tokens or highlighted text that preserve a stable recipient identity, display name, avatar or team marker, recipient type, and selected state without breaking surrounding editable text.Render activity feed as a typed event stream where each item names the actor or source app, action, object, workspace or channel, timestamp, preview, event type, read or cleared state when supported, and a stable destination for follow-up.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 settings management as a durable configuration surface with a clear Settings or Preferences entry point, grouped categories, current values, setting descriptions, ownership or scope labels, dependencies, save or immediate-apply behavior, status feedback, search or section navigation for larger sets, and reset or restore defaults where appropriate.Render saved views as named, selectable workspace presentations with visible owner or visibility, active state, saved layout mode, columns or fields, grouping, sort, filters, and last-updated metadata.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 Use follow / subscribe when users want future changes to a specific object, channel, thread, repository, page, space, saved view, or topic to come to them without repeatedly checking it.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 mentions when a user needs to call attention to a person, team, channel, role, or group from inside a message, comment, task, document, issue, or thread while keeping the reference embedded in the authored content.Use activity feed when users need to catch up on recent work or collaboration activity across channels, projects, repositories, tasks, apps, or people without opening every underlying object.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.Use settings management when users need to review and change persistent app, account, workspace, notification, privacy, display, integration, or system behavior outside the immediate task flow.Use saved view when users need to return to a complete operational presentation of a changing dataset rather than rebuilding columns, layout, grouping, filters, and sort every session.Use comments when users need to discuss, question, annotate, review, or leave follow-up notes on a specific object, selection, file line, record, document, or task without changing the primary content directly.
Good UI A thread header shows Following, explains replies will appear in the followed-threads list and Activity feed, and offers Unfollow replies from the same menu.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 comment composer opens a suggestion list after @, shows people and teams with avatars, handles, access labels, and keyboard focus, then inserts a mention chip for Priya Rao.A team activity feed shows Priya mentioned you in #refunds, Build bot marked release-128 failed, Maya reacted to your handoff note, and Rahul merged PR #742, each with icon, timestamp, preview, type filter, and Open action.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 notification settings page groups channels, quiet hours, digest frequency, and workspace scope; each row shows current value, effect, dependency, and whether changes save immediately.A support queue has saved views named My urgent tickets, Team backlog, and SLA breach risk, each showing columns, sort, filters, owner, and private or team visibility before users apply it.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 Subscribe button changes to Subscribed without saying whether the user subscribed to a page, all child pages, a space, email, push, or in-app updates.A red badge says 42 forever because opening the drawer, reading items, and viewing related work never update the count.The editor highlights every @word as a mention even when it is plain text and has no recipient identity.A page titled Activity shows Update happened cards with no actor, object, type, timestamp, or destination.All replies are rendered as identical flat messages with no indication of which parent or branch they answer.A page called Settings mixes billing invoices, destructive account deletion, onboarding tips, profile setup, search results, and global navigation with no grouping or save model.A tab labelled Saved view applies hidden filters, changes columns, and switches layout with no preview or active-state summary.A Notes textarea sits under a record and calls itself comments even though every user overwrites the same field.
Good UX A user follows a support thread before leaving for a meeting, receives only new replies in the promised destination, then unfollows when the incident closes.Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.A user mentions @Dana in a private incident note, sees that Dana lacks access, chooses Invite and mention, and the resulting notification opens the exact note.A user filters Activity to mentions and replies, answers one thread inline, clears low-value reactions, saves a custom view for VIPs, and opens a deployment failure in the source app.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 user turns off weekly digest emails, sees the setting save immediately, keeps urgent security emails enabled, and understands the workspace-level override.A manager opens SLA breach risk, sees the board layout, grouped Status lanes, five saved columns, and current result count, then changes density and saves a private copy instead of overwriting the team view.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 receives a stream of update emails from a space but cannot tell which page, mention, reply, or watch setting caused them.A payment failure that blocks the current checkout is only stored in the notification center and never appears in the task.A user mentions someone in a private channel, the person is not notified, and the sender receives no warning or recovery path.A user clears a notification in Activity but the notification center badge stays out of sync and the same event reappears as unread.A user clicks New reply and lands at the top of a long topic with no highlight, branch context, or last-read position.A user changes a privacy setting thinking it affects only one project, but the value applies to the whole account.A user changes one column while reviewing a team queue and accidentally updates the shared default for everyone.A user writes a long comment, loses network connection, and the draft disappears when the page reloads.
Best fit Users need future updates from a specific object, thread, channel, space, repository, topic, saved view, or query.Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.Composed content needs to target people or groups inline.Users need to catch up on recent collaboration, app, repository, channel, project, meeting, reminder, or task activity.A topic or parent message can generate multiple reply branches that users need to follow over time.Users need to inspect and change persistent app, account, workspace, privacy, notification, display, integration, device, or system behavior.Users repeatedly return to a specific presentation of a changing data set.Users need object-attached discussion without changing the primary object content directly.
Avoid when The user only needs quick return access without updates.The product has only occasional current-action feedback that a toast or inline status can handle.The user is selecting a structured owner, assignee, approver, or recipient field outside written content.The surface is primarily content consumption, media browsing, or article-like stream reading.The feedback is a simple object-attached comment with no navigable topic discussion.The task is a one-time transaction, submission, setup wizard, or onboarding flow.Only one current-session filter or sort choice needs to be changed.The user is simply entering a long answer into a form field.
Required state Not following state.Closed entry-point state with zero, new-unseen, and unread-but-seen counts.Empty composer, @ trigger, loading suggestions, no results, and filtered suggestions.Default feed state with actor, verb, object, timestamp, source, type icon, preview, scope, and destination for each activity item.Parent topic or parent message with author, timestamp, title or body, category, and reply count.Settings overview with categories and current valuesNo saved view selected with current display settings visible and saveable.Empty comment list and first-comment composer.
Accessibility burden Give the control an accessible name that includes target type, target name, current follow state, and destination when space allows.Give the entry-point control an accessible name that includes new or unread count without relying only on a red dot.Expose the suggestion list as a labelled popup tied to the editor and announce the number of available mention targets.Give the activity feed a heading and expose the current filter, layout, and unread or cleared state in text.Label the thread region with the parent topic or message title.Use headings, section labels, fieldsets, and persistent labels so settings groups and controls have clear programmatic names.Expose active saved-view name, visibility, default status, and modified state in text, not only selected tab styling.Label the comments region with the object or selection being discussed.
Common misuse Using Follow as a bookmark with no future update delivery.Treating the badge count, unread count, and total notification count as one number.Parsing @words after submit without requiring the sender to choose a real recipient.Using activity feed as an audit log without evidence fields, export, or retention guarantees.Flattening every reply into a chronological stream and losing who replied to whom.Using settings as a dumping ground for unrelated navigation, billing, help, profile setup, onboarding, or destructive account actions.Saving current rows instead of presentation settings and dynamic criteria.Using one shared Notes field as a comment system and overwriting prior contributors.

Follow / subscribe

UI or UX
UI + UX - Per-object opt-in control for future updates from a thread, page, channel, space, repository, saved view, or topic
UI guidance
Render follow or subscribe as a stateful control attached to the specific object being watched, with current state, target scope, delivery destination, event types, auto-follow reason when present, and an unfollow path.
UX guidance
Use follow / subscribe when users want future changes to a specific object, channel, thread, repository, page, space, saved view, or topic to come to them without repeatedly checking it.
Good UI
A thread header shows Following, explains replies will appear in the followed-threads list and Activity feed, and offers Unfollow replies from the same menu.
Bad UI
A Subscribe button changes to Subscribed without saying whether the user subscribed to a page, all child pages, a space, email, push, or in-app updates.
Good UX
A user follows a support thread before leaving for a meeting, receives only new replies in the promised destination, then unfollows when the incident closes.
Bad UX
A user receives a stream of update emails from a space but cannot tell which page, mention, reply, or watch setting caused them.
Best fit
Users need future updates from a specific object, thread, channel, space, repository, topic, saved view, or query.
Avoid when
The user only needs quick return access without updates.
Required state
Not following state.
Accessibility burden
Give the control an accessible name that includes target type, target name, current follow state, and destination when space allows.
Common misuse
Using Follow as a bookmark with no future update delivery.

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
A red badge says 42 forever because opening the drawer, reading items, and viewing related work never update the count.
Good UX
Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.
Bad UX
A payment failure that blocks the current checkout is only stored in the notification center and never appears in the task.
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
Give the entry-point control an accessible name that includes new or unread count without relying only on a red dot.
Common misuse
Treating the badge count, unread count, and total notification count as one number.

Mentions

UI or UX
UI + UX - Inline recipient reference with autocomplete, stable recipient identity, notification routing, access checks, and broad-audience safeguards
UI guidance
Render mentions as inline tokens or highlighted text that preserve a stable recipient identity, display name, avatar or team marker, recipient type, and selected state without breaking surrounding editable text.
UX guidance
Use mentions when a user needs to call attention to a person, team, channel, role, or group from inside a message, comment, task, document, issue, or thread while keeping the reference embedded in the authored content.
Good UI
A comment composer opens a suggestion list after @, shows people and teams with avatars, handles, access labels, and keyboard focus, then inserts a mention chip for Priya Rao.
Bad UI
The editor highlights every @word as a mention even when it is plain text and has no recipient identity.
Good UX
A user mentions @Dana in a private incident note, sees that Dana lacks access, chooses Invite and mention, and the resulting notification opens the exact note.
Bad UX
A user mentions someone in a private channel, the person is not notified, and the sender receives no warning or recovery path.
Best fit
Composed content needs to target people or groups inline.
Avoid when
The user is selecting a structured owner, assignee, approver, or recipient field outside written content.
Required state
Empty composer, @ trigger, loading suggestions, no results, and filtered suggestions.
Accessibility burden
Expose the suggestion list as a labelled popup tied to the editor and announce the number of available mention targets.
Common misuse
Parsing @words after submit without requiring the sender to choose a real recipient.

Activity feed

UI or UX
UI + UX - Catch-up stream of recent collaboration and work events with actor, verb, object, type, destination, and triage controls
UI guidance
Render activity feed as a typed event stream where each item names the actor or source app, action, object, workspace or channel, timestamp, preview, event type, read or cleared state when supported, and a stable destination for follow-up.
UX guidance
Use activity feed when users need to catch up on recent work or collaboration activity across channels, projects, repositories, tasks, apps, or people without opening every underlying object.
Good UI
A team activity feed shows Priya mentioned you in #refunds, Build bot marked release-128 failed, Maya reacted to your handoff note, and Rahul merged PR #742, each with icon, timestamp, preview, type filter, and Open action.
Bad UI
A page titled Activity shows Update happened cards with no actor, object, type, timestamp, or destination.
Good UX
A user filters Activity to mentions and replies, answers one thread inline, clears low-value reactions, saves a custom view for VIPs, and opens a deployment failure in the source app.
Bad UX
A user clears a notification in Activity but the notification center badge stays out of sync and the same event reappears as unread.
Best fit
Users need to catch up on recent collaboration, app, repository, channel, project, meeting, reminder, or task activity.
Avoid when
The surface is primarily content consumption, media browsing, or article-like stream reading.
Required state
Default feed state with actor, verb, object, timestamp, source, type icon, preview, scope, and destination for each activity item.
Accessibility burden
Give the activity feed a heading and expose the current filter, layout, and unread or cleared state in text.
Common misuse
Using activity feed as an audit log without evidence fields, export, or retention guarantees.

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
All replies are rendered as identical flat messages with no indication of which parent or branch they answer.
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 user clicks New reply and lands at the top of a long topic with no highlight, branch context, or last-read position.
Best fit
A topic or parent message can generate multiple reply branches that users need to follow over time.
Avoid when
The feedback is a simple object-attached comment with no navigable topic discussion.
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.

Settings management

UI or UX
UI + UX - Dedicated user or app configuration management surface
UI guidance
Render settings management as a durable configuration surface with a clear Settings or Preferences entry point, grouped categories, current values, setting descriptions, ownership or scope labels, dependencies, save or immediate-apply behavior, status feedback, search or section navigation for larger sets, and reset or restore defaults where appropriate.
UX guidance
Use settings management when users need to review and change persistent app, account, workspace, notification, privacy, display, integration, or system behavior outside the immediate task flow.
Good UI
A notification settings page groups channels, quiet hours, digest frequency, and workspace scope; each row shows current value, effect, dependency, and whether changes save immediately.
Bad UI
A page called Settings mixes billing invoices, destructive account deletion, onboarding tips, profile setup, search results, and global navigation with no grouping or save model.
Good UX
A user turns off weekly digest emails, sees the setting save immediately, keeps urgent security emails enabled, and understands the workspace-level override.
Bad UX
A user changes a privacy setting thinking it affects only one project, but the value applies to the whole account.
Best fit
Users need to inspect and change persistent app, account, workspace, privacy, notification, display, integration, device, or system behavior.
Avoid when
The task is a one-time transaction, submission, setup wizard, or onboarding flow.
Required state
Settings overview with categories and current values
Accessibility burden
Use headings, section labels, fieldsets, and persistent labels so settings groups and controls have clear programmatic names.
Common misuse
Using settings as a dumping ground for unrelated navigation, billing, help, profile setup, onboarding, or destructive account actions.

Saved view

UI or UX
UI + UX - Persisted named presentation state for a data workspace
UI guidance
Render saved views as named, selectable workspace presentations with visible owner or visibility, active state, saved layout mode, columns or fields, grouping, sort, filters, and last-updated metadata.
UX guidance
Use saved view when users need to return to a complete operational presentation of a changing dataset rather than rebuilding columns, layout, grouping, filters, and sort every session.
Good UI
A support queue has saved views named My urgent tickets, Team backlog, and SLA breach risk, each showing columns, sort, filters, owner, and private or team visibility before users apply it.
Bad UI
A tab labelled Saved view applies hidden filters, changes columns, and switches layout with no preview or active-state summary.
Good UX
A manager opens SLA breach risk, sees the board layout, grouped Status lanes, five saved columns, and current result count, then changes density and saves a private copy instead of overwriting the team view.
Bad UX
A user changes one column while reviewing a team queue and accidentally updates the shared default for everyone.
Best fit
Users repeatedly return to a specific presentation of a changing data set.
Avoid when
Only one current-session filter or sort choice needs to be changed.
Required state
No saved view selected with current display settings visible and saveable.
Accessibility burden
Expose active saved-view name, visibility, default status, and modified state in text, not only selected tab styling.
Common misuse
Saving current rows instead of presentation settings and dynamic criteria.

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
Use comments when users need to discuss, question, annotate, review, or leave follow-up notes on a specific object, selection, file line, record, document, or task without changing the primary content directly.
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
Users need object-attached discussion without changing the primary object content directly.
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.
Decision rules
  • Choose follow / subscribe when the user's main action is opting into future updates for a concrete target such as a thread, page, space, channel, issue, repository, saved view, or topic.
  • Choose notification center when the problem is where delivered updates are retained, triaged, marked read, filtered, or acted on; a subscription may create center items but is not the center itself.
  • Choose mentions when the sender needs to route attention to a specific person or group inside authored content; follow / subscribe is recipient-driven and can continue without new mentions.
  • Choose activity feed when users need catch-up across many event sources; follow / subscribe narrows which future events should be elevated from that feed.
  • Choose threaded discussion when users need durable reply structure; follow / subscribe controls whether that thread's future replies notify the user.
  • Use settings management for global notification defaults, digests, channels, quiet hours, or delivery media; keep per-object follow state visible beside the object it affects.
  • Use saved view when the user stores a filtered work surface; add follow / subscribe only when that saved view can generate future update delivery.
  • Use comments when users need to write feedback or a reply; subscribing to comments means receiving future comment activity, not contributing content.
  • A follow control must show current state, target scope, delivery destination, event types, permission limits, auto-follow reasons, digest behavior, and an obvious unfollow path.
  • Avoid automatic subscriptions that have no explanation or cleanup path, because users cannot tell why they are receiving updates or how to stop them.
Inspect live examples
Failure modes
  • A page says Following but does not reveal whether the scope is one thread, a whole channel, a space, a repository, or every future reply.
  • Users receive notifications because they replied or were mentioned, but the UI never explains the auto-follow reason or how to unfollow.
  • A subscribe button sends email, push, and in-app updates without showing delivery channel or digest rules.
  • Unfollow is hidden in global settings, forcing users to hunt through notification preferences to stop one noisy object.
  • Permission changes keep a user subscribed to an item they can no longer access, creating dead notification links.
  • A saved search, view, or channel is followed but updates never appear in the promised destination or activity feed.