Putting bus riders in control with the Transit app.

UX/UI design case study


It's no secret that taking public transportation in Los Angeles is an uphill battle. Pedestrian safety has been only getting worse, half of our region's sidewalks are in disrepair, and ride-hailing apps are jamming our streets

Looking to take a deep-dive into civic tech, I stumbled upon Transit, a mobile app that helps commuters navigate their cities, getting them from point A to B via public transportation. By partnering with transit agencies, shared mobility providers, and data companies, Transit provides real-time public transit information to transit riders.

However, bus times are moving targets when people have to make real-time decisions. I wanted to understand how a mobile app like Transit assists and engages riders throughout their public transportation journeys, and how technology can encourage people to take public transit.

I also gave myself some serious constraints: 12 hours (over three days) for this design challenge.


Although we have plenty of options to get around town, only 6.8% of Angelenos utilize public transportation, and transit ridership has declined more than 19% since 2013.

A recent Metro survey of LA County public transit riders found one in five riders stopped riding because of:

  1. Slow speeds
  2. Difficulty getting to and from transit
  3. Poor service reliability

    Only 2 percent of the population rides transit very frequently; just about everyone else across the region ride less than once per month or not at all.

    I conducted one-on-one interviews with two Transit users, to observe how they they use the app on-the-go. I focused on observing and understanding the following tasks:

    • Browsing and planning for their route/trip
    • Checking Transit during their tracked journey
    • Discovering features and filters
    • Leaving Transit and switching to other transportation-related apps (ex: Uber, Google Maps)

    I interviewed two twenty-something Angelenos who use public transit every day on their commute, do not own cars, and work full-time jobs. My questions eventually focused on the moments when they felt the most tension within their commutes, and the confluence of factors that would convince them to not use public transportation.  

    I heard about the different environments for Transit, how it fits into their planning, and how they use the app to complete certain tasks. However, the majority of both conversations focused on the lack of accountability of Metro data.

    Combined with pulled interview quotes, research and assumptions drawn from Transit's own writing on their users, here are two user stories that can give insight into their motivations and frustrations with transit, and Transit.

    User Stories


    Jay, 24

    "Public transport gets late. If I can't afford to wait, I call a [ride-share app]. If I can wait, I just wait. And if I'm waiting for a while, I will sometimes just get on any bus to be on the move. It's frustrating though because I've definitely regretted choosing one that ended up getting passed by my original choice."

    Jay has been using LA public transportation almost every day for the last six years. He needs to find routes that are flexible with his schedule. He cites affordability and avoidance of the infamous LA traffic as his main reasons for choosing to take transit. He believes that taking public transit should always be the more convenient and headache-free option.

    Marie, 29

    "I ran to the stop after Transit told me it was arriving soon. The bus didn’t come for 15 minutes. I just called a [ride-share app]. No matter what the app was telling me about the next bus, I wasn't going to trust it."

    Marie has taken buses to her job every day for the last three years. She needs to balance how much of her monthly budget for transportation is split between public transit and Uber. She believes investing in and committing to our public transportation is important to living more sustainably, and that Metro will continue to improve the system. Marie taking the bus, and avoiding supporting big ride-sharing apps, is her "small vote of confidence" in the public transportation system.


    Key Findings


    Passengers expect that bus schedules will never be 100% accurate, yet they still have to plan their route or commute with the time estimates that are given to them.  And when a bus is not there at the exact time the app says (early or late), the passenger loses. 

    If a user has time, they will wait for a late bus. If not, they look for a Plan B. In a city like Los Angeles, where public buses still fight for the same street space as our infamous traffic, that Plan B is to look to ride-sharing apps.

    Passengers don't feel empowered. With a bus that seems indifferent about you being at the bus stop or not, bus stop schedules in flux, and no opportunities to offer feedback, passengers don't have agency in their choices when they're on the move.


    Defining the Problem:

    Pain Point 1: Users found presentation of route options to be distracting and objective. Each time the user enters the app, they are presented with a long list of routes determined by their current location. 

    Pain Point 2: Once bus estimate was wrong, users didn't know if subsequent estimates on the app were accurate. When a bus is late, the app claims it is still "0 min away" or will automatically increase the number of minutes away.  Users found it difficult to guess estimates of subsequent buses in the same line.

    Pain Point 3: Users couldn't keep Transit or the estimates accountable, and didn't want to waste their battery on the Go feature of Transit. Transit's newest feature, Go, is a crowdsourced approach of collecting users' current location to inform their bus stop estimates. Users are able to opt-in to Go, and turn it off during their ride. Users found that their phone batteries were draining (Transit claims turning on "Go" uses 5% of battery for every 20 min on transit) and wanted to save their battery for the other activities they use their phone for.

    I also looked to see what was motivating Transit's recent introduction to their Go feature, and found this:

    "Because we were getting criticized for something we had absolutely no control over: We’re a transit app. We’re not a transit agency. We display the best information that we can find, which is supplied by the transit agencies we’re partnered with." --Transit blog post

    I dug into the moment when available data fails their user (and the app!). Inevitably, miscalculations are a part of the bus-riding experience, so how can we keep that separate from Transit's relationship with their users? How can Transit, not the transit data, act in real-time to offer their users more agency, when they are counting down the minutes to get from Point A to Point B? How can users make informed decisions?

    I reframed my problem statement into:

    How might we help riders feel in control when planning public transit routes on the go?

    "On the go" is a nicer way of saying "when my bus runs late."


    Early on, it was important to understand the different factors that may influence a Transit user's decision-making process. I considered where in the user flow could Transit engage the user in the app's existing framework, and ask about the accuracy of the bus, and give choices to search for other options.

    user flow.png

    I sketched multiple ways to surface various functions, options, and information. I selected the key screens that are a part of the rider's journey to choosing a route and getting on the bus.


    I saw three parties involved in Transit: the app, the transportation data, and the user. I focused on how Transit could interact with the user, independent of the imperfect data.  Creating wireframes helped me select which frameworks felt important to keep in Transit, and where there were opportunities to insert moments to engage.


    In between the wireframes and a mid-fidelity prototype, I tested these solutions with the two interviewed users. Their feedback is incorporated into the final solutions below.

    Design solutions

    Pain Point 1: Users found presentation of options to be distracting and objective.

    Solution: Restructuring the home page view to tailor routes to the user.

    Looking at the framework of other ride-hailing apps, this moment of familiarity engages with the user immediately. The app will account for time of day and previous routes when surfacing relevant routes. 


    Pain Point 2: Once bus estimate was wrong, users didn't know if subsequent estimates on the app were accurate.

    Solution: Help users make more informed decisions. 

    I added two new pieces of information for the browse and select screens: arrival times and average delay time. By highlighting arrival times, users were able to compare and remember the different options they were presented when deciding on a route. In this solution, I introduced a new piece of information visible to the user: an "average delay time." 


    Pain Point 3: Users couldn't keep Transit or the estimates accountable, and didn't want to waste their battery on the Go feature of Transit.

    Solution: Letting riders give quick feedback, without disrupting a streamlined decision-making process.

    In the original app, a delayed route's time would remain at  "0 min away" or automatically restart to another figure. This solution engages with the user, letting them know there are more options available. Users are able to see Transit recognizing the inaccuracy, and they are given the power to choose to switch routes. If a user keeps the route, they are able to report the delay, which feeds into the new "average delay time," a new proxy to measure accuracy. If a user wants to switch routes, they're presented options determined by current location and urgency (assuming the user needs to "leave now")




    Transit has taken on an ambitious goal, to make public transportation better. In tackling the different pain points that arose from the user interviews, this quote  stuck with me:

    "I think a lot of public transit riders don’t feel empowered because you don’t understand how the system works, and it’s something that’s happening to you instead of you having agency over it."

    As a result of this case study, I learned that designing in the public arena requires balancing bureaucracy and inefficiencies in stakeholders (in this example, available public transportation data). Creating opportunities for users to feel engaged and offer real-time feedback gives them agency in moments where they feel like they've lost it.

    With a wider scope and more time, I would extend this project to focus on surveying at least 10 users who are more  representative of the average LA Metro bus rider. This means riders who are more likely to be below or near the poverty line, live farther from their place of work, be ages 25-49, and Latino or Black. Low-income riders are more likely to not own cars and face multiple-stop commutes on public transportation. I would follow a handful of these riders during a typical day to see how they respond to and make decisions around bus route estimates (and inaccuracies).

    Metro ridership sources:  Fall 2017 - On-Board Survey Results and Trend Report and USC Neighborhood Data for Social Change Report.