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.

Tuesday, June 14, 2011

The Future of OneBusAway

Dear riders,

Hi. We've not been properly introduced. My name is Brian and I'm the creator of OneBusAway. I'm a bus rider just like you and I started OneBusAway almost three years ago with the simple goal of making it easier to ride the bus. I'm also a grad student at UW getting my PhD in computer science. I managed to convince my advisors a while back to let me work on OneBusAway as part of my graduate research and things have been going well ever since.

Perhaps too well: there are now over fifty thousand of you using OneBusAway every week. That's an amazing number of riders for a grad student project. Of course, the trouble with grad students is that we sometimes actually graduate. Assuming my defense goes well a week from Thursday, that'll be my trouble too. The big question then is, "What's next?"

For me, I want to keep helping transit riders. Working on this project has been one of the most rewarding things I've ever done and I have no intention of stopping now if I can help it. What's more, I want to help riders world-wide, not just in Seattle. That and a lot of other reasons led me to my ultimate decision.

I'm going to work for Google. Specifically, the Google Transit team. If you've ever used Google Maps to plan a trip using public transit from point A to point B, then you're familiar with their work. Why Google? To put it simply, Google has done more to improve than usability of public transit than any other company I can think of. Their transit trip planner has made trip planning possible for hundreds of agencies where it wasn't before, and dramatically improved the trip planning experience for many agencies with planners of their own. What's more, projects like OneBusAway would not even be possible without the work of Google engineers. Their efforts to establish the GTFS spec for exchanging transit schedule data really launched the open transit data revolution that has lead to apps like OneBusAway and countless others. And perhaps you've heard they're getting into real-time?

What does that mean for you? My goal is that some day soon, you'll be getting all your transit info from Google. I'm sure some of you are skeptical of this goal, but I hope to change your mind. While I don't claim to speak for my future employer, Google already has some of the best tools anywhere for helping pedestrians, bicyclists, transit riders, and yes even car drivers, and they are only going to get better. I plan on doing everything > I < can to help that process along. And before I leave for Google this summer, I'm doing everything I can to make sure Puget Sound transit agencies are putting their best foot forward in terms of providing the data that powers services like OneBusAway and Google Transit. I won't say too much about that now, but in case you doubt my conviction, know that I'll be defending my dissertation and going through new employee orientation at King County Metro less than 24 hours apart. Dreams really do come true people ; )

In the meantime, we're not pulling the plug on OneBusAway the day I graduate. OneBusAway is NOT "abandoning Seattle". I'm doing everything in my power to make sure the lights stay on and while I can't say exactly what that will look like at this time, know that there are a number of options on the table and I'm confident we'll find a solution going forward.

As I've said before, working on OneBusAway has been an incredibly rewarding experience and it wouldn't be possible without the thousands of OneBusAway users like you. If you're anything like me, I know OneBusAway is a critical part of your daily commute (I don't even know how to get get home when OneBusAway is down). I'm doing everything I can in the future to keep building tools that help make using public transit a little easier for riders like you. While I can't promise exactly what that future will look like, all that I can ask is that you judge me by the work I've done as I pursue the work I hope to do.

Thanks,
Brian

Wednesday, June 1, 2011

OBA Blue - Real-Time Trip Planning iPhone App BETA

Update: the Beta sign-up is closed!

One of the top-requested features for OneBusAway since pretty much day one has been to combine the trip planning capabilities of King County Metro's or Google's trip planner with the real-time transit data provided by OneBusAway.

I'm happy to reveal that we're a little bit closer to realizing that goal. I've been working in secret (poorly kept if you know where to look) on real-time trip planning capabilities for OneBusAway and a corresponding iPhone app. It's been slow going... did I mention I defend my PhD in three weeks? However, things are starting to come together and I'm ready to start gathering feedback from OneBusAway users.

That's right, we're having a beta and you're invited. Details follow, but first, a brief glimpse of what you're in for:



Update: the Beta sign-up is closed!

Monday, May 30, 2011

Bad Memorial Day Schedule Data

Update: I've put a temporary hack in place that fixes most of the schedule data, but not all real-time seems to be work. I'd still advice you take a look at the KCM holiday schedule page below.

The schedule data I get from King County Metro does not properly take into account Memorial Day Holiday scheduling, which unfortunately means incorrect schedules and no real-time data today. Super frustrating, I know!

The best I can advise is to have you take a look at King County Metro's holiday scheduling page: goo.gl/5M2Dj

Holiday scheduling has been broken in the data I get from King County Metro for a while now. If you are as frustrated by this as I am, please let King County know: goo.gl/DLSa8

Tuesday, March 22, 2011

Issues with OneBusAway iPhone App 1.1.3 Update

A number of users have been reporting issues with the most recent 1.1.3 update to the OneBusAway iPhone app. Specifically, the app has been crashing on startup for some users, which is obviously not a good thing!

I didn't immediately pull the 1.1.3 update from the app store, because I could tell from my server logs that the number of users who had successfully upgraded far outnumbered the users who had reported problems. That said, I apologize it's taken me this long to figure out what's going on with the crash. The issue turned out to be with a 3rd party user-feedback widget from IdeaScale that we include in app, which caused problems on the upgrade for anyone who had used the widget in the past.

For those of you affected by the crash I can offer a couple of solutions:

1) Uninstall and reinstall the app. This will fix the crash immediately, but at the cost of losing your bookmarks and other app settings.

2) Wait for the next update from app store. I'm doing what I can to get the app through the review process as quickly as possible, but this could still take up to a week. UPDATE: The updated app is now in the app store! (Version = 1.1.4)

3) If you have a ton of bookmarks that you don't want to lose with #1 and you can't wait for #2, you can send me your device id at contact@onebusaway.org and I can send you an ad-hoc build of the app today. I've only got so many ad-hoc slots left, so I can't promise I can fit everyone using this method.

Again, my apologies for any trouble this update is causing users.

Monday, March 21, 2011

King County Metro Spring Break Schedule Errors

Due to errors in the schedule data published by King County Metro, we are currently showing a number of trips in OneBusAway that should actually be canceled for UW spring break. Keep an eye out for this if you are making trips around campus this week. More details here:

http://metro.kingcounty.gov/up/holiday-service.html

King County Metro currently does not publish accurate holiday scheduling data in their feeds, which affects service like OneBusAway, Google, and Bing Maps. If accurate schedules are important to you, let King County Metro know:

http://metro.kingcounty.gov/cs/feedback_choose.html

PS - "Who would be on campus during spring break anyway?" you might ask. Answer: hard working grad students like me ; )

Community Transit Schedule Updates

A number of Community Transit service changes went into effect last Sunday, March, 20th, with many updates concerning Mountlake Terrace. Details about the changes can be found at the Community Transit news page.

Unfortunately, the latest schedule and route data from Community Transit wasn't quite ready for the service change and the CT schedules in OneBusAway are likely to have inaccuracies in the meantime. I've been given access to half of the data I need, but I'm waiting on a GIS data dump hopefully later this week to complete the update. In the meantime, you unfortunately need to check CT schedule data in OneBusAway against official data sources at http://www.commtrans.org/ to ensure 100% accuracy.