On a cool morning a group of hackers slowly filter into a downtown Philadelphia storefront. The whiteboard wall quickly fills up, as a few work on finding an accurate way to track the progress of a single chosen bus line. With phone in hand, others build systems providing schedules and stops via SMS and voice. A few keystrokes and another starts tracking the positions of trains, while across the the room, transportation information flickers across a screen, controlled simply by a pair of hands moving through the air.
No, it’s not a scene from a movie, it’s the Apps for SEPTA hackathon. SEPTA - the South-Eastern Pennsylvania Transport Authority - is part of a growing trend to make public data accessible.
It’s important to note that the SEPTA API is currently being developed - at the hackathon, SEPTA developers actively made improvements based on feedback - so things will likely change in the future.
The API includes the static information you would expect from a transit system. Schedule and route information is available as JSON and KLM. The data can be accessed by route and stop, and the entire dataset is available in GTFS format. While not currently part of the SEPTA API, it is possible to query the data geographically through the PHL API, a related public data API to access Philadelphia geodata.
However, I found the real-time information to be the most interesting. SEPTA provides access to the real-time locations of the trains, as well as close to real-time bus locations. As I understand it, the limitation for bus data is not with the API, as much as it is a limitation of the technology tracking the bus and relaying that data back to the monitoring stations.
For an example of the real-time data (and the route KLM information), the site provides a google map showing the train routes and the current location of each train.
What ever came of that group of hackers? The next day they demoed nine different applications. Some provided a variety of ways to access transit data, from phone calls and SMS, to mobile sites and native mobile applications - even a Kinect powered display. Other applications focused on providing users information about their frequently traveled routes. You can find a full list on the AppsForSEPTA site.
I didn’t get a chance to demo my contribution. With the goal ‘least practical use of an API’, it does one simple - and pointless - thing. It checks trains into stations on foursquare as they arrive. But you have to admit, that’s pretty cool - right?