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.

18 comments:

SeattleBrad said...

Congrats on all of your hard work. I do have one important bug. My favorite thing was showing multiple stops on one page, and they don't work with the new redirect. I think it's because it's using & instead of just &.

Also, I have a whole page of shortcuts on my iPhone that I now need to update. I bet many people do. I wish it would just be backward compatible with the old format: if the stop doesn't have a prefix, just assume it's Seattle. Seems like a simple code fix would save a lot of work for your users. Thanks.

Weekilter said...

OneBusAway is the best! I used to use KC Metro's trip planner but OBA works so much better.

lee p. said...

So is there no longer any way to differentiate between express and local routes?

I haven't completely fiddled with all my bookmarks yet, but it looks like express routes have just been rolled into the non-express routes in terms of the route value in the URL.

Or am I just missing something?

Mark said...

Good on ya! Just letting you know I love the site. You provide a great service. King County site has always blown and throw in the two competing agencies it was awful.

lee p. said...

Yup, it looks like at least in the text version you can't look at just local routes.

For example, previously I could do:

http://onebusaway.org/where/text/stop.action?id=578&route=26&route=28

The above would exclude the Express versions of those buses which run during rush hour.

Now though the above basically becomes:
http://onebusaway.org/where/text/stop.action?id=1_578&route=1_26&route=1_28

This shows local and express. A bit messier since I'll have to look a bit closer at the data and ignore half of it.

Do to the iPhone/Android apps allow the viewing of just local or express versions of a route?

Michael Hoffman said...

Was it really necessary to break all the existing links? I have a lot of them bookmarked, it's a bit of a hassle to change them all, and I can't see the point. Having stop 600 automatically redirect to 1_600 instead would be a lot nicer.

"Cool URIs don't change"

http://www.w3.org/Provider/Style/URI

Brian Ferris said...

@Michael

I spent a lot of time debating the URL change. I think supporting the original URL scheme was going to end up being problematic, especially as it's not always a simple mapping from 600 to 1_600, especially when you toss route filters into the mix. It also gave me a chance to let people know that the site was undergoing some subtle usability changes (see notes about default search location).

Chris Karnes said...

Thank you so much! A number of PT's routes have atrocious on time performance. It's great that real time information is now built in to OneBusAway.

I wonder how PT will be integrating this into their customer information strategy in the coming years.

Brian Ferris said...

@lee:

It's true that the route filtering currently doesn't let you pick between express vs non-express. I'm trying to figure out the best way of dealing with this since different agencies represent the concept of an express in different ways and I'm trying to come up with a common solution.

Hoby said...

I'm glad that the new URL is still bookmarkable with a simple number underscore. I just updated my page of them.

Aleks said...

@Brian:

I use the desktop version OBA both at work and at home, and so I have different home stops for each.

You said that you're eventually going to offer synchronized bookmarks on different interfaces. That's really cool! But, if/when you do this, can you make sure that you avoid synchronizing the home stop?

Thanks, and keep up the great work!

Chris said...

Very appreciative of your hard work, top notch.

When using the mobile app I've noticed that when I search by route it tells me Error Loading Page. I'm assuming something to do with the new URLs?

Brian Ferris said...

@Chris:

Which interface are you using? Which route number?

Chris said...

I'm using a touch pro 2 and any route I type in comes up with the same error, the 48 for instance.

Chris said...

Sorry, using the iphone app on a touch pro 2.

Brian Ferris said...

@Chris

Can you drop me an email at contact@onebusaway.org? We can try to figure out what's going on.

Maggie said...

LOVE One Bus Away! Keep up the great work.

PaulMorgan said...

This looks great. Is there any hope for Community Transit support?