OneBusAway for Alexa gets personal

Sean Barbeau
3 min readDec 5, 2019

You’re rushing out the door, hoping you didn’t miss the 8am Route 5 to work.

Should you sprint to your stop? To find out, you ask OneBusAway for help, frantically yelling:

“Alexa, where’s my bus?”

Alexa responds with times for bunch of routes — but not Route 5. Argh 😠!! Your roommate has struck again. They changed the default stop for a night out on the town, and forgot to change it back.

Fear not, brave transit riders — this problem is soon to be one of the past!

Personalized profiles

The OneBusAway skill for Alexa now supports personalized voice profiles! Now, each user in your household can save their own stops and route filters, and when you ask:

“Alexa, where’s my bus?”

…you’ll magically hear your own personalized real-time transit information for work each morning, no matter what your roommate did last night.

If you choose not to use Alexa voice profiles, nothing changes for you. If you do, read on to find out how to use personalized profiles.

Try it out

First, make sure you have the OneBusAway Alexa skill enabled. You can enable it by saying “Alexa, enable OneBusAway”, or by clicking on the “Enable” button in the skill listing.

Next, you’ll need to set up a voice profile for Alexa. You can start this process by saying “Alexa, learn my voice.”

Then, just open the OneBusAway skill — for example:

Alexa, open OneBusAway

The first time the OneBusAway skill starts up after you’ve configured a voice profile it will ask if you’d like to use your existing settings (saved stop, route filters, etc.) for your new profile. Simply say “Yes” to copy these over.

Finally, just use OneBusAway like normal:

“Alexa, where’s my bus?”

OneBusAway will always respond with:

Hi <your name>, …

…when it’s using your voice profile. If Alexa can’t recognize your voice, you’ll get information for the default profile for the device (and your name won’t be included).

Currently supported OneBusAway regions include Rogue Valley, San Diego, Seattle/Tacoma/Puget Sound, Spokane, Tampa Bay, Washington, D.C., and York Region (Canada). If your city isn’t supported, read on below…

Open-source is awesome…

OneBusAway is an open-source project maintained by the non-profit Open Transit Software Foundation (OTSF). The OneBusAway Android, iOS, and Alexa apps are primarily maintained by volunteers, while transit agencies set up an open-source OneBusAway server with their open transit data to make the OneBusAway apps available to transit riders in their region. So if your city isn’t supported, please reach out to your transit agency and ask them to set up OneBusAway! Some regions like San Diego have largely set up and maintained the server themselves, while others like Tampa have contracted with consultants to help with this. If you have questions, you can always reach out to the onebusaway-developers Google Group or Slack.

…and it leads to cool things!

Because OneBusAway is open-source, it allows innovators and contributors to add features that might not otherwise be funded by transit agencies directly. Personalized profiles in the OneBusAway Alexa skill is one example of this! A big thanks to Amazon for contributing much of the code to update the OneBusAway skill to the Alexa Java SDK v2 and implement personalized profiles.

If you’re a developer and you’d like to learn how to personalize an Alexa skill, check out the code on GitHub. And, help is always welcome if you’d like to pitch in to fix bugs or implement new features!

Finally, if you’d like to support OneBusAway and OTSF, please visit https://opentsf.org/donate/.

Happy transit riding! 🚌 🚋 🚆 🚡

--

--