A status page should be boring
Ada Exampleupdated toolingPennant3 min
Pennant has fewer features now than it did a year ago. I removed the maintenance-window scheduler, the multi-region check aggregation, and a comment thread I let users add under each incident. Every one of those removals made the page more useful, not less, and it took me longer than I would like to admit to understand why.
The scheduler nobody trusted
The maintenance-window feature let you pre-announce planned downtime so a check failure during that window would not trigger an alert or show red on the public page. It sounded useful. In practice, people forgot to set it, or set the window wrong, and then either got paged for planned work or, worse, had an unplanned outage quietly suppressed because a maintenance window from three weeks ago never got cleared. I pulled it in January. Nobody asked for it back.
If you are copying this
Removing a feature from a status page is cheap to do and expensive to undo, because the people who relied on it will not tell you until the next outage. Announce the removal on the page itself and leave the note up for a month.
Region aggregation and the graph that lied
Checking a service from five regions and averaging the result into one status looked more thorough than checking it from one place. It was also slower to load and, during a real partial outage, it produced a yellow dot instead of a red one, because four regions were fine and one was not. A status page’s job during an outage is to answer one question fast: is it down, yes or no. An averaged, five-region yellow dot answers a different, less useful question.
Why I killed comments
The comment thread was the hardest one to give up, because it felt like the feature people would want most: a place to say “same issue here” or ask a question during an incident.
What people actually asked
What it became, within about two months, was a place where people asked questions that only the person managing the incident could answer, at the exact moment that person had the least time to answer them. I replaced it with a single “last updated” timestamp on the incident note. That turned out to carry almost all the value the comments were meant to provide, with none of the obligation to respond in real time.
The shape that is left
What Pennant does now: a list of checks, a color for each, a history strip, and a place to write one paragraph when something breaks.1 That is close to what it did on day one, in March of 2024, before I spent two years adding things back to it. The features I removed were not bad ideas in isolation. They were bad ideas for a page whose only job is to be readable in five seconds by someone who is already stressed.
I keep coming back to a rule that took me too long to write down: if a feature makes the page take longer to understand during an actual outage, it does not belong on a status page, no matter how reasonable it sounded in a planning doc six months earlier.
Footnotes
-
Four screens in 2024, eleven by the middle of 2025, five now. I did not plan the shape of that curve and I do not think it is a coincidence that the middle of it was the year I shipped the most and used the product the least. ↩
Filed under tooling