When Port Authority began rolling out real-time bus tracking, they banked heavily on outside developers. Instead of designing apps themselves, they've made the feed that provides live location updates available to pretty much any developer who wants it.
That's how Carnegie Mellon grad student Alex Rebert wound up designing a map that shows every real-time enabled bus in the Port Authority system dancing across the county. (Port Authority's system has had some hiccups, so not every bus may appear).
Here's a video we put together that explains how the map was developed (the map itself is a great way to kill a few hours at work). For a more thorough discussion, check out the email Q&A with Rebert below.
You wrote on Reddit that the site was a “small weekend hacking project.” What made you decide to spend a weekend on this project in particular?
A mix of unexpected free time and a bit of frustration with existing apps using the data.
The map is striking in its minimalism: There’s no detail beside the route number and location. Why did you decide not to include information about destination, whether it’s on or off-schedule, etc?
That's in part due to my laziness. More seriously, I tried to include the information that I thought was useful. [As far as I know] most people don't know the schedule. Knowing whether a bus is off schedule would not be informative. You just want to know how much time you'll have to wait, or when you should leave, or at which bus stop you should go to minimize the wait.
Concerning the directions of the buses, I thought that it could be inferred easily looking at the moving buses, but that's not the case. The buses are not updated often enough for that. I'm probably going to add that information somehow.
Based on the Reddit thread, it seems like you set up the site without Port Authority's permission. Was that hard to do undetected? Was there a reason for that?
The port authority provides an API and API keys to developer[s], which is great! I asked for a key Friday evening, but I figured that I wouldn't get it during the weekend. So instead of waiting, I checked if I could extract the data from here. It turns out you can.
Besides that, I would have used the official developer API. They seem like they're willing to increase the API quota when necessary.
Have you heard from them since the site went up?
Not really. I got my API key from them. I have yet to use it.
It’s hard not to become entranced by the buses gliding across the screen — is that a real representation of bus movement Or are you animating the difference between data points every X seconds? How does the site work?
You got it right. I animate the difference between the data every 5 seconds. It gives the map a real time feel, at the cost of adding a 5 second delay to the data you see. One could try to predict where the buses is going to be instead, and correct it when it gets new data. But that's a lot harder.
What’s the longest stretch you’ve spent just staring at the map?
Not that long. Maybe 5 minutes. It's interesting to see where all the buses are, how many in each route there are, how much distance is there between buses... I wonder what the Port Authority is doing with this data.
How many hits are you getting on the site?
I think I get 500 daily views on average now. More than 70% percent of users are people who are coming back, which is a good sign. It went up to 2,000 a couple of days after the launch due to the novelty effect. Laura Meixell's tweet brought a lot of traffic. [She's the analytics and strategy manager for mayor Bill Peduto] Users are mostly from Pittsburgh, but I got people from all over the world surprisingly.
Are you a regular Port Authority rider?
Yep. It has been my main form of transportation in the city for four years. I was glad to hear that they increased the number of buses in some routes recently!
The Port Authority has taken some heat for its roll-out of real-time tracking — in many cases, buses aren’t appearing at all. What’s your take on that? Do you worry it hurts the reliability of your map?
We should give them some slack. They introduced a feature that many riders wanted, and for that, we should give them props. I have no doubt they'll improve the data accuracy in the near future.
Is this project a work in progress, or are you finished with it?
I haven't worked on it much since I released it. I rewrote the backend to remove the 50 users limit, but that's about it. I'd like to add geolocation (so that it's easier to know when you are on the map), and display in which directions the buses are going. I'd definitely consider adding features that people request.
Got any other projects like this on the horizon?
Nothing planned right now. My startup keeps me busy enough.