OpenMBTA
Notice Tuesday Jan 12 In the process of switching OpenMBTA to a new server, the iPhone app wasn't able to display the map properly for several hours today. Apologies for the inconvience. The problem should be fixed as of 6pm.
The OpenMBTA project provides free, open source mobile apps for public transportation users in the Boston metro region. The goal is to promote public transportation in order to help fight global warming and reduce our dependency on the oil imports that keep autocratic regimes in power. OpenMBTA is part of a green software movement that calls on developers to donate their time to making free and useful software that helps us save the environment and promote democracy.
OpenMBTA for Mobile Browsers
A beta version of OpenMBTA for mobile web browsers is now available. Visit this URL on your mobile browser to use it:
To save typing, you can also visit:
OpenMBTA for the iPhone
You can get the OpenMBTA iPhone app from the iTunes App Store for free by clicking here.
OpenMBTA will show you today's remaining scheduled arrival times for MBTA buses, subway trains, commuter rail lines, and ferries. It also has a section that shows you the latest T Alerts, which are service delay announcements from the MBTA.
Please note that the application is a public beta. This means that it has not been fully tested and that the user interface could use a lot of refinement. If you find any bugs or have a good feature or user interface suggestion, please let us know on the Support & Feedback Page.
How to use it (iPhone app)
Let's just run through a basic use case. Say you're somewhere in Cambridgeport, and you want to know where the nearest stop for the Number 1 Bus to the Boston side of the Charles River is and when it's going to arrive next.
Starting at the main menu, you want to press Bus.
The next screen will show you all the bus routes with trips still scheduled today, ordered by number. If the bus you're interested in has a high number, you can navigate to it more quickly using the number index along the right. In this case, we don't need to do that because Bus 1 is at the top of the list.
For every bus route, you'll see all the headsigns for that route. Usually this means that there is one headsign for each direction, but some routes are more complicated and have more than two headsigns. For each headsign, you'll also see the number of trips left for today.
Please note that if a bus route is done all its trips for the day or isn't in service today, it won't show up at all on this list. This is a potential source of confusion that might be remedied in the next version of the app.
We've found Bus 1 going toward Boston, so let's tap that.
The next screen is the heart of the application. It is actually two views. By default, you'll see the map view. But if you tap on the "Table" button on the top, you'll see a table view version of the same information.
Here is a guide to what the colored pins in the map view mean:
|
A red pin is a stop. You can tap on any pin to show the stop name and up to the next three arrival times. If there are no more arrivals for the day, you'll see a message saying so. |
|
A green pin is the starting point of a trip. A route might have more than one starting point if trips start from different places at different times of the day. |
|
A purple pin is a stop where a bus is just about to arrive according to the MBTA schedule. You can take this as a rough indicator of where a bus is, or at least should be, based on the schedule. |
|
|
If you've allowed the app to use your iPhone's location, a blue dot will drop onto the map showing your current location if it's close to the route or the line you're looking at. When the blue dot appears, the pin for the nearest stop should automatically show its callout with next arrival times. |
In the table view, the nearest stop is colored red, the starting point(s) green, the imminent stops purple.
Press the Shift Time button in the upper right corner to bring up the time picker. You can adjust the time to see the scheduled stops for a particular time of the current day. Once you change the time setting and return to the map or table you were just looking at, you should see the arrival times change to reflect the new time you selected.
The schedules and maps for Subway and Boat work mostly in the same fashion as for our Bus example. OpenMBTA handles Commuter Rail schedules a little differently however - and a bit awkwardly, I must confess - because of the more complicated nature of commuter rail schedules. The interface for Commuter Rail schedules will definitely change in the next version of the app.
An important note on arrival times
The arrival times displayed in the app are approximations rather than than guarantees. Service delays due to traffic and other conditions can change the actual arrival times. Please visit the T Alerts section of this app (from the Main Menu) to see if there are any serious service delays or changes for any of the routes or lines you're waiting for.
Also, there may be kinks in the GTFS data or in the way that OpenMBTA's data server interprets it that could result in wrong schedule information. With the help of user bug reports, these will be ironed out over time.
Tips for handling the map
In the map view, you can quickly zoom into an area of interest by double-tapping on a spot on the map. You can also pan around the map by dragging it, and zoom in or out by stretching and pinching the map with your fingers.
OpenMBTA is an open source project
The code for OpenMBTA is open source, and from this point foward OpenMBTA is an open source project. Hopefully, a few civic-minded, Boston-based programmers, UI designers, and pixel artists will adopt the app as their own and help improve it. Developers based in other metro areas who would like to adapt the source code for OpenMBTA to produce free iPhone apps for their own public transit systems are also welcome to use the code base.
The code for the project is available on GitHub at http://github.com/danchoi/openmbta.
A Google Group has been set up for OpenMBTA project development: OpenMBTA Google Group.
The iPhone client is written in Objective-C. The data backend is written in Ruby, using Ruby on Rails.
Goals for the next release
The first goal is to start implementing some real-time tracking of actual bus, train, and boat locations.
Other goals will be determined through user feedback. Please leave your suggestions on the Support & Feedback Page.
Credits
The idea for this mobile app was born during Open Government Hack Day at Betahouse in Central Square, Cambridge, MA on September 27, 2009.
Daniel Choi started this project and wrote the first iPhone version of OpenMBTA.
Daniel Choi and Eric Richmond created the current, mobile web version of OpenMBTA.
Chris Dempsey, Assistant Secretary for Innovation and Project Development at Massachusetts' Executive Office of Transportation (EOT), provided much encouragement and graciously answered lots of questions.
Braulio Carreno also provided this project with very useful insights into the GTFS dataset.
Finally, this project would not be possible without the EOT's serious efforts to make MBTA data available to outside software developers and to the public.