Post on 12-Jan-2016
OneBusAway:Improving the Usability of Public Transit
Brian FerrisUniversity of Washington
Design Use Build – University of Washington
University of Washington
Why am I “here”?
To tell you about my work on OneBusAway
To provide an iPhone developer perspective
University of Washington
Motivations
The goal of OneBusAway is to help provide a better experience for transit riders, and to encourage more people to use public transit.
Focus on: Real-time arrival information Innovative technical solutions Usability Free as in speech and beer
University of Washington
University of Washington
University of Washington
We’ve Got You Covered
University of Washington
Usage Statistics
On a weekly basis: 40k unique users Web: 15,000 iPhone and Android: 25,000 Phone: 2,000 SMS: 800
More traffic than transit agency’s own tools
University of Washington
iPhone App Access over 24 hrs
University of Washington
Awards
Washington Technology Industry Association - 2010 Industry Achievement Awards Best Use of Technology in the Government, Non-Profit,
or Educational Sector Seattle 2.0 Startup Awards
Best Non-profit Startup – Nominated Seattle Magazine – Best of Seattle 2009
Best Local iPhone App Seattle Weekly – Best of the Web 2010
Best Local iPhone App - Nominated
University of Washington
How is OneBusAway changing user perceptions and behavior with respect to public transit?
We surveyed 488 OneBusAway user to find out.
Impacts of OneBusAway
University of Washington
Change in Satisfaction
“I no longer sit with pitted stomach wondering where is the bus. It's less stressful simply knowing it's nine minutes away, or whatever the case.”
University of Washington
Change in Usage
“While my work usage was pretty much on a fixed schedule, OneBusAway has made impromptu trips much more convenient.”
University of Washington
Personal Safety
18% of respondents reported feeling somewhat safer and 3% reported feeling much safer.
Safety was correlated with gender
“Having the ability to know when my bus will arrive helps me decide whether or not to stay at a bus stop that I may feel a little sketchy about or move on to a different one. Or even, stay inside of a building until the bus does arrive.”
University of Washington
Open Transit Data!
What makes this possible?
University of Washington
Open Transit Data
OneBusAway inspired by trips to Portland “Why can’t we have that here in Seattle?”
Transit agencies publish their transit data (GTFS) Developer ecosystems in the Portland, Bay
Area, Chicago, NYC, Boston, beyond
Different names: #opengov, #gov20, #opendata
One result: innovative apps that help the public
University of Washington
Government as a platform
“Why should I rely on 3rd-party developers to provide essential tools to my riders?”
Developing or procuring tools like these yourself can be expensive, time-consuming, and outside the tech comfort zone of many agencies.
The public can do it cheaper, faster, and better
Why reinvent (and re-pay for) the wheel?
University of Washington
Case Study: NYC MTA
MTA has made multiple attempts to deliver real-time bus info
34th Street Pilot: $140M estimate to extend citywide
Looking for cheaper solution
University of Washington
OneBusAway + OpenPlans + MTA OneBusAway, in
partnership with OpenPlans and MTA
Open-source vehicle tracking solution
Using open standards: GTFS + SIRI
SIRI API
SIRI API
aasdf
Real-time Module
University of Washington
An iPhone Development Perspective
The OneBusAway iPhone App
University of Washington
The OneBusAway iPhone App
University of Washington
iPhone, iPad, iOS, iWhatever… A quick note:
I’ll use iPhone, iPad, iOS pretty much interchangeably, but…
Devices: iPhone iPod Touch iPad
Operating system that powers them all: iOS
University of Washington
Why iPhone app development? Love it or hate it, it’s the biggest game
in town Verizon iPhone announcement tomorrow
will only fuel the fire
Users could care less about our opinions of various platforms. They just want the app. Either you provide it Or someone else will
University of Washington
Pay To Play
To really develop an iPhone app, you’ll need: A Mac to run Xcode on An iOS device to test your app on
simulator only goes so far A developer license ($100/yr) so you can:
Run your app on your phone Submit your app to the app store
Adds up to real cash
University of Washington
Writing an iOS App
You develop using: Objective C – The native iOS Programming
Language Xcode – Apple’s Integrated Developer
Environment
University of Washington
Objective C
“Let’s strap some object oriented features onto C, as inspired by Smalltalk”
C-like, but object oriented features don’t look anything like C++
Not my favorite language, but it works… Experience with C and object oriented
language concepts will help, but only so much
University of Washington
What does it look like?
Simple function declaration - (return type) fnName:(arg_type)arg_name
Message passing: [name length] Objective-C: Send message “length” to
object “name” Java: Call method “length” on object
“name”
- (NSString*) getHello:(NSString*)name { NSLog(@"Length=%d", [name length]); return [NSString stringWithFormat:@"Hey, %@!", name];}
University of Washington
The Good and the Bad
The Good Message system allows flexible object and
type composition But don’t shoot yourself in the foot ; )
The Bad No garbage collection for Objective-C on
iOS
University of Washington
Xcode
Works well enough
I’m a raging Eclipse addict, so that colors any reasonable advice I could give here ; )
University of Washington
The App Store Review Process It’s gotten better, but… Still largely a nerve-wracking process
My first app was rejected once You play by Apple’s rules or you don’t
play at all Review process can take up to two
weeks Critical that you find bugs BEFORE
submitting
University of Washington
* I’ve never had a full-time job for longer than 3 months in my life, so take it with a grain of salt ; )
My Advice* To You
University of Washington
Learn by Doing
The best way to learn a language, a framework, a tool: Build something with it!
Find a quick project and try to make it happen: First version will probably be junk, but don’t
sweat it
Look for the things that annoy you on a day-to-day basis for ideas and inspiration
University of Washington
Questions?
Thanks!