Software has trained everyone to flinch at the word “update.” The dialog on launch, the badge that won’t clear, the banner that returns every morning like a gull that’s decided you have bread. Each app believes its new version is an event. Multiply by every app on the machine and the result is a low-grade argument with your own computer.
While building update notifications for Readout 0.6.0 I got to decide what my version of that argument would sound like, and the honest answer was: one sentence, once. The daily background check posts a notification when a new version firstappears. That version never notifies again. No repeat on the next launch, no reminder three days in, no escalation. If you ignore it, you’ve answered, and the app respects the answer until there is genuinely something new to say.
A notification is a claim that something changed. Repeating it is a claim that you should change.
Checks that answer
The other half of the redesign was making every check speak. “Check for Updates” used to be the industry-standard coin toss: click it while current and nothing visible happens, so you’re left inferring success from silence. Now every path reports back: up to date, a new version, or that GitHub couldn’t be reached. Silence was cheap to build and expensive to trust.
There’s a systems argument for restraint too, beyond the manners one. Notifications on a Mac are a shared resource with a shared budget of attention, and apps that overspend get their permissions revoked, at which point the one notification that mattered (say, a fan app telling you it lost its temperature feed) dies with the twenty that didn’t. Being quiet isn’t politeness. It’s keeping the channel credible for the message that will someday need it.
The nag-free version has a price: some users will sit on old versions longer, and the update graph climbs slower than it would with a daily banner. I’ll take that trade. An app you run all day should feel like an instrument, and instruments don’t campaign.