One small message in Transit captures a much larger part of the data work: OC Transpo service alerts are unavailable because no alert feed is connected here.
A number might look more satisfying. The message is more precise.
Zero alerts would mean that a relevant source had been checked and no alerts were found within the stated scope. An unconnected feed means that the information is unavailable. Presenting those situations in the same way would give the reader confidence the system has not earned.
The same issue appears in everyday dashboards. An empty cell might mean that information has not arrived, that a measure does not apply or that a value could not be calculated. Replacing every empty cell with zero makes a table more uniform while removing part of its meaning.
That brings me to a question beyond the calculation: what will someone understand when they look at the result?
For Ottawa, the interface gives a straightforward answer. It says that alerts are unavailable, explains why and links to the official service notices. There is a useful next step without a claim that Transit knows whether disruptions exist.
Freshness needs similar care. A page that has just loaded may contain an older observation. The time someone opens a page, the time its data was published and the time a source reported an event are different things.
These are distinctions I’m working through with Transit. When examining an indicator, I can begin with three questions: what was observed, over which period, and what remains unknown? They help establish the meaning of a result before using it to support a conclusion.
An interface can acknowledge missing information and still be useful. It can name the gap, explain its scope and direct the reader to a source that may have the answer.
Need a system that stays editable?