Can systems tell when live bus data is not available? Even TfL's site and bot don't seem to know


#1

Hi all,

I noticed on Saturday between 5-6pm there were no bus predictions available on Unified API or through legacy API.

The TravelBot told me it couldn’t get any information for the stop, but clearly didn’t know the system was down as it kept asking for my location, presumably imagining that was its problem. I kept sharing it and it kept telling me it ‘couldn’t find information’ (rather than a less ambiguous ‘couldn’t get it’ or ‘couldn’t retrieve it’!) and round we went.
I tried the TfL site and that was less satisfactory as it told me ‘no buses due in the next 30 minutes’ - which was plain wrong. It should clearly know the difference between ‘no system’ and ‘no buses expected’ and passengers could be inconvenienced by thinking the bus service itself is suspended.

So, I am left wondering if there is no stated or recommended way to ensure apps & API users can tell when the system is unavailable. If TfL’s own systems don’t know, I’m guessing not!

All thoughts on this appreciated. I do think it’s vital that TfL at least can show within its own systems when there is a system problem.

Cheers,

Drew


#2

Hi Drew - you’re correct that there’s a big difference between *no predictions for this Naptan code", which TravelBot interprets as a failure to get location, and Arrivals on the Web interprets as “no buses for the next 30 mins”. The messaging for both of those could be improved to be less misleading. It seems they both make assumptions that a certain code path has failed.

There’s no easy “health check” API that either of these can use, our backend monitoring is not exposed in that way. But it’s certainly a valid feature request - perhaps something like https://status.bitbucket.org. That being said, even detailed data about which system is unavailable is of limited use to end users, so often the messaging is deliberately ambiguous “something went wrong, try again” etc.