I spent some time on the weekend thinking about Should I Cycle, the app I want to build. There’s two ways I could do it:
- standalone iPhone app
- build an API
- iPhone app will call the API
What should my API look like and what will it do? It’ll be pretty simple – when invoked, all it will do is call the other web services it’ll use – weather, air quality, pollen levels, convert the results into a succinct format, and probably cache the results.
Here’s a simple diagram (created using draw.io):
2 thoughts on “Should I cycle: System design”
Why bother with the native iOS app? Why not just implement the service + nice home-screen friendly web app?
The native notification seems like a tiny reason to go through the app store rigmarole.
Btw I am enjoying this series of posts :)
I was thinking about this in a user first way. As a user, what do I want? I want a push notification popup at 7:30am that tells me whether I can cycle to work and another one at 5pm which tells me whether I can cycle home. No faffing about unlocking phone, opening an app or website, potentially logging in, etc. At the moment it’s a manual process – I check Yahoo’s weather app for rain % and wind speed and direction, as I’m a lazy sod and won’t cycle into a strong head wind. And the wind direction I care about is obviously the opposite on the way to work as it is on the way home. So the app idea was born from that basic requirement.
Also, I wouldn’t mind looking at Apple’s new Swift language – if I remain on iOS. The new one plus one phone is tempting me to join Android. My flatmate has one.
Glad to hear you’re enjoying it, I’ve got a few more posts in the pipeline :)