Tuesday, December 21, 2010

OneBusAway iPhone App Updated

I'm happy to announce that we've released an update to the OneBusAway iPhone application.

What's new?
  • Support for service alerts - details about detours, cancellations, and other service changes.
  • Better route and trip maps.
You can grab the app here. Hopefully the update will go smoothly for you, but let us know if you have any issues.

The primary change is one that you hopefully won't see any time soon. As we hinted in our discussion of the most recent snow storm here in the Puget Sound region, we've had some changes in the works to make it easier to show you information about reroutes, cancellations, and other service changes. You can see a demo video of service alerts in action below:

Another minor change we made is a tweak to the map display of routes and trips. We now show the full route path, not just stops, for routes and trips (only on iOS 4.x devices):

Thanks to all our beta-testers for their feedback on the app. We appreciate your feedback too, so let us know what you think of the new app.

Saturday, December 4, 2010

OneBusAway iPhone App UI Design Question

I'm looking for some feedback on a user-interface design issue in the OneBusAway iPhone app. I figure there are some iPhone designers and users out there that might have some good ideas on how to tackle the problem. The problem is this:

When you are looking at real-time info for a stop, there are a variety of actions you might want to take: add a bookmark, filter the routes, see nearby stops, show the full schedule, see service alerts, report a problem... the list gets longer every day. And so does the list of buttons at the bottom of the arrivals screen:

I think that list of action buttons is getting a little overwhelming. One option is to put them all on a separate screen with a single action button leading things off:

The problem with this approach is that it reduces the visibility of those options. In fact, the very first revision of the app worked this way and I had a lot of reports from users that they couldn't figure out how to bookmark their stop, mostly because the action wasn't very visible.


Another option is some sort of detail indicator on the stop name itself:

Also a number of people have commented on the Service Alert indicator. The image above shows what happens when you have an unread stop-oriented service alert (very visible). Once you've read the service alert, the main service alert element shown above goes away. However, we still include it the action list at the bottom so that you can go back an access the service alert after you've read it.

Our options are limited in some ways, because some normal places you might put action buttons (the upper right corner, the lower toolbar) are already spoken for.

Does anyone have any thoughts on how to deal with this trade-off between an increasing number of actions and the desire to make them visible to the user? Especially in an iPhone app? Maybe you've seen another app that does this well. I'd love your feedback.

Feel free to leave a comment or drop an e-mail at contact@onebusaway.org. Thanks!

Monday, November 22, 2010

The Snow Came Too Soon

I know of a lot of you are probably frustrated that OneBusAway is pretty much useless (no real-time, no snow reroute info) on a day when you need it most. I'm pretty frustrated too, if only because I have been working with King County Metro and other agencies over the past couple of months to try to get adverse weather reroute information into OneBusAway.

The good news is that we are making a lot of progress, but the bad and somewhat obvious news is that I didn't finish in time.

Of course, you could argue that I've had two years to prep for this, but we've only recently had time and resources to work on service alert information in OneBusAway. And the lack of gps-based tracking for King County Metro buses is always going to be a problem.

All I can say is that I'm working hard to be ready for the next storm. And to prove that this is not just a vapor-ware promise, here is what you have to look forward too:


(Fast forward to 0:35 seconds in for the good stuff. And don't worry, everyone without an iPhone we're still thinking about you too).

King County Metro, Snow, and Real-Time Tracking

You'll notice that there is currently no real-time data available or King County Metro buses in OneBusAway. The issue is that King County Metro pulled the real-time feed because of the snow and adverse weather reroutes today. Why would they pull the real-time feed in conditions where you'd probably agree that it would be extra useful? They do so because the current tracking system for King County Metro buses doesn't work well when buses are on adverse weather reroute.

