slack2 min read

Curated summary

How Slack Rebuilt Notifications 📣

Read original(opens in new tab)

Slack rebuilt its notification system to reduce noise by replacing years of inconsistent, tightly coupled behavior with a unified model. The redesign separates what activity users see from how they receive interruptions, while aligning desktop and mobile settings. By combining backend migration strategies, auto-saving controls, and shared UI patterns, Slack aims to make notifications predictable and easier to manage.

Diagnosing Notification Overload

  • Notification frustration is common, especially for users in many channels.
  • Notification issues are among Slack’s top three sources of Customer Experience tickets.
  • The underlying problem was architectural as well as behavioral:
    • Desktop and mobile used conflicting preference systems.
    • Equivalent settings, such as “Nothing” and “Off,” behaved differently across clients.
    • Activity preferences were coupled to push delivery.
    • Settings could fall out of sync between desktop and mobile.
    • Advanced options were scattered or difficult to discover.

A Unified Notification Model

Slack introduced a simpler set of controls:

  • Channel notifications now offer:
    • All new posts
    • Mentions
    • Mute
  • Push notifications have separate on/off controls across desktop and mobile.
  • Advanced features, including mobile “badge all unreads,” are easier to find.
  • Global preferences use consistent structure and language.
  • Simplified preference logic improves synchronization between clients.

Refactoring Preferences Safely

  • Slack migrated users from four conflicting preference systems to a unified model.
  • The new model separates:
    • Desktop activity: Everything or Mentions
    • Desktop push: desktop_push_enabled set to true or false
    • Mobile activity and push behavior: Everything, Mentions, or Nothing
  • Rather than changing millions of database records directly, Slack used read-time interpretation to preserve backward compatibility and allow rollback.
  • Existing “Off” settings now behave as “Mentions” with push disabled.
  • A backfill populated the new desktop push preference based on users’ previous settings.
  • This preserves in-app awareness while allowing push interruptions to be controlled independently.

Auto-Saving and Clearer Controls

  • The previous modal required users to press Save, which caused accidental abandoned changes.
  • The redesigned interface applies changes immediately through auto-save.
  • Users can independently choose what activity to see and how they want to receive it.
  • Shared React components replaced legacy mobile-specific UI code, improving consistency across platforms.
  • Users can now, for example, view all activity while receiving push notifications only for mentions.

Slack’s approach demonstrates that reducing notification noise requires more than a visual redesign. Separating activity from delivery, simplifying preference states, and keeping clients synchronized gives users clearer and more reliable control over interruptions.

Continue with another curated summary.