🚗 Building a Car Pool App: Playing With Ideas
After defining what the problem was that this solution would solve:
When it takes longer than normal to be picked up, the driver has no way to express the problem and pickups have no way of knowing.
I began to break down what we what to achieve here, as a driver and as someone to be picked up.
Given the scope of the problem that we identified, it looks like an MVP will cover just the bottom card in each column in the image above.
I needed to also consider the environment and constraints that our actors have:
- Drivers cannot use their phone while driving
- What medium would people waiting to be picked up prefer to communicate through?
- Will people waiting to be picked up download an app just to know if everything is still okay with being picked up?
The thoughts above sparked some ideas in my mind to see what technologies would be applicable and if those technologies would fulfil the purpose.
My idea was to have the driver control an app, and pickups to track the journey through a time-limited web page. Pickups would see the driver’s location and traffic on a map, then be notified when the driver is nearby and has arrived.
While Google Maps was capable of what I wanted to do, the Web Push for mobile browsers wasn’t quite. Web Push only worked on Chrome and Firefox with basic implementations, which was okay, given that it is an experimental technology. So the next thought in my mind was that SMS would need to be the notification medium.
To consider a “duct-tape” solution, I looked at Apple’s Find My Friends app for iOS. Where you can track your friends’ location (when they allow you), which I believe would solve our problem. However, this doesn’t work for Android.
I also thought about what Uber did to solve this problem. Their app (for riders) consists of a map view, where you can see all of the drivers around you (whether that is real or not, has been argued about) and when you have requested a ride and had it accepted, you can see the driver coming toward you.
At this point, I felt like I had enough to define a starting point.