Thursday, July 5, 2012

Announcing the OneBusAway Ambassadors Program

Hi there, OBA power users. Do you want to get in on the action?

We all recognize that there have been data errors in Seattle-area real-time bus arrival information stemming from a variety of sources. We also all know that King County Metro is working hard to fix it, but they are limited to their own diagnostic data.  It’s the user on the street and on the bus who knows exactly when they get a prediction error and it’s that user that we’re giving a chance to help fix it.  Hopefully you’ve all seen the error reporting feature in the iPhone app.  (A similar feature is being developed for Android as well.)  To build off of this feature and use those error reports better, we have a new program starting up called the OneBusAway Ambassadors.  OneBusAway has always been a community-generated and supported tool.  We were started by UW students with help from some great UW faculty.  We are trying to maintain that community support.  So if you are a OneBusAway fan and are interested in beta testing-type endeavors, now is your change to jump in.  We’re currently recruiting volunteers to serve as OneBusAway Ambassadors.

The Ambassador program will initially involve a set of OBA Ambassadors viewing and validating the incoming error reports created via the iPhone error reporting function as well as validating emails to OBA regarding prediction errors.  The OBA Ambassadors will act as liaisons in which to aggregate and identify trends in errors based on the actual bus or the route that is being reported. This information will get passed back to the relevant agency or the OBA staff in order to assist them in error identification and resolution.  We are currently planning on each Ambassador  devoting about 2-3 hours per week.   The rewards will be endless in the form of kudos from the public, knowing that you are making transit easier to use, and really cool OneBusAway Ambassador apparel that will make you the envy of your transit buddies.

If you are interested in being a OneBusAway Ambassador, email Kari Watkins at

Thanks for your support of OneBusAway!

Friday, June 1, 2012

Please Take the New OneBusAway User Survey

After three years and many changes, the UW team that runs OneBusAway is looking for feedback about the service. Have you used OneBusAway within the past three years? If so, please help us understand how you use it by taking a quick survey, located here: ( The survey is anonymous and those who take the survey are eligible to win a $25 iTunes gift card. Thanks again for your input.

Monday, April 30, 2012

On the Metro Transition to GPS

A user asks:

When will OneBusAway be based on GPS tracking of each Metro bus, so that it will be more accurate and work (at least for locating buses) even when buses have to be re-routed?

Would that it were that simple. We are told that the transition to GPS, already well over half complete, will be over by early Autumn, but it may deliver less than you thought it promised.

Here's the basic idea of how OneBusAway works. There are two parts:

1. About four times a year, OBA gets a schedule from each of the agencies, including Metro. The schedule says "here's where and when all the buses are going to stop from now until the end of the service interval several months from now." For example, it might say- for one of the almost 30,000 KCM trips the schedule describes- that there's going to be a route 16 trip every weekday starting at 7:18 AM- and here's where and when it's going to stop- and this is the ID it will be labeled with.

2. Every day, all day, we get real-time reports of trips- tens of thousands of them. What we get in each report isn't so much "here's where the bus is" but rather "here's how this trip is performing against the scheduled trip." Something like "trip X is running Y seconds off schedule."  Ahead of, behind, or spot on. That's called "schedule deviation."

So- we know where the agency said it would be, and we know what the "schedule deviation" is. We might also know where the bus is, but it's all but irrelevant.

A user is standing on the street at a stop, and she asks OBA: tell me about any trips that are headed to this stop. OBA looks at the schedule and looks at the real-time reports and computes: here are the trips that are supposed to be there soonish, and here's what we know about how those trips are performing. Add it all up, and it's able to give you the display you seen on a smart phone: this trip looks to be five minutes late, we've seen no recent realtime data for this other trip but it's scheduled to be here in eight minutes so we'll show you that, and here are five other trips with this or that status.

How does GPS make any of this better from the old bus-location system? Only this way: the old system delivered less frequent reports of less accurate location data. Therefore, real-time reporting could compute less accurate schedule deviation.

GPS is not a silver bullet. It does make some new stuff possible, such as detecting when a bus is off route, but there is a bunch of design and engineering between where we are and presenting that to a rider in a useful way.  In particular, we are some ways from being able to present the rider with the actual location of a bus that is off-route.

Monday, April 23, 2012

A Metapost

Wayne Watanabe of the King County Department of Transportation and OneBusAway's Mark Hallenbeck have collaborated on Tracking the Bus Tracker Problems, a post at the Seattle Transit Blog that looks at recent problems with real-time bus location reporting for King Country Metro (and digitizing grandpa's classic rock collection). It's a good and geeky read if you skew that way. The commenters are great at cutting us a new one, too.