When a bus is on adverse weather reroute (see http://metro.kingcounty.gov/up/rr/adverseweather.html for a current list), real-time arrival predictions are not accurate for that route. Why is that?

The position of each bus in Metro KC is not tracked with GPS, but rather with a decidedly lower-tech approach. Each bus is outfitted with a device that can radio the current odometer reading for the bus back to a server. If we know the odometer reading when the bus starts its route, we can periodically monitor the real-time odometer readings to determine how far along the route the bus has traveled. This gives us an estimate of position and from there, an estimate of how early or late a bus is. This is how http://mybus.org works and OneBusAway is just a fancy front-end to MyBus.

The problem comes with buses on adverse weather reroute, or any type of temporary reroute. When a bus goes on reroute, the physical route changes and the odometry calculation based on the original route used above is no longer accurate. In a perfect world, we would know when a bus is on reroute and adjust to its new route. Unfortunately, there is currently no automated way for handling this situation.

The result, unfortunately, is that on days when it is often cold and miserable and you'd rather not wait outside any longer than you have to for your bus, the real-time tracker often doesn't work. Ironic, huh?

I'd argue that King County Metro went too far in cutting the ENTIRE feed, as there are plenty of buses that aren't on reroute where the real-time tracking would be extra useful to riders today. If you feel the same way, definitely let them know.

Tuesday, November 9, 2010

OneBusAway for Windows Phone 7

With the U.S. launch of Windows Phone 7, we are proud to announce a native OneBusAway client for new WP7 users.

wp7English320x50green.pngThough I say "we", I really can't take much credit at all. Instead, I want to recognize a number of developers who have been hacking away on the client for the past few months to get it ready for the Windows Phone 7 launch. OneBusAway wouldn't happen without the help and support of developers like this, and I appreciate all their efforts.

The app is open-source, so check out the project page if you'd like to help make the app even better. And just a reminder that all the OneBusAway data that powers apps like this is available for developers to use to create new an interesting apps. Check out the API for more details.

Tuesday, October 12, 2010

Problems for T-Mobile SMS Users

If you are a T-Mobile customer and a user of the OneBusAway SMS interface, you've probably noticed that the service has stopped working in the last few days. The issue is that we use a free, ad-supported SMS service called Textmarks. T-Mobile recently raised the rates they charge services like Textmarks for sending and receiving SMS messages such that Textmarks can no longer afford to send free, ad-supported messages to T-Mobile customers.

I'm still trying to figure out what to do about this. OneBusAway has been lucky that we don't have any recurring monthly costs thanks to a generous donation of servers + hosting from UW CSE. Hopefully we can find some way to maintain SMS service that fits within the limits of our non-existent budget ; ) If anyone has any creative ideas or thoughts on potential solutions (SMS-email gateway, SMS via Twitter, etc) feel free to leave a comment.

Thursday, October 7, 2010

Help Report Data Issues Directly from Your IPhone

Every schedule update from our local transit agencies brings changes and, invariably, errors. I don't fault the agencies for that, since managing a fleet of hundreds of buses across thousands of stops is a complex task.

However, we as riders have a unique opportunity to help find and fix the errors we encounter on a day-to-day basis with the systems we use. Who else better to find the bugs with bus schedules than riders? While OneBusAway has always had multiple ways that you can use to contact us when you have problems, we want to make it even easier.

In the recent 1.1.0 update to the OneBusAway iPhone app, we've added in-app problem reporting. You can submit issues about stops, buses, routes, and real-time arrival errors. When you submit from within the app, it adds valuable context information about time, location, stops, and trips that help me debug these problems on the back end.

How do you report a problem? Look for the "Report a Problem" button when looking at arrival information for a stop:

From there, you can report issues about a stop or a specific bus. When it comes to issues with the real-time arrival information, it would be great if you could submit a problem every time you have an issue (up to a week's worth of reports), as it will help me separate one-time problems from recurring problems that need the full attention of the agency.

I hope that these tools will make it easier for you to identify problems and faster for us to fix them. We hope to expand this functionality to our other mobile apps as well.

Not seeing your bus downtown? Interlined route issues are now fixed

Interlined-routes, a bus that enters downtown as one route and leaves as another, are a recurring issue with the data from King County Metro. The symptoms occur when you are looking at your stop on OneBusAway, not seeing the route you care about but instead seeing a bunch of routes that don't seem to actually serve the stop. The latest schedule update was no exception, and I'd say 90% of your bug reports have been about that issue.

I'm happy to say that I've hopefully fixed the latest batch of schedule data. It took a bit longer than usual, but hopefully it will make OneBusAway work better for a lot of you.

Tuesday, October 5, 2010

Why so much downtime lately?

If you've been using OneBusAway much in the last two or three weeks, you've probably noticed a lot more connection errors, Fail Bus sightings, and general downtime. I don't want to waste your time with a ton of excuses... but here they are ; ) The general problem is a combination of:

1) An on-going server upgrade and flakiness in the backup server.
2) More users than we've ever had before, especially a new bump when UW came back in session.

I know #2 is a problem any website would like to have and our traffic is a drop in the bucket compared to what some of you engineers out there deal with on a daily basis. That said, we're getting past the point where a single machine can reasonably handle the load. The new server that should help with the traffic is ready and waiting to be put into action, but I'm unfortunately in NYC for the week, so there may be some more bumps this week.

For the more technically-oriented among you who have been curious after I posted a plea for help, here's my theory about what's going on:

