Skip to content

I'm Making Another Bus Arrivals App

Stuart Breckenridge
Stuart Breckenridge
1 min read
I'm Making Another Bus Arrivals App

I'm working on a new bus arrivals app, and I'm heading to London this time. Tackling London will be tricky as I live in Singapore. (Let's ignore that little foible, though.)

From a technical perspective, I am taking the same approach as Singapore Buses: bundling a Core Data sqlite file with the app, including all bus stops and associated data. This approach works well for Singapore Buses as the dataset isn't sizable—the sqlite file is around 5MB. For London, which is quite large, this approach results in a file that is about 70MB.[1] However, seeding the data with the app has one massive benefit for the user: speed. The app doesn't need to rely on TfL's API to get the data of nearby bus stops. It's just there.

I've completed work on the Mac app that pages through TfL's API to get the data and create the sqlite database.

Core Data model for London Buses

Over the next few months, I'll be working on iOS UI, using Singapore Buses as the base. I aim to have the app finished by July (the first time I'll have been back to the U.K. since 2019!)

  1. There are ways this can be reduced, for example, by removing data that isn't essential (like nearby bike stops). However, given that many apps are way over 70MB these days, I'm not overly worried. ↩︎

📱App Development🚍 London Bus Times