Adding a Trip Planner for Bus Stop DC
We have a few people in our DC office who are frequent users of the DC Metrobus System. A couple of years ago, one of our top developers decided he needed something simple to help him with his daily bus journey and decided to create an iOS app that pulls real-time Washington Metropolitan Area Transit Authority (WMATA) data and lets users find bus stops closest to them, receive bus arrival predictions, and receive real-time schedule updates. At the time, current apps on the market were not working due to issues they had with data and time, so he built his own. We gained the trust of hundreds of DC bus riders, and got a nice write up about our app in the Washington Post.
When Apple announced the release of the Apple Watch, we knew we wanted to get some development experience with watchOS, as well as, work with wearables to improve user experiences. We also felt that a wearable was a natural fit for dealing with the decision making and constant movement around transportation. The experience and results we gained from our first version of Bus Stop DC for iOS and watchOS were good, but now it was time to push it to better than good.
New Features
We just wrapped up the latest iOS update of Bus Stop DC. In this new release we added the ability for users to create their own trip. In the previous version users would only be alerted to what bus stops are closest to them and the predicted arrival times of buses. We established two different workflows in which a user can create a trip.
The first way users can create a trip is from the new “Upcoming Arrivals” bus stop tab. Once a user selects a favorite stop or a stop near them from the home tab, they will have the option to see upcoming arrivals of the routes that service that stop. From the “Upcoming Arrivals” tab the user can select the route they want to take, and will bring them to a map view that shows the entire trip, from where they currently are situated to the final stop on that route.
The user will have the ability to customize their trip based on the offered route so that it only shows their beginning location and the stop they want to go to. Because the app already knows where the user is starting from (based on the bus stop they are currently at and the route they selected), the app only needs to know the desired final destination. The user is shown a full list of remaining stops on the trip. They have the option to choose from the list, or if they’re not entirely sure where the specific stops are, they can select them from the map view to get a better idea of where they’d prefer to go. Once the user selects their end point and saves their trip, they’re taken back to the “Trip Details” screen.
The “Trip Details” screen is where the user can find all the information about their trip and select the range when the app notifies them that their end-of-trip stop is approaching. This notification was an idea borne from experience in that bus riders may zone out or fall asleep. We figured a wake up notification was a good idea. Lastly, from the “Trip Detail” screen the user will initiate their trip, and can follow real-time progress of their trip on the map.
The second way a user can create a custom trip is from the “Main Trips” screen. Creating a new trip this way, requires the user to be familiar with the routes. They are given a list of all the routes in the Metro Bus System. Once the user selects their route and the direction, they will then be shown the list of possible stops on that route. Unlike the “Upcoming Arrivals” workflow, we do not already know the beginning stop, so the user will need to select that as well as the end stop they want to go to. You can choose from the list or the map view. Once you choose a beginning and end stop you’ll be taken to the “Trip Details” screen where you can change settings and begin your trip.
Challenges
We didn’t encounter too many difficulties in terms of the actual development of the app. Our primary challenges had to do with UX. To build the new trip planner for the app, we needed to really understand the bus system, and understand what a rider needed to make a successful trip without being overwhelmed by complexities. We decided not to include bus or route transfers in creating trips, for the sake of simplicity. Our goal was simply to build a convenient app that enables users to more easily find the bus stops and routes that get them to where they want to go.
Another area of focus was making sure the rider was notified when the bus was approaching their stop. If a rider missed their stop due to our app not functioning properly, we would likely lose the trust of that user. We made sure to be thorough in making sure arrival notifications were triggered at the right times. This wasn’t necessarily a challenge, but just something that we placed a strong emphasis on as we built and tested the app.
Next Steps
We’re currently finishing up the development of the WatchOS version of this app and should be releasing it soon. We hope you enjoy using the new and improved Bus Stop DC, and please let us know if you have any thoughts, comments, or suggestions.
Have a web app, mobile app, or piece of custom software you need designed and developed? Drop us a line