Ringing through Do Not Disturb
Most apps should be quiet when your phone is on silent. An on-call app is the exception. If production is down at 3am, the engineer on call needs to hear it, even if their phone is set to Do Not Disturb.
Phones are built to stay quiet
That is a good default. Operating systems work hard to stop apps from making noise when the user asked for quiet, so getting through is not something an app can just decide to do. On Android, an app has to ask the user for Do Not Disturb access, and its alerts have to go through a notification channel that is allowed to bypass it.
What I had to get right
- Ask for the permission at the right moment, with a clear reason, so people actually grant it.
- Keep critical alerts separate from everything else, so only incidents break through and ordinary updates stay quiet.
- Make sure the alert still arrives when the app is in the background or closed.
- Let people acknowledge, escalate or resolve the incident straight from the alert.
The feature is a promise: if something is on fire, this app will wake you up.
It is also a feature you can't half-test. I tested it on real phones, set to silent, locked, with the app closed, because that is exactly the situation it exists for.