Muting is the failure state

A notification system’s real failure is not being too quiet — it is being noisy enough that people turn it off, after which the genuinely urgent message never arrives. Every low-value alert spends a little of that budget.

Notify on things needing action

The test is whether a person must do something. “Someone viewed your document” requires nothing. “A payment failed and access ends tomorrow” requires action. Confusing awareness with action is the root of most notification sprawl.

Every notification that doesn’t need action makes the next one that does slightly less likely to be read.

Batch what isn’t urgent

Most events are digestible daily. Reserving immediate delivery for the genuinely time-sensitive and batching the rest preserves attention — the same discipline as surfacing the exception rather than the aggregate.

Let people choose, and default sensibly

Granular preferences are good and nobody visits the settings page. The defaults are what almost everyone lives with, so they have to be the conservative set rather than everything switched on.

Say what happened and what to do

A notification that requires opening the app to discover what it meant has failed at its only job. Put the specifics and the next step in the message itself — the same rule as any error message.

Instrument the mute rate

Track which categories get disabled and how often. That is a direct measurement of which notifications are unwanted, and it is more honest than any internal debate about which ones matter.