Apps For Philly Transit is an annual Hackathon that “aims to bring together transportation organizations and citizens of Philadelphia to rapidly conceive, design, and prototype uses of open data relating to transportation in Philly”.
I pitched an idea called Unlock Philadelphia: an application to help people with disabilities, parents with strollers and older people to find accessible stations and transit information. By combining transit data with with Yelp’s open data feed, I wanted to also find accessible shops, restaurants and services close to accessible stations.
The idea received votes and positive feedback so I formed a team and built it.
Organizations attending included SEPTA (the transit company that runs buses and trains serving Philadelphia), the City Of Philadelphia, Philadelphia’s Bicycle Coalition and Azavea. Friday night was dedicated to team building; this was followed by an intense weekend of design and development and a final presentation session.
On Saturday morning the Hackathon started and I teamed up UX/Web Designer Diana Fanelli-Brennan. We started by sketching out a high level design and investigated the transit open data feeds (REST APIs). Mike Zalezki, Director of Emerging Technology for SEPTA was on hand with his team and they helped us to locate the right data sets and made changes to REST APIs to support our requirements.
We decided to focus on the following features:-
- A map showing two metro lines and accessibility of stations along them.
- Click stations and see:
– More information about facilities.
– Elevator outages.
– Businesses that are listed as wheelchair accessible close to stations (retrieved from a call to Yelp).
- A Twitter button that automatically populates a tweet to @SEPTA_SOCIAL with #accessiblity so that the user can easily give feedback information (SEPTA keeps a close eye on Twitter and is very responsive).
We built the app using Ruby/Sinatra on Heroku for REST/AJAX calls along with Bootstrap, JQuery and Leaflet for the client side. We also used MongoHQ on Heroku to store station information extracted from SEPTA’s web pages and static GTFS data.
The main challenge was getting the data in the right format and matching inconsistent station names in different data sources. Some matching code was required to fix this. SEPTA wrapped elevator data in a REST endpoint with a JSON response to supplement a legacy RSS feed.
Getting the YELP data was really easy; they have a REST API that allows a search term to include ‘wheelchair accessible’ along with any other filters you might need. There is some OAUTH to work with. Rendering the results in a list was done in the simplest way possible to comply with their usage rules.
Diana provided guidance with the UI aspects, created icons and banners and put together slides for the demo.
The web application highlights the lack of accessible stations in the Center City area; it also clearly shows how much impact elevator outages have on large areas of the city for people in greatest need of public transit services. For example, the screenshot above shows 8 elevator outages on the Market-Frankford Line; since there are only 22 accessible stations this represents almost 40% reduction in service on the line.
Since the Hackathon a number of people and groups have found out about the project and want to get involved to help take the idea further and make it more even more useful. So far the following ideas have been generated.
- Ability to rate/review stations or other services – star ratings and comments associated with stations.
- Categorization of stations that are not wheelchair accessible. i.e. a station isn’t wheelchair accessible (no elevator to platform); but how accessible is it otherwise? A few steps? Escalators?
- Click on a point on map and highlight all accessible services/stations/bus routes etc. within certain radius.
- Geo visualization of accessibility patterns/gaps around the Philadelphia area
- Accessible route trip planning.
- Improve rendering of app on Smartphones/mobile devices.
To get involved and see more details visit the Unlock Philadelphia project page at Code For Philly http://codeforphilly.org/projects/Unlock_Philadelphia