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. 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
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!)
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. ↩︎
Join the newsletter to receive the latest updates in your inbox.