1) Terracotta, which I'm using to share session / state information between multiple Tomcat instances, is crashing after a segfault in the JVM. I'm not sure what's causing the segfault, but the last time I had JVM segfaults, it was due to bad memory in the machine. It's something I will check when I'm back in Seattle.
2) The Terracotta crash causes my Tomcat instances to hang as well. In some cases, the Tomcat instance seemed to spin up a bunch of threads in response to the Terracotta crash, which at up the non-heap memory available to my JVM instances and lead to the thread creation error messages I posted earlier.

Saturday, October 2, 2010

Fall Service Revisions: Specific Issues

A number of agencies have updated their schedules this morning:
I've tried to update OneBusAway to reflect the latest changes, but there are a number of issues you should know about:

King County Metro

1) Currently, trip destination labels are missing from King County Metro routes. There was a typo in the data from KCM that caused the problem, but I'm rerunning the data and should have it up in a few hours.

2) Until the MyBus system is updated, real-time data isn't available for all routes yet. Looks like it's been updated.

3) Real-time data doesn't yet appear to be available for the Rapid Ride A Line to developers yet. Will keep you posted when it becomes available.

Pierce Transit

1) It appears that Pierce Transit's updated schedule data actually goes live on Sunday morning instead of Saturday morning, so there's currently nothing showing up for Pierce Transit routes. Hoping to fix that soon.

Thursday, September 9, 2010

OneBusAway iPhone App Updated

I'm happy to announce that we've released an update to the OneBusAway iPhone application.

What's new?
  • Support for iOS 4 features, including multi-tasking, backgrounding, and high-res icons.
  • Easier map navigation, including automatic refresh when dragging the map
  • Fewer annoying pop-ups, like "No stops found." messages.
  • Extended trip details, including map and list views of the route taken by a particular trip and upcoming stops.
You can grab the app here. Hopefully the update will go smoothly for you, but let us know if you have any issues.

The primary change that might affect how you use the app is the map navigation component. You can still quickly find stops nearby your current location, but you can also drag the map around and stops will automatically refresh in the current map view. The upshot is that you will no longer get annoying "No stops found" pop-ups if there are no stops in your current map view.

One neat new feature is that you can now get more details about a particular trip by selecting it from the arrivals and departures list for a particular stop. You can use the trip details page to see information about the route traveled by a particular trip, including upcoming stops in both map and list form. This feature has often been requested and is super-useful if you want to see where a particular bus is going and when it's going to get there. Additionally, it lays the ground work for a new feature we're working on: stop approach notifications, the current #1 feature request from users. Hopefully more on that sooner rather than later.

Thanks to John Jensen for all his work in making this release happen, and all the beta-testers for their feedback on the app.

We appreciate your feedback, so let us know what you think of the new app.

Monday, August 9, 2010

Community Transit Schedule Data Added to OneBusAway

We're often asked about adding Community Transit to OneBusAway, and the answer has always been the same: CT doesn't have the time or resources to release their data. However, lack of time and resources is the normal state of affairs here at OneBusAway, so we're excited to tell you that we've made some big progress in adding Community Transit to OneBusAway.

We're proud to announce that Community Transit schedule data is now live in OneBusAway.

Behold: Swift, the 101 , and all your favorites.

Now the catch: this is just schedule data and not real-time arrival data. As stated before, CT does not have real-time tracking equipment on their buses and that isn't likely to change in the short-term. In the meantime, we'll see what we can do about getting real-time data for Swift (which does have tracking equipment) into OneBusAway, but the best way to make that happen is to let CT know that this is important to you at riders@commtrans.org.

Either way, we hope that the schedule data will still prove useful.

Special thanks to Joe Julian, whose FOIA request of CT schedule data made this possible, and to Tim for his help hacking and debugging the GTFS.

Tuesday, July 20, 2010

User Accounts and Better Bookmarks

In a previous post, I talked about some new features that would hopefully make life easier for users of the OneBusAway phone and SMS interfaces. Those new features actually launched last month, so I wanted to highlight them again in case you missed it.

So what's new?
  • User accounts: you can now login to OneBusAway
  • Bookmarks: manage your phone and SMS bookmarks from the web
Let's break it down. You've probably noticed the "Settings" link up on the nav bar, where you can currently set your privacy and search settings. We've added Registration and Login buttons where you can login to your account and transfer your settings between computers.

Once you've logged in, you'll notice some additional links on your settings page, including the ability to register a phone number with your account and manage your bookmarks. The best part is that once you've registered your phone number, managing your bookmarks online will also update your bookmarks on your phone and SMS.

The bookmarks feature is neat because it let's you setup bookmarks with:
  • multiple stops
  • custom bookmark names
  • route filters
This can be especially useful for the phone and SMS interfaces, where space and bandwidth are tight and you really want to limit the information you see from OneBusAway.

Does all this sound cool? Give a shot and let me know how it works. Thanks!

Monday, July 19, 2010

We want your feedback!

We're always looking for ways to improve OneBusAway. To make giving your feedback easier, we've launched an IdeaScale feedback site:


You can go there to submit new ideas and features and vote for the ones that are most important to you. We will use ideas submitted at the feedback site to help guide future development for OneBusAway.

It's also important to understand that we take more than just votes into account when picking our next task. We'll balance the popularity of a suggestion along with the time it will take to implement and the value impact of the feature. We practice Value Sensitive Design, which means we try to consider the human value impact of any new feature we add to OneBusAway. We consider values a variety of values when evaluating a new feature:
  • rider efficiency
  • community
  • trust
  • privacy
  • dignity
  • safety
  • efficacy/accessibility/self-reliance
  • indirect stakeholder values (ex. driver safety)
New technology doesn't always benefit everyone equally, so we want to do our best to look at new features in a principled way.

Wednesday, May 19, 2010

Adding Community Transit to OneBusAway

We are often asked when we'll be adding Community Transit (CT) to OneBusAway. The answer is a little complex:

CT doesn't currently have GPS on their buses. They are piloting a project hopefully starting sometime in 2010 or 2011 to start adding tracking capabilities to their fleet. So, it could well be years before the fleet has tracking capabilities. Therefore, there won't be real-time tracking for CT, in OneBusAway or otherwise, in the near future.

It is possible for us to add CT's static schedule data to OneBusAway. You wouldn't know if the bus was late or early, but you would be able to see the scheduled arrivals by stop in the OneBusAway format that you are used to. However, given the current budget constraints, CT has had significant IT cuts and is strapped for time to add new endeavours to their plate.

That said, if you'd like to see static schedule data for CT in OneBusAway, the best bet is to send CT an e-mail to let them know that this is a priority for you at riders@commtrans.org.

Are there other agencies you would like to see added to OneBusAway? We can't make any promises yet, but let us know and we'll add them to the list to start looking into.

Tuesday, May 18, 2010

The Bleeding Edge: Help Test New Features

I've been hard at work on some new features that will hopefully make life easier for users of the OneBusAway phone and SMS interfaces, along with laying the foundation for some exciting new features to come.

But before I tell you exactly what's new, I'll warn you that the new features are beta enough that they can't be found on the main OneBusAway website, phone-number, or SMS interface. I'm looking for people to try out the new features and find the bugs before we go live for everyone. If you are feeling brave, read on for more info.

So what's new?
  • User accounts: you can now login to OneBusAway
  • Bookmarks: manage your phone and SMS bookmarks from the web
Let's break it down. You've probably noticed the "Settings" link up on the nav bar, where you can currently set your privacy and search settings. We've added Registration and Login buttons where you can login to your account and transfer your settings between computers.

Once you've logged in, you'll notice some additional links on your settings page, including the ability to register a phone number with your account and manage your bookmarks. The best part is that once you've registered your phone number, managing your bookmarks online will also update your bookmarks on your phone and SMS.

The bookmarks feature is neat because it let's you setup bookmarks with:
  • multiple stops
  • custom bookmark names
  • route filters
This can be especially useful for the phone and SMS interfaces, where space and bandwidth are tight and you really want to limit the information you see from OneBusAway.

Sound cool? Want to try it out? Great! The trick is to use the following:
  • Instead of onebusaway.org, use http://soak.onebusaway.org/
  • Instead of calling 206-456-0609, call 253-802-0126
  • Instead of texting with keyword "onebus", use keyword "twobus"
Give a shot and let me know what you think by emailing contact@onebusaway.org. Thanks!

Monday, April 26, 2010

OneBusAway in the News

OneBusAway has been mentioned a couple of times around the web recently:
And as a bonus, here is a cool visualization of OneBusAway usage over the course of the day for the iPhone app. Every time someone requests information for a particular stop, we flash a dot at that location. Watch how things explode for the morning rush-hour:

Friday, April 16, 2010

Help Others Help OneBusAway

Some fellow grad students here at the University of Washington are doing some research into how we here at OneBusAway handle feedback, suggestions, and other requests from you, our users. They've got a quick survey you can take to help them with their project.

As a grad student myself, I encourage you to take the survey : )

Monday, April 12, 2010

OneBusAway is a finalist for Best Nonprofit Startup in Seattle 2.0 Awards

We're honored to announce that OneBusAway is a finalist for Best Nonprofit Startup in the Seattle 2.0 Awards. But to take home the award, we need your vote! Take a moment and vote for us now:

Wednesday, March 24, 2010

New Features You Might Have Missed

In addition to many of the big changes to OneBusAway from last weekend, there were a couple of small new features that I wanted to mention that will hopefully make OneBusAway work even better for you:

Arrival Alerts

I have a common problem where I check my stop from my computer, see it's coming in 10 minutes, and figure "Oh I've got five minutes to check my email before I need to leave." I then proceed to get distracted and forget to check again until the bus is almost here and I end up sprinting to the stop. It's a vicious cycle.

To help break the cycle, we've introduced simple arrival alerts. To activate an alert, browse to your stop page as you normally would (note that this feature only works in OneBusAway's standard web interface):

Arrival Alerts - How to Access

Click on the minutes-until-arrival for a particular trip and you'll bring up an arrivals alert page for that trip:

Arrival Alerts

You can set an alert to go off a certain number of minutes before the bus is predicted to arrive, either playing a sound or popping up an alert. Just leave the browser window open in the background while you user your computer, and you'll get an alert when it's time to go catch your bus.

Multi-Stop Views and Route Filtering

For some riders, there is often more than one bus that can get you to your destination. If the buses pick up at different stops, you can check each stop individually in OneBusAway to see which bus is coming next, but wouldn't it be nice to see both stops in one combined view with just the routes you care about? Now you can.

If you click on the new "See multiple stops and filter routes" button at the bottom of any standard web interface real-time arrival stop page, you'll bring up a screen where you can select multiple stops and filter which routes you'd like to see:

Stop and Route Selection

You can add and remove stops and pick just the routes you want to see. This can be particularly useful for busy stops that have lots of routes where you only care about one or two. When you have everything the way you like it, click "Click to view your custom stop view" and you'll be taken to a customized stop view that you can bookmark for easy access in the future.

SMS Bookmarks

Users of the OneBusAway phone system have long had the ability to bookmark stops for quicker access in the future. We've now added that feature to the SMS interface as well. This means you don't have to remember long stop numbers any more. Also note that these bookmarks are synced with your phone bookmarks as well.

For more details, check out the SMS page.

That's All for Now

We hope you find these new features useful. As always, let us know if you run into any issues.

Saturday, March 20, 2010

Big Changes to OneBusAway: Pierce Transit Routes Now Included

I'm happy (and a little scared) to announce some not-so-minor changes to OneBusAway. Happy because those changes finally bring real multi-agency support to OneBusAway, including real-time data for Pierce Transit. It's been almost a year since my first meeting with PT to discuss the possibility of adding their routes to OneBusAway and through a lot of work on both sides, it's finally come to be.

I'm also a little scared because multi-agency support means a new codebase (and new bugs) along with some subtle changes in how you interact with OneBusAway. The biggest change is that since there are no longer just King County routes in OneBusAway, some things are not so simple. When you search for "route #1", did you mean the one for King County Metro or for Pierce Transit or possibly for some other agency we add in the future? Most of the changes deal with making sure you get information tailored to your needs.

What kind of specific changes am I talking about?

If you are using the iPhone or Android app, the good news is that there are no changes at all. These apps were designed with multi-agency support from the start. You should just start seeing Pierce Transit stops and routes showing up in your searches.

If you are using any of the web interfaces (standard, mobile, or text-only), there are two big changes:
  1. The form of stop urls have slightly changed because stop ids now have an agency prefix. We will automatically detect the old style of url and redirect you to the appropriate new url with a quick message explaining that you should update your bookmarks.
  2. We remember a default search area for each user. Similar to how Google Maps remembers your default search location, we remember your search area and return routes and stops appropriate to you when you perform a search. We chose to go with a default search location, as opposed to a default transit agency, since most of the local agencies have overlapping service coverage and many users ride routes from multiple agencies over the course of a day.
The phone and SMS interfaces have been similarly changed to support a default search location. The first time you use the system, you will be prompted to enter your zip code so that we can provide results appropriate to your area.

The default search location is tied to a new user preferences system that will be the basis for a number of interesting new features for OneBusAway. In the future, I'm hoping to have synchronized stop bookmarks and route preferences across all the OneBusAway interfaces, as well as customized notifications and alerts.

Of course, I understand that some users may not be comfortable with OneBusAway storing personal preferences like their default search locations. As such, I've made it easy to reset your preferences or to opt out completely if you wish. OneBusAway will work just the same; you may just have to provide a little more information when doing searches for new routes and stops in the future.

All in all, these are some major changes to the site. If you run into any issues with the transition, definitely let us know. We are committed to making it easier to take public transit and we think the new features we're providing will help with that goal.

Thanks again to all the staff at Pierce Transit who were involved in making their schedule and real-time information available.

Monday, March 8, 2010

Best Week Ever

Last week was a good week for OneBusAway. Let me tell you all about it:

First, we launched a redesign of the website. Though I make no claims to a glowing future in web design, I hope you'd agree that it's an improvement. At minimum, it makes it easier for us to highlight our ever-growing list of tools.

New Design for OneBusAway

We also found out last week that our research paper "OneBusAway: Results from Providing Real-Time Arrival Information for Public Transit", to appear at CHI 2010 in Atlanta, was a best paper award nominee (given to the top 5% of submissions). There is hope that I may graduate after all! Check out the paper at our research page.

In other research news, we also learned that we're going to be receiving a number of Android phones from Google that we plan of using for a big user-study we're working on for this summer in the Rainier Valley under the guidance of Transportation Choices Coalition. More on that later.

Finally, I'm happy to announce that OneBusAway was a winner at the annual Washington Technology Industry Association awards, where we took home the prize for "Best Use of Technology in the Government, Non-Profit, or Educational Sector". More details can be found at the WTIA's website.

WTIA Winner

All told, it was a busy week for OneBusAway (and I'm not even counting the hours spent hacking preparation for what's coming this week). Thanks to all our users for making us such a success!

Tuesday, February 9, 2010

In Defense of MyBus

In a post on Sunday, I attempted to explain why OneBusAway service had been spotty ever since the King County Metro services changes on Saturday, February 6th. That explanation put a lot of the blame on the MyBus service, which provides the AVL feed used by OneBusAway. One of the MyBus maintainers took serious exception with me placing all the blame on them, and rightly so.

MyBus started as a research project at UW over a decade ago by EE Professor Dan Dailey. Dan and a couple of his associates have been keeping MyBus running ever since on their own time without any compensation and without much thanks. Without their work, we wouldn't have any real-time tracking information for King County buses and we wouldn't have tools like OneBusAway. I'm grateful for their work and I apologize for suggesting that they care any less about improving public transit for King County riders.

My bigger issue is that tools like MyBus and OneBusAway are increasingly services that King County transit riders depend on every day to use the bus. When OneBusAway has issues, I hear about it. Heck, I'm a OneBusAway user myself. When OneBusAway is down, I barely remember how to get home. [Also my wife hassles me]

One of the points I was trying to make in my original post is that Metro has an internal AVL feed that is (in my understanding) very similar to the one maintained by MyBus, with the exception that they have staff paid to keep it up to date with the latest schedule data. If that data was exposed to developers like me, there would be less downtime for users of systems like OneBusAway. Of course, Metro has their own reasons for not exposing the feed, one of which is that they have limited resources themselves.

Nobody is getting rich providing real-time arrival information for King County buses, but a lot of riders are finding it much easier to ride the bus when we do. As long as that's the case, I'll keep fighting to provide services like OneBusAway and I appreciate the efforts of the MyBus staff and staff at King County Metro who help make it all possible.

Monday, February 8, 2010

SeattleBusBot is now the Official Android Client of OneBusAway

I'm proud to announce that OneBusAway now has an official Android client. SeattleBusBot, a native Android client for OneBusAway, is becoming the official Android client for OneBusAway. You can find the app by searching for "OneBusAway" in the Android Marketplace.

SeattleBusBot is now OneBusAway

SeattleBusBot was written by local Seattle developer Paul Watts. The app combines a lot of the same features found in the OneBusAway native iPhone app, but has some new bells and whistles too, such as bus arrival alarms and route bookmarking. And just like OneBusAway, the app is open source too.

What do these changes mean? Paul will still be the lead developer on the Android app, but he'll be rebranding it as OneBusAway over the next few weeks. I'll be doing more to publicize the app to OneBusAway users with Android phones. Finally, we're hoping that by combing our resources, we can do an even better job of providing King County riders with great tools that make it easier to use public transit.

Sunday, February 7, 2010

Why Real-Time Tracking is Always Broken After Service Changes

If you've been using OneBusAway this weekend, you've probably been noticing a lot of "scheduled arrivals". That is, buses that don't have any real-time tracking data available, meaning the best we can do is to show you when the bus is scheduled to arrive. What gives?

You've probably also heard about King County Metro's service changes, which went active on Saturday, February 6th. When big service changes like these go into effect, a lot of the underlying schedule data changes, which means systems like King County's own Tracker and Trip Planner, as well as OneBusAway, need updating. I pushed all my changes on Saturday morning, so most of you shouldn't have noticed any out-of-date data.

Unfortunately, my source for real-time arrival information, the http://mybus.org/ data feed, still hasn't been updated. How can you tell? Compare real-time arrival information for the 44 between MyBus and King County's own tracker:

As of 12:30 pm on Sunday, Feb 7th, lots of "No infos" from MyBus and plenty of real-time info from King County. The fact that MyBus still thinks there is a route 194 is another clue.

In the meantime, OneBusAway is left in the lurch waiting for MyBus to be updated. Of course, King County Metro has already updated their internal tracker feed, but thus far, I haven't been able to convince the powers that be at Metro to give me access.

Either way, my apologies for the disruption in service. Hopefully, when you catch the bus to that Super Bowl party this afternoon, you'll have nothing but on-time arrivals.

Friday, January 22, 2010

We Win Awards

Or at least, we are nominated for awards. It was announced last week that OneBusAway is a finalist in the Washington Technology Industry Associations (WTIA) Industry Achievement Awards. We've been nominated in the category of "Best Use of Technology in the Government, Non-profit, or Educational Sector". We are honored that we've even been included amongst the distinguished set of finalists and we're keeping our fingers crossed for when the winner is announced on March 4th.

Washington Technology Industry Achievement Awards Finalist

In other news, OneBusAway was also included in Seattle Magazine's Best of 2009 list. In a funny contrast to our WTIA categorization of govt-non-profit-and-ed, we were actually included in the Shopping and Style section (look towards the end of the article) as one of the best local iPhone apps. The best part about the award is that we get a cool window decal, just like you see in the window of your favorite local restaurant. Except we don't have a window! I'm thinking of sneaking it onto the doors of the UW CSE building... don't tell anyone.

Seattle Magazine Best of 2009

We Do Research

You may have noticed a new "Research" link up at the top of the OneBusAway. I'm actually a grad student at the University of Washington working on a Ph.D. in Computer Science and Engineering. Working on a Ph.D. means doing research and while OneBusAway is first and foremost about helping out bus riders like you and me, it also supports a number of interesting research efforts here at UW.

This was not always the case. When I look back to a year ago, I was working on OneBusAway as a personal side project and worrying about getting kicked out of grad school for spending too much time hacking on OneBusAway. That's why it's so remarkable that we now have a number of papers published on various aspects of OneBusAway and I'm making solid progress towards graduation (though I still worry about getting kicked out of grad school for spending too much time hacking on OneBusAway). You can check out all our work on our research page:


My colleagues at UW working directly on OneBusAway include Kari Watkins, a Ph.D. student in Civil and Environmental Engineering, and Alan Borning, one of my advisors in Computer Science and Engineering.

What kind of research do we do? Kari's work falls into the area of transportation research, while mine is generally in the area of Human-Computer Interaction (HCI). I'm most excited about our latest paper, which has been accepted at CHI 2010, a competitive HCI conference. The paper reports on some survey work we did of OneBusAway users. You might be one of the 480+ respondents who took a survey last August asking about how you used OneBusAway and how your perceptions and usage of transit had changed as result of using OneBusAway.

If you are a dedicated user of OneBusAway, the results probably come as no surprise: users of OneBusAway showed a number of positive changes. For example, 92% of users reported an increase in overall satisfaction as result of using public transit.

Chart - Change In Satisfaction with Public Transit

What's more, users of OneBusAway reported using public transit more frequently and spending less time waiting for public transit. Users of OneBusAway also reported an increase in feelings of safety and even reported walking more.

The safety result is interesting, as real-time tools like OneBusAway support riders who might need to make a decision about waiting for a bus late at night in a sketchy area. The result about walking was unexpected, and we did some further surveys to figure out why users were walking more. Users reported that OneBusAway allowed them more flexibility in deciding when to walk to a different stop without worrying about missing a bus that might be just around the corner. Some users walked to find a faster route home and others for exercise, among various reasons given.

Our results join a growing body of work that support the value of real-time transit information to riders. However, our results come with the regular caveats of self-report bias in the survey results and lack of control group. That's while our next project is focused on using instrumented smart-phones to create a very accurate picture of how selected study participants are using public transit. What is the exact tipping point between when someone gets in a car vs when they take a bus vs when they walk to their destination? We hope to help answer that question.

I consider myself lucky as a grad student that I've found a research project that is not only leading to a publication or two, but is also immediately useful to my community. Now all I need to do is graduate at some point!

Saturday, January 9, 2010

Changes to data from King County Metro

One of the other big changes in the last week is the move to a new data source for King County Metro. Traditionally, schedule data has only been available as a raw database dump from KCM's scheduling system. In the transit hacking world, the Google Transit Feed Spec (GTFS) is pretty much the ad-hoc standard for exchanging schedule data. GTFS is the format internally used by OneBusAway and I wrote a converter for KCM's custom data to get it into GTFS.

KCM, hoping to encourage developers to work with their data, held a developer workshop last October where they announced the availability of their own GTFS feed. While the feed is a big improvement, it still has a number of issues (holiday scheduling errors, route label errors) that I got a chance to work on over the winter break.

The upshot is that OneBusAway is now using KCM's GTFS feed with some custom modifications. The modifications include better stop names, fixes for interlined routes downtown and at UW, and finally correct holiday scheduling information.

Let me repeat that: we've got a fix for the interlined routes issue. This has been a major problem with KCM's data in OneBusAway since day one. To quickly summarize, a number of downtown Seattle routes enter downtown as one route and leave as another. The tricky part is where they make the switch. Most routes in practice switch right before they enter downtown. Unfortunately, KCM's schedule database often showed the switch happening well into downtown. The upshot is that many people would check OneBusAway for a particular route and not see it because it was mislabeled in the system. For example, as a Ballard resident, I'd often check for a route 15 or 18 from Pioneer Square, but see route 21 and 56 instead. This affected a ton of routes:

1 => 36, 10 => 12, 11 => 125, 12 => 10, 124 => 26, 124 => 28, 125 => 11, 13 => 2, 13 => 3, 13 => 4, 131 => 24, 132 => 19, 132 => 24, 15 => 21, 15 => 22, 15 => 56, 15 => 57, 17 => 27, 18 => 21, 18 => 22, 18 => 56, 18 => 57, 19 => 132, 2 => 13, 2 => 3, 21 => 15, 21 => 18, 22 => 15, 22 => 18, 222 => 233, 23 => 28, 233 => 222, 236 => 238, 24 => 131, 24 => 132, 249 => 921, 26 => 124, 27 => 17, 28 => 23, 3 => 13, 3 => 4, 33 => 39, 39 => 33, 4 => 13, 4 => 3, 43 => 44, 49 => 7, 5 => 54, 5 => 55, 54 => 5, 55 => 5, 56 => 15, 56 => 18, 65 => 67, 68 => 31, 7 => 49, 921 => 249

Through some additional data made available by KCM and through data collected on our own, we've written a tool to fix KCM's schedule data to fix the interlined routes issue.

That said, even though the feed comes with a ton of fixes, there are also some issues with the data. For example, I've gotten a couple of reports of bad data for the 255 headed to Kinsgate. If you notice anything, definitely let us know.

Changes to the OneBusAway iPhone App

It's been a busy couple of weeks for OneBusAway. There have been a number of changes, both major and minor, that hopefully improve the usefulness of OneBusAway. In this post I'm going to talk specifically about changes to the OneBusAway iPhone application.

In late December, the OneBusAway iPhone app 1.0.1 update went live in the app store. This was primarily a bug fix release. First and foremost was a work-around for some bugs in Apple's CoreData database libraries that was causing random crashes of the app. The bug was a bear to track down, but based on crash-report data I'm getting from Apple, it seems to have done the trick.

In addition to the bug fixes, there were a few minor UI tweaks. For example, when we don't have arrival prediction data for a bus (listed as "scheduled arrival" in the UI), we also change the color to black to make it more obvious. See Link light-rail in the following figure, for example:


In addition, we made some changes to stop icons that no one probably should have noticed until about 10 minutes ago. See if you can spot the change:


That's right, you're seeing light-rail and heavy-rail icons! What changed?

The big change is that after six-month of hacking, we're now running OneBusAway with multi-agency support! To kick things off, we've added a lot of additional Sound Transit data. That means, for example, that you can see the Sounder schedule using the OneBusAway iPhone app:


More new agencies are hopefully coming soon (Pierce Transit for starters), but we wanted to start small to make sure there were no major bugs. Note that the additional Sound Transit data is only active in the iPhone app (and any other apps that use the OneBusAway API). We're working to get it live on the main website soon.

Though we've done our best to make these changes seamless, there's always the chance for bugs. If you notice anything weird or have any problems, be sure to let us know. In the meantime, thanks for using OneBusAway!