Public transport systems have many struggles. But for most, the biggest struggle is the uncertainty behind not having accurate information location on how far their next bus is. While some systems do implement their own GPS tracking systems, this would need a different bus app to be downloaded for each system and most systems do not even have GPS tracking. As students we use buses to get around campus all the time and need accurate location data to know whether it will come in time for class. Hence we created LiveBus to solve a widespread struggle for all Public Transport users.
What it does
LiveBus utilised the powerful here.com api to load the map as well as automatically fetch the bus routes in the city based on the user's current location. The app then allows the user to select a specific bus route and see the next bus based on crowd sourced data. They will also see the path that the bus is taking to reach the user. When the bus finally arrives, the user can instantly board the bus and act as a tracker for others to see until they get off their next stop. The app checks for clusters of trackers so that the user waiting at the bus station can understand the reliability of the location data. The trackers can also indicate how crowded the bus is. Lastly the app acts sets up a medium of communication between those on the bus and those waiting to allow those waiting on the bus to get information about the status of the bus in case it has broken down or is stuck in a traffic jam.
How we built it
The core of the app powerfully uses the here.com api to power the map as well as all the routes and bus stations. Then, using the web-geolocation api, we added the user's live location to the map gotten from here.com. Google cloud was used for data storage and vue.js was used to implement material design to make the UI look good and simple the use. Many web services then complemented the app to power the backend to connect the trackers with those waiting for the bus station.
Challenges we ran into
One of the conceptual challenges was in whether the users would track the bus for others. We realised that we needed to make it extremely easy to start tracking once the user boards the bus to we did exactly that. We also took inspiration from apps like waze where people provide information like traffic cameras and crash data for others with no remuneration. However we conceptualised a points system that they can get based on the time they have been tracking and redeem the points for rewards towards companies partnered with the app. Programatically, one of the biggest challenges was making a progressive web app that can work despite all the security issues involved during development. Also integrating the powerful here.com api and using all its features took time to learn and implement but we were able to make it fully functional in the end.
Accomplishments that we're proud of
We're proud of the fact that LiveBus is actually fully functional. It can get the routes using the user's current location. Allows the user to select which route they want to track. Shows other users on a bus and their route to the user. And of course, looks good and works well on mobile. It is essentially fully capable of being deployed. We are also proud of the fact that this tool can be used all around the world.
What we learned
We learnt how to integrate the here.com api to work with a progressive web app and the powerful web tools that allow us to do so.
What's next for LiveBus
We think live bus has a great potential to be deployed because it is web based and can be shared instantly but also because the way it's built allows it to be used all around the world.