Native Design

Designing for the "Regular Tuesday": Signal vs. Noise

Notifications are a liability. If we send too many, people turn them off. If we send too few, they miss work.

At GitHub, the scale of activity is massive. For a maintainer, a few "busy" repositories can generate thousands of notifications a day. We needed a system that protected their attention without hiding the work.


The infinite inbox problem

Users weren't just "overwhelmed", some were abandoning the feature. Our data showed that some stopped checking notifications entirely.

The system was treating a "+1" on a PR the same as a critical security alert. That's a failure of hierarchy, not just volume.

The new user onboarding flow, designed to feel lightweight despite multiple decision points.

Engineering the "Focused" filter

We built "Focused" to be an opinionated default. Unlike a customized filter, it requires zero setup.

We defined "Focus" strategically: Direct mentions, assignments, and review requests. The high-signal interactions that block work. Everything else (subscriptions, team pings, CI statuses) were filtered out.

The new user onboarding flow, designed to feel lightweight despite multiple decision points.

Contextual recalibration

We knew that simply shipping the filter wasn't enough. We had to fix the ecosystem of settings existing users had already meddled with for years.

Many users had nuked their push notification settings years ago to save their sanity. We needed a way to invite them back in, but only if we could promise a better experience, while telling them about exciting new notification features they might have missed.


Targeted intervention

We built a targeted intervention system using onboardings specifically targeted to each user group (new, existing, and users who disabled push notifications in parts, or entirely).

The new user onboarding flow, designed to feel lightweight despite multiple decision points.

Banner for entirely new users

The new user onboarding flow, designed to feel lightweight despite multiple decision points.

Banner for existing users to review their current configuration

The new user onboarding flow, designed to feel lightweight despite multiple decision points.

Banner for existing users who previously did not set up their Notifications, or denied push notifications entirely. This banner had to be displayed on Home because these users tend to not visit the Notifications tab at all.

Each group got a specific value proposition. For the group that disabled push notifications in parts, or entirely, we didn't ask to turn everything on. We told them about new push notification types, and allow them to review their current configuration.


Designing an onboarding that fits real life

Designing this flow was tricky because we had so many different types of users. Some were new, some were power users, and some hadn't touched their settings in years. The experience had to feel right for everyone, no matter their history with the app.

It was a lot more complicated than it looked on the surface, but we had to get it right to respect where each user was coming from.

The new user onboarding flow, designed to feel lightweight despite multiple decision points.

Notification onboarding banner variants showing the different entry points, and paths.


Recovering lost users

The result was surprising. High-volume users who had disabled notifications were the most likely to adopt the "Focused" setting.

They hadn't churned because they hated the product; they churned because they hated the noise. Once we gave them a tool to manage the volume, they came back.


Design for the long tail

Retention isn't about day one onboarding. It's about day 365 maintenance.

Focused Notifications works because it respects the "Regular Tuesday", the day when you're busy, tired, and just need to know if something is on fire or if you can ignore your phone.


Why this worked

We didn't design for engagement. We designed for utility. By reducing the volume of notifications, we actually increased the value of the ones that remained.

We designed a flow for specific user groups, making sure to respect, but nudge their current configuration, and provide them with an easy way to alter them, if they want to.


What I learned

Some design choices only make sense after someone has used a product for a long time. You can't just focus on the first 5 minutes. Designing for the long run means you have to be okay with complexity, but you have to keep it hidden until the user actually needs it.


Closing

Volume is the enemy of attention.

Our job isn't to get users to open the app more. It's to make sure that when they do open it, they find what they were looking for.