Back to compare picker

Notification preferences vs Settings management vs Notification center vs Follow / subscribe vs Activity feed vs Toast notification vs Mentions vs Permission denied state

Choose notification preferences when the user is configuring delivery rules across notification types, delivery channels, devices, urgency, quiet times, previews, sounds, keywords, digests, or source categories.

Decision dimensions

Dimension Notification preferencesSettings managementNotification centerFollow / subscribeActivity feedToast notificationMentionsPermission denied state
UI or UX UI + UX - User-controlled rules for notification type, channel, frequency, timing, privacy, and exceptionsUI + UX - Dedicated user or app configuration management surfaceUI + UX - Durable user-opened notification history and action drawerUI + UX - Per-object opt-in control for future updates from a thread, page, channel, space, repository, saved view, or topicUI + UX - Catch-up stream of recent collaboration and work events with actor, verb, object, type, destination, and triage controlsUI + UX - Transient non-modal status messageUI + UX - Inline recipient reference with autocomplete, stable recipient identity, notification routing, access checks, and broad-audience safeguardsUI + UX - Authorization and access-boundary state
UI guidance Render notification preferences as a structured matrix or grouped settings surface that shows notification type, source, delivery channel, device, frequency, quiet-time rule, preview privacy, override, and current saved state.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.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 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.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 toast notifications in a consistent non-modal region with short status text, clear severity, an optional close control, and at most one concise action.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.Show the blocked object or action, current account, permission level, required role, owner, and request path when revealing that information is allowed.
UX guidance Use notification preferences when users need to reduce noise without missing important mentions, assignments, security notices, incidents, reminders, or followed-object updates.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 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 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 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 toast notifications for low-risk, short-lived feedback after an action completes or background work changes state without requiring the user to stop the current task.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 permission denied state when the system knows the user is authenticated but their role, group, share, license, policy, or approval status blocks a specific object or action.
Good UI A notification preferences page groups Mentions, Assigned work, Followed threads, Security, Digest, and Marketing, with columns for In-app, Email, Push, Banner, and Digest frequency.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 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 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 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.Export started appears in the top notification region with a timestamp, close control, and View jobs action that remains available in activity history.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 report page says Quarterly revenue report requires Finance viewer access, shows the current account, names the report owner, and offers Request access and Switch account.
Bad UI A single Notifications off switch disables email, push, badges, and mention banners without saying whether security alerts or approvals still arrive.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 red badge says 42 forever because opening the drawer, reading items, and viewing related work never update the count.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 page titled Activity shows Update happened cards with no actor, object, type, timestamp, or destination.Five unrelated toasts pile up over the Save and Continue controls.The editor highlights every @word as a mention even when it is plain text and has no recipient identity.A denial page says Something went wrong and shows Retry even though the user lacks a required group.
Good UX A user keeps mentions and assigned-work banners on, moves repository watch updates to daily digest, mutes marketing email, and sees a preview of what will still notify them during quiet hours.A user turns off weekly digest emails, sees the setting save immediately, keeps urgent security emails enabled, and understands the workspace-level override.Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.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.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 completed archive action shows a short toast and a specific Undo action because the prior state can be restored.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 opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner.
Bad UX A user disables email for a noisy project and still receives duplicate push and desktop banners because those channels live in separate hidden settings.A user changes a privacy setting thinking it affects only one project, but the value applies to the whole account.A payment failure that blocks the current checkout is only stored in the notification center and never appears in the task.A user receives a stream of update emails from a space but cannot tell which page, mention, reply, or watch setting caused them.A user clears a notification in Activity but the notification center badge stays out of sync and the same event reappears as unread.Every autosave tick triggers a toast, training users to ignore real status changes.A user mentions someone in a private channel, the person is not notified, and the sender receives no warning or recovery path.The app returns a blank screen for a restricted file, so the user cannot tell whether the file is gone, private, or opened with the wrong account.
Best fit Users receive enough notifications that they need control over type, channel, device, frequency, timing, or source.Users need to inspect and change persistent app, account, workspace, privacy, notification, display, integration, device, or system behavior.Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.Users need future updates from a specific object, thread, channel, space, repository, topic, saved view, or query.Users need to catch up on recent collaboration, app, repository, channel, project, meeting, reminder, or task activity.Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export.Composed content needs to target people or groups inline.A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource.
Avoid when The product has only a few low-volume notifications that can be handled by defaults and inline controls.The task is a one-time transaction, submission, setup wizard, or onboarding flow.The product has only occasional current-action feedback that a toast or inline status can handle.The user only needs quick return access without updates.The surface is primarily content consumption, media browsing, or article-like stream reading.The message is the only recovery path for a blocking or high-consequence failure.The user is selecting a structured owner, assignee, approver, or recipient field outside written content.The user is not signed in and the next step is authentication rather than authorization.
Required state Default notification preferences state.Settings overview with categories and current valuesClosed entry-point state with zero, new-unseen, and unread-but-seen counts.Not following state.Default feed state with actor, verb, object, timestamp, source, type icon, preview, scope, and destination for each activity item.Idle state with no visible toast and a reachable status or history region when applicable.Empty composer, @ trigger, loading suggestions, no results, and filtered suggestions.Whole-object access denied state.
Accessibility burden Group preferences with headings and fieldsets for event type, delivery channel, device, and frequency.Use headings, section labels, fieldsets, and persistent labels so settings groups and controls have clear programmatic names.Give the entry-point control an accessible name that includes new or unread count without relying only on a red dot.Give the control an accessible name that includes target type, target name, current follow state, and destination when space allows.Give the activity feed a heading and expose the current filter, layout, and unread or cleared state in text.Expose the toast as a status or alert message according to urgency so assistive technologies can announce it without requiring focus movement.Expose the suggestion list as a labelled popup tied to the editor and announce the number of available mention targets.Use a heading that identifies the access boundary and a text description that does not rely on lock icons or red color alone.
Common misuse Offering one master notification switch for a complex collaboration product.Using settings as a dumping ground for unrelated navigation, billing, help, profile setup, onboarding, or destructive account actions.Treating the badge count, unread count, and total notification count as one number.Using Follow as a bookmark with no future update delivery.Using activity feed as an audit log without evidence fields, export, or retention guarantees.Using a toast as the only feedback for payment, save, permission, upload, or security failures.Parsing @words after submit without requiring the sender to choose a real recipient.Treating authorization denial as a generic retryable error.

