Curated summary
How Slack Rebuilt Notifications 📣
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_enabledset totrueorfalse - 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.
Related reading
Continue with another curated summary.
Redux-Doghouse: Creating reusable React-Redux components through scoping
Read originalHow To Move Fast Toward the Right Thing | Figma Blog
Read originalThe Monorepo Hope Edition: One Year to Bring a Despairing Repo Back to Hope
Read originalBetter Code, Fewer Tokens: The Benefits of Code Connect in MCP | Figma Blog
Read original