Building CyclePhilly
CyclePhilly is an open-source smartphone app and web-based project that crowdsources raw bike route choice data from bicyclists as they ride. It was developed as a Code for Philly project and has turned out to be an interesting exploration into user research, brand identity, business partnerships, integrating different backend systems with web and smartphone apps, urban planning and civic activism.
The Problem
Prior to CyclePhilly, transportation planners were limited to traditional census data or traffic counters commonly used to plan new bicycle paths. Without knowing route-choice, i.e. what led bikers through those intersections, planners could not plan around actual biking habits. CyclePhilly fills that gap by using smartphone GPS to provide exact origin, route, and destination information cross-referenced with voluntary demographic information. Thus, using citizen-generated data, transportation planners can, for the first time, study bicyclist route choice, facility preference, origin-destination patterns, trip length, travel speed, and more. Data from the app is used to inform bicycle planning work, and also to improve bicycle forecasting capabilities to better predict bicyclist response to new investments. Knowing exact route choice preferences also proves extremely important in a city with limited resources such as Philadelphia.
Research
From the outset, we had the advantage of one-to-one relationships with our end-users. A majority of Code for Philly's civic hackers bike to the meetup. Their input, feedback and beta testing was valuable. We also forged an early partnership with our other set of end-users, the transportation planners a the Delaware Valley Regional Planning Commission (DVRPC). They would be using the data from the app to make infrastructure improvements.
I did a fair amount of research before we started the project, particularly looking into how other biking apps were built and how something built specifically for planning purposes might be built differently. From the outset I thought the app should be quick and light otherwise people would never volunteer route data. Luckily, I discovered similar projects in San Francisco, Austin and Atlanta that served as a guide and reaffirmed some of my assumptions.
So the plan was to develop a simple GPS tracking app that loaded quickly, recorded raw route data and had a web map component so that users would be assured their trips were not going off into the ether.
Partnerships/ Project Focus
Essential to CyclePhilly's success was our partnership with the DVRPC. DVRPC planners eat geospatial data for breakfast and spit it out in the form of sharrows and new bike routes. Without them, the project would be useless.
We also needed to motivate the general public to volunteer their data. An app for Philly bikers by Philly bikers was the way to do that. We kept our eyes on that prize –always.
Tech
The guts of CyclePhilly involve native Java (Android) and Objective-C (iOS) apps, SQL and PHP on the backend and some Firebase juiciness for real-time stats tracking courtesy of Lloyd Emelle.
The first iteration of the public web map ran on JavaScript. It required a bit of tweaking to protect privacy so I undertook this task, learning some things about JavaScript and data visualization along the way.
*Since the time of the original post the map has evolved into a CartoDB Windshaft map courtesy of Kathryn Killebrew.
Branding
Branding was Philly-centric and simple but we had to prototype some ideas to get a feel for it:
On the website side, I drafted some mockups of how I thought our site should look and feel:
Recognizing that I am not a visual or graphic designer and that these designs were not going to cut it for the general public (admittedly, I got a little too aggressive with red and black), we turned to the DVRPC for some graphic design help. The talented Stephanie Lipartito there came up with the wonderful logo and designs you see now.
The "Ride. Record. Reimagine Your Routes." tagline and most of the copy just came naturally to us and I employed some of my editorial skills to make it all stick. I am actually quite proud of that line:
With the new branding, the site eventually evolved into this (where I learned and did a lot of frontend work).
*The current live site is being revised significantly, most recently running on Angular Material.
Messaging
As I said, it was important to us that CyclePhilly be promoted as an app by Philly's bikers for Philly's bikers. We all knew that there were plenty of better fitness apps out there so essential to the planning was delivering at the following simple message:
"Want to make Philly a better place to bike? Then get on your bike a do something you do every 10 minutes anyway, take out your phone and push a button."
I have personally emphasized this message in media interactions and on social media outlets, like our Twitter account because it's not a tagline or marketing it's just sincere.
Some of our Press Coverage:
Testing/ Feedback/ Support
Since launch we've been running support and user feedback through our support@cyclephilly.org email address. This has been one of the greatest insights into user research I've ever had. There is no better way to gauge user perceptions and interactions with your product than through their own words and an active and engaging dialogue with them. It has similar rewards to usability testing on the frontend of the process.
What is even more rewarding is how positively users respond to your problem simply because you engage in a conversation with them. In some cases, they even agreed to continue using the app as testers despite the app completely failing on them – that's amazing!
Give your users the respect they deserve because all they want to know is that they are not wasting their time on you. Even if your glitchy product is wasting their time you should assure them that their feedback is not a waste and will contribute to product improvements in the future and then work as hard as you can to follow through on that promise. (By the way, I've learned that anyone who says Apple does not do user research should think twice and take a look at their robust customer support system).
The main takeaway here is respond to your users quickly, sincerely, and concisely, you will be better off for it.
Conclusion
CyclePhilly has exceeded our expectations with an enormous public outpouring of support. The app has already served its purpose to help transportation planners analyze and improve the city's biking infrastructure. CyclePhilly was built with a specific purpose in mind and although there are definitely needed areas of improvement. However, as I have said from the beginning, if even one bike lane received a new paint-job as a result of CyclePhilly, we've won. That appears to be happening so, although I would not say our job is done, I would say we've done our job.