Bike share launches in OneBusAway!
It’s exciting to see the OneBusAway Open Source Project continue to grow so quickly. Started as a Ph.D. dissertation topic by graduate students at the University of Washington in 2008, OneBusAway has exploded to serving eight different metropolitan areas in eight different states (and three countries), which covers 21 agencies that provide transit service. Over 340,000 travelers have used the OneBusAway iOS and Android apps in the last 30 days, with over 1 million unique users since the app first launched! OneBusAway is also a magnet for people passionate about transit that have software engineering skills, resulting in open-source native OneBusAway apps for iOS, Android, Amazon Alexa, Pebble smartwatch, Google Glass, and Amazon Fire Phone that are all primarily maintained by volunteers. Transit agencies see OneBusAway as a common open-source platform they can invest in to avoid the steep cost of re-inventing the wheel for their city. Instead, they are able to quickly deploy the existing open-source OneBusAway software and immediately make their real-time information accessible to their riders.
Google Summer of Code 2017 — Bike share!
This summer, we had an exciting new partner join the team — Google’s Summer of Code program. In this program, Google pairs talented students from around the world with cutting-edge open-source projects to tackle new challenges. I and several other members of the OneBusAway community (Aaron Brethorst, Sean Óg Crudden, Stefan Steiniger) worked with Rodrigo Carvalho from University of St. Andrews (Scotland) to add a new mode of transportation to OneBusAway — bike share.
The new bike share features include:
- Map layer of floating bikes and bike stations
- Multimodal trip plans based on real-time bikeshare locations
When you zoom into an area that has bike share, you will now see blue markers that represent floating bikes (below image, left) as well as bike docks (“P” in below image, left, or a smaller dot in below image, right, when zoomed out). You can tap on the marker to reserve a bike at that location.
The integration of bike share into trip planning is pretty amazing — you can choose your origin and destination, and the app will show you the best way to combine transit and bike share to get to your destination, based on real-time information from both. So, if there are two bike share docks between you and your destination, the app will route you to the one that has bikes right now. If Route 6 is running 15 minutes behind, the trip planner takes that into account too. The end result is the trip itinerary (left, below) and map representation (right, below) that makes it easy for you to find the best travel option.
Right now, the bike share feature is available in Tampa, Florida in the OneBusAway Android app for users of Coast Bike Share and USF Share-A-Bull. These bike share systems have over 700 bikes and 250 stations throughout downtown Tampa, St. Petersburg, and the USF Tampa campus.
Setting up OneBusAway and bike share in your region
You can easily set up OneBusAway with bike share in any city. If you have your transit schedule and real-time information in General Transit Feed Specification (GTFS) and GTFS-realtime formats (respectively), and your bikeshare system has some kind of Application Programming Interface (API) (we used the General Bikeshare Feed Specification (GBFS)), you’re good to go.
Here’s what to do:
- Set up a OneBusAway server — Usually a transit agency in the region does this — it provides the basic real-time info features via the OneBusAway mobile apps.
- Set up an OpenTripPlanner server — This adds the trip planning and bike share features to the OneBusAway Android app. Check out the Real-time Config section for adding the bike share API.
- Test it out - Download OneBusAway Android from Google Play and configure it to point to your OBA and OTP servers.
That’s it! Contact us on the OneBusAway Slack group or on the OneBusAway Developers Google Group with any questions about set up in your region. When things are running great and you plan to continue supporting your region server, let us know and we can add your region to the apps so it’s easily accessible to all transit riders in your city!
(Also, a technical tip-of-the-hat to the open-source OpenTripPlanner project, which handles the heavy lifting in the background for real-time trip planning logistics for bike share and transit).
We hope this is just the first of many new modes to be added to OneBusAway. There is a lot of low-hanging fruit for new features — mobile fare payments (e.g., integration of Flamingo Fares from Hillsborough Area Regional Transit (HART)), first-last mile solutions (HART’s HyperLINK service), transportation network companies (Uber, Lyft), flex route service (using GTFS-flex data) and more.
Also, if you’re a software engineer and would like to help squash bugs or add new features, please let us know! We’ve labeled some Github issues for iOS and Android as “Your first PR” that are a good place to start contributing. If you’re interested in the nitty-gritty details for how we implemented bike share support, check out this Github pull request.
Thanks to the Google Summer of Code for funding this project, Rodrigo Carvalho for all his hard work implementing this new feature, OSGeo for serving as the host organization, Hillsborough Area Regional Transit (HART) for supporting OneBusAway in Tampa, Cambridge Systematics for updating the Tampa OneBusAway servers to include bike share info, Coast Bike Share for providing an open data feed, and everyone who contributed their time to help make this new feature happen.
And, thanks to open data initiatives! This project focused on the General Bikeshare Feed Specification (GBFS), the new standardized format for bike share information. OpenStreetMap.org is used as the data source for roads and bike paths, with GTFS and GTFS-realtime from HART providing transit information.
Finally, thanks to all the members of the OneBusAway Open Source Project for making it such a success!