Notification preferences

UI or UX
UI + UX - User-controlled rules for notification type, channel, frequency, timing, privacy, and exceptions
UI guidance
Render notification preferences as a structured matrix or grouped settings surface that shows notification type, source, delivery channel, device, frequency, quiet-time rule, preview privacy, override, and current saved state.
UX guidance
Use notification preferences when users need to reduce noise without missing important mentions, assignments, security notices, incidents, reminders, or followed-object updates.
Good UI
A notification preferences page groups Mentions, Assigned work, Followed threads, Security, Digest, and Marketing, with columns for In-app, Email, Push, Banner, and Digest frequency.
Bad UI
A single Notifications off switch disables email, push, badges, and mention banners without saying whether security alerts or approvals still arrive.
Good UX
A user keeps mentions and assigned-work banners on, moves repository watch updates to daily digest, mutes marketing email, and sees a preview of what will still notify them during quiet hours.
Bad UX
A user disables email for a noisy project and still receives duplicate push and desktop banners because those channels live in separate hidden settings.
Best fit
Users receive enough notifications that they need control over type, channel, device, frequency, timing, or source.
Avoid when
The product has only a few low-volume notifications that can be handled by defaults and inline controls.
Required state
Default notification preferences state.
Accessibility burden
Group preferences with headings and fieldsets for event type, delivery channel, device, and frequency.
Common misuse
Offering one master notification switch for a complex collaboration product.

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.

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.

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.

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.

Toast notification

UI or UX
UI + UX - Transient non-modal status message
UI guidance
Render toast notifications in a consistent non-modal region with short status text, clear severity, an optional close control, and at most one concise action.
UX guidance
Use toast notifications for low-risk, short-lived feedback after an action completes or background work changes state without requiring the user to stop the current task.
Good UI
Export started appears in the top notification region with a timestamp, close control, and View jobs action that remains available in activity history.
Bad UI
Five unrelated toasts pile up over the Save and Continue controls.
Good UX
A completed archive action shows a short toast and a specific Undo action because the prior state can be restored.
Bad UX
Every autosave tick triggers a toast, training users to ignore real status changes.
Best fit
Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export.
Avoid when
The message is the only recovery path for a blocking or high-consequence failure.
Required state
Idle state with no visible toast and a reachable status or history region when applicable.
Accessibility burden
Expose the toast as a status or alert message according to urgency so assistive technologies can announce it without requiring focus movement.
Common misuse
Using a toast as the only feedback for payment, save, permission, upload, or security failures.

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.

Permission denied state

UI or UX
UI + UX - Authorization and access-boundary state
UI guidance
Show the blocked object or action, current account, permission level, required role, owner, and request path when revealing that information is allowed.
UX guidance
Use permission denied state when the system knows the user is authenticated but their role, group, share, license, policy, or approval status blocks a specific object or action.
Good UI
A report page says Quarterly revenue report requires Finance viewer access, shows the current account, names the report owner, and offers Request access and Switch account.
Bad UI
A denial page says Something went wrong and shows Retry even though the user lacks a required group.
Good UX
A user opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner.
Bad UX
The app returns a blank screen for a restricted file, so the user cannot tell whether the file is gone, private, or opened with the wrong account.
Best fit
A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource.
Avoid when
The user is not signed in and the next step is authentication rather than authorization.
Required state
Whole-object access denied state.
Accessibility burden
Use a heading that identifies the access boundary and a text description that does not rely on lock icons or red color alone.
Common misuse
Treating authorization denial as a generic retryable error.
Decision rules
  • Choose notification preferences when the user is configuring delivery rules across notification types, delivery channels, devices, urgency, quiet times, previews, sounds, keywords, digests, or source categories.
  • Choose settings management when notifications are only one section inside a broader persistent configuration surface that also covers privacy, display, integrations, account, workspace, or system behavior.
  • Choose notification center when the problem is where delivered notifications are retained, filtered, marked read, grouped, or acted on after arrival.
  • Choose follow / subscribe when a user opts into future updates from a specific thread, page, channel, repository, space, saved view, or topic; notification preferences decide how those updates are delivered.
  • Choose activity feed when users need a chronological catch-up stream; notification preferences may determine which activity types enter badges, banners, or feed highlights.
  • Choose toast notification for immediate transient feedback; notification preferences may suppress or alter toasts but should not turn critical in-context blockers into silent preferences.
  • Choose mentions when another person directs attention to a recipient in authored content; notification preferences decide whether mentions create email, push, banner, badge, or quiet delivery.
  • Use permission-denied state when notification choices are unavailable because an admin, workspace owner, device permission, or operating system setting controls delivery.
  • A notification preference surface must expose current values, type-by-channel matrix, delivery timing, quiet hours, digest rules, muted sources, overrides, preview privacy, and save or immediate-apply behavior.
  • Avoid one master off switch that hides critical, security, billing, or current-task notifications without naming what still breaks through.
Inspect live examples
Failure modes
  • Users turn off email but continue receiving push and in-app banners because channels are hidden in separate places.
  • A preference says Important only but never defines which events count as important.
  • Quiet hours suppress urgent security or incident notifications with no exception model.
  • A device permission blocks push notifications, but the app shows the preference as enabled.
  • A team or admin policy overrides notification settings without explanation.
  • Digest settings batch time-sensitive mentions and make collaborators think they were ignored.