Monday, November 30, 2009

OneBusAway Winter of Code 2009

OneBusAway is open-source software. One of the reasons that I went the open-source route was to give the community the opportunity to help improve OBA themselves. When we notice something annoying with the tools provided by our local transit agencies, there is often not much we can do to fix them, except send an email and wait. However, with open-source tools, we can pull up our sleeves and fix what bugs us directly.

And it works. I've accepted patches from fellow developers that have extended and improved the functionality of OneBusAway in interesting ways. However, as the OneBusAway code-base gets more complex, it can be a little intimidating for new developers to join in. Where should they start?

In order to address this issue and get more people involved in OneBusAway development, we're announcing the OneBusAway Winter of Code 2009. Similar to the Google Summer of Code, we've identified a number of tasks, both large and small, to get developers started with hacking on OneBusAway.

Here's a chance to put your code hacking skills to use for the good of the community: by helping improve the usability of public transit.

If you are interested, you can find more details here:

http://code.google.com/p/onebusaway/wiki/WinterOfCode2009

The sign-up deadline is Wednesday of next week, December 9th.

If you've ever been frustrated waiting for the bus, here's your chance to make a difference.

Wednesday, September 23, 2009

For Those of You Without iPhones

First off: to those of you with iPhones, thanks for downloading the app and for all the great reviews. We've had over 2,700 downloads in the first week and a ton of 5-star reviews. Thanks for all the support!

Now, for those of you without iPhones: I've gotten a number of comments from people asking me when the Android, Blackberry, Windows Mobile, Pre, Nokia, etc version of the OneBusAway app is going to launch. While I would love to write native apps for all these platforms, the reality is that there just aren't enough hours in the day for me to make it happen. While some other developers ARE working on native apps for various other platforms (see a list here), I'm going to be taking a different approach that should hopefully be useful for a larger number of platforms.

Specifically, I'm writing a smarter, mobile-optimized web-app that should have most of the same features as the native iPhone app (maps, geolocation, bookmarking, filtering, better search, etc) but run in a web browser. The real key here is that enough mobile browsers are finally starting to support geolocation (GPS, etc) within the browser (see this list of supported platforms), meaning we don't have to write a mobile app for each device.

While a mobile web-app will never be quite as polished as a native app, I think the experience should still be pretty good. Plus, it's much easier for me to quickly add features to a web app that everyone can enjoy without a two-week wait for even simple updates to the iPhone native app.

Now, normally I prefer not announcing a new feature until I've actually written it, but I'm spilling the beans because I've committed to having a demo ready for a late October conference deadline, so I might as well commit to the rest of you as well ; )

Any comments? Feedback?

Service Revision Bugs

A number of you have let me know of various bugs in the data from the latest service revision (route 174 should be removed, misnamed stops, bad schedules, etc). However, the biggest issue by far is that real-time arrival data is missing for a number of routes and trips (some 12+% of trips are affected) .

The problem is that AVL data from King County Metro and schedule data from King County Metro are currently mismatched for a number of routes. I've been in talks with KCM and I'm hoping to get the issue resolved on their end ASAP. In the meantime, I'm going to try to hack together a temporary work-around to be put in place later tonight.

Specific routes that are probably affected:

1, 2, 5, 7, 13, 14, 15, 17, 18, 21, 22, 23, 25, 26, 27, 28, 36, 37, 42, 49, 54, 55, 76, 77, 106, 118, 119, 124, 174, 984, 994, 995

Sorry for inconvenience. Be glad this only happens three times a year!

Thursday, September 17, 2009

King County Metro September Service Revisions

I just pushed the King County Metro September service revisions to OneBusAway. This should hopefully bring everything up to date for the changeover this weekend and fix a few bugs people have found in the current schedule.

However, I've already noticed some new bugs with the new schedule data. If you find any of your own, please let us know.

I'd also point out that Link Light Rail schedule data was included with the update. Metro calls it the 599, so be on the lookout. You can look at the full route here. Sadly, I don't yet have real-time arrival data for Link (bu I am working on it!), so you'll have to settle for static schedule data for now. I'm curious how the schedule matches up with actual train operation. If you are able to compare, please let me know what you find.

P.S. Note that the iPhone app isn't using the new schedule data yet, but I will push the update to that tomorrow night.

Tuesday, September 15, 2009

OneBusAway Native iPhone App

I'm very excited to announce that the OneBusAway native iPhone app has been accepted by the Apple iTunes App Store!

Goto the Apple iTunes Store to download the app

Features include:
  • Real-time arrival arrival information for public transit.
  • Map display of stops and routes.
  • Nearby stops search for location-aware devices.
  • Bookmarks and recent stop history.
  • Search for stops by route, address, and stop number.
  • Did I mention that the app is FREE?
It's everything you love about OneBusAway and your iPhone in one happy package. I've been using the app for a month or two now and I think it has really made transit that much easier to use.

I wanted to take this opportunity to thank all the beta-testers who tried out that app and provided feedback. Special thanks to John Jensen for his contributions to the app and my advisers at UW for not kicking me out of school for working on OneBusAway ; )

You can find more details about the application at our app support page:

http://onebusaway.org/where/iphone.html

If you have any issues with the app, definitely let us know.

The app is also open-source. Want a new feature added? Take charge and write it yourself. Check out the project page for more details:

http://code.google.com/p/onebusaway-iphone/

Wednesday, August 19, 2009

OneBusAway Survey

Help us understand how you use OneBusAway. Take a quick survey for a chance to win an iTunes gift certificate.

Take the Survey

Wednesday, June 3, 2009

New Feature: Simple Arrival Notification - Looking for Feedback

A common usage scenario for OneBusAway is sitting at your computer, trying to decide when you need to leave to catch the bus. Checking the OBA page for your stop gives you a good idea of when your bus will arrive. However, things get tricky if you check too far ahead of time. The predicted arrival time can change while you are waiting and, unless you are glued to the OBA stop page, you might miss the important fact that a bus that was running 5 minutes late a while ago is now back on schedule. Time to run for the bus!

To help with this situation, we've added a simple notification service to OneBusAway and we're looking for your feedback. The new feature isn't live on the main site yet, but you can try it out at:

http://alpha.onebusaway.org/

Specifically, you'll notice the OBA stop page has changed (click for a larger version):

Real-Time Arrival With Alarm Notification

There is now an alarm-clock icon next to each arriving bus. Click on it to get a notification alarm screen (click for a larger version):

Real-Time Arrival With Alarm Notification

The interface is pretty simple. Tell us how many minutes before the arrival of your bus that you want to be notified and specify either a sound or a popup alarm. So that you don't have to change these values every time you use the tool, you can save your settings for specific stops or set defaults for all stops. Just leave the window open in the background and it will periodically check on the predited arrival of your bus and notify you when the time is right.

And that's it. The notification is nothing fancy, but it's enough to grab your attention if you are easily distracted on the Internet (like me) and forget to check on the status of your bus.

As I mentioned, I'm looking for people to try out the feature and give me feedback before I push the feature to the main site. Comments on this blog entry, over email (bdferris@onebusaway.org) or through Twitter (@onebusaway) are much appreciated.

Note that we are working on fancier notifications like SMS, IM, email, Tweets, iPhone Push, etc but that it's not at the top of the work queue at the moment. If you want to vote for your favorite notification method, feel free to vote in the comments.