Tuesday, February 28, 2012

On OneBusAway Inaccuracies

(This post is by S. Morris Rose. I'm the engineer that's been hired on a temporary basis to keep the services that power OneBusAway chugging away now that Brian Ferris, the engineer that created it, has moved on to work on transit projects at Google Zurich, though he still pitches in from time to time. The position is funded by contracts with King County Metro, Pierce Transit, and Sound Transit. I've been a technical staff member for Computer Science & Engineering at the University of Washington, where OneBusAway was created, for more than a decade.)

Many users have noticed that sometimes OneBusAway isn't real accurate- it might report a bus is early when it's on time, late when it's early, or display the status labeled, "scheduled departure" (which means that there is no "real time" arrival data available for that trip), or a scheduled trip might simply be missing. In the case of Community Transit (which is not a project funder), the schedule data has simply gone missing. In this post, I'll explain a few of the factors that lead to the errors.

OneBusAway depends upon two types of data to tell you where your bus is: schedule data, which all about where and when the agency plans for each bus to be, and real-time arrival data, which is all about where the bus is right now. Schedule data is updated but several times a year. Real-time arrival data is updated constantly. Pull those two data types together and apply algorithms, and you've got a guess about when your bus will arrive. There can- and are- problems with both data types and with algorithms that lead to false predictions.

In the case of schedule data, various things can go wrong. It can be incomplete, as is the case with the current King County Metro data, it can contain errors, as is the case with all complex datasets, or it can just be missing- as is the case, for now, with Community Transit data. Also, since the data only lands a few times a year, but minor changes are made by agencies along the way- perhaps due to construction- it can be partially stale. And if a trip is canceled or rerouted, such as during a snow emergency, the schedule data can become desperately wrong.

Real-time (AVL, or automatic vehicle location) data is much more complex and fraught. Because the data is changing constantly, latency- a difference between when a data point is generated and when OneBusAway gets it- is a problem. Sometimes a trip goes missing due to technical issues, in which case only "scheduled departure" is shown. Some agencies don't even have real-time data (e.g. Community Transit). Complicating matters for King County Metro is the fact that they are transitioning from an older system based on a combination of radio beacons and wheel rotation counts to one based on GPS. (That process is about 60% complete, but there are yet more than 500 buses to be converted. Some areas are behind others, including the northern area of Seattle, where there is a high concentration of OneBusAway users.) The task of combining the two types of real-time data has proven to be challenging.

And then there are the algorithms. To predict an arrival, there is a lot to compute even after the position of a bus is known. For example, a mile of Montlake Boulevard at rush hour on Friday translates to a lot more time than that same mile two hours later. OneBusAway doesn't do its own arrival prediction- instead, we rely upon data from others, who in turn run their own or commercial software. This arrival prediction data comes from the agencies themselves for buses that use GPS; and from MyBus for buses using the older AVL system. (MyBus is a system running here at UW, from Dan Dailey and the Intelligent Transportation Systems project. A big thank-you to Dan and Joel Bradbury for continuing to keep this data up and available! OneBusAway has relied on it from the beginning, and will continue to do so while the AVL system is still in use.)

Finally, when buses are on reroute due to snow (as happened last month), the arrival predictions currently become somewhere between wildly inaccurate or totally missing.

Add up all these issues, toss in a snowstorm in January and simultaneous major schedule changes in mid-February, and you get a service that sometimes tells you lies.