Making it easier for travelers to connect with locals on Couchsurfing — A Usability Case Study
Couchsurfing is an app used all around the world by travelers to meet locals and other travelers. Their mission is to build meaningful connections across different cultures, enabling users to respond to diversity with curiosity, appreciation, and respect.
As a frequent Couchsurfer who has made amazing friends and unforgettable experiences through the app, I decided to set out and uncover pain points behind the iOS app and see if others experience similar issues as I do.
Disclaimer: I do not work for nor am I related to Couchsurfing. This is simply a passion project, I hope you enjoy! (Edit: Now I do work at Couchsurfing, but this project was done before I had an affiliation to the company)
It’s easier than ever to find a local on Couchsurfing
I conducted a 2 week case study to improve the Couchsurfing iOS app. I asked myself: “What are Couchsurfing’s current iOS mobile app usability issues? How might Couchsurfing simplify the process of looking for locals and hosts?” I was able to uncover three pain points that users were experiencing. I then prototyped my solutions and validated them with user testing. Here are the results of my redesign:
Read on to find out how I simplified the process of finding a local on Couchsurfing, with a before and after comparison.
I began my research by looking at some competitors of Couchsurfing, comparing UI, UX, User flow, and key features to identify trends and common issues.
While there are many travel hospitality apps out there, the key competitors of Couchsurfing are apps that offer an element of social networking and cultural immersion, which include AirBnB, Meetup, Travello, and Tourlina. I observed what worked and didn’t work from these apps to guide my design decisions later on in the process.
App Store Reviews/Discussion Boards
After reading user reviews of Couchsurfing on the iOS App Store and on Quora discussion boards, I found some trends in the complaints.
I grouped these complaints and sorted them into two categories: hard to implement and easy to implement.
The problems that are more difficult to implement mostly revolved around the bigger picture experience of Couchsurfing. I chose to tackle them on another article after discussing these issues with a Designer at Couchsurfing.
Given the short duration of this study and no access to Couchsurfing’s internal data/operational constraints, I chose to focus on features that were important to users and easier to implement, which revolved around general usability of the app.
Finding a local when traveling shouldn’t be that difficult
Based on the complaints I uncovered during market research, I prepared simple tasks surrounding these areas to pinpoint what exactly users were struggling with. I headed out to the streets of San Francisco to run guerrilla usability testing on 6 random users. All the users I tested on were frequent travelers and were familiar with the Couchsurfing platform, but only two of them have used the app before.
Gathering information from guerrilla testing, I created two provisional personas for the users I am designing for. This helped communicate user’s motivations, goals, and behaviors. These personas are based on assumptions, and therefore not grounded in research, and may evolve based on further validation research.
Jobs to be done
From there, I created two jobs to be done (JTBD) to further understand users’ motivations and goals. Personas explain who people are and what they do, while JTBD explains why, which is more important.
Why do travelers experience difficulty finding locals?
Synthesizing my findings
Gathering all the information from user testing, I used affinity mapping to find patterns in my observations, and categorized insights that were similar. I then used a 2x2 matrix to prioritize the problems that were most important to solve for both the business and the user. I was then able to decide on the pain points I wanted to design for.
Task Flow Analysis
Before I started to ideate on a solution, I created a task flow to map out the steps users took and where they had trouble. The scope of my study will be focused on the steps highlighted in orange:
Multiple ideas, one seamless prototype
Ideating in Lo-Fi
For each pain point in the task flow, I made an effort to think broadly by exploring at least 3 potential solutions for each pain point, and then slowly narrowed down my options to a solution that would be relatively easy to implement, but have a high impact for the users.
I created wireframes to test the impact of my changes and get feedback on the feasibility of my ideas, and iterated on the design.
After multiple rounds of testing and iterating wireframes, I created a hi-fidelity prototype using Sketch and Invision. This prototype was then used to test and validate my redesign with users. See the before and after:
Throughout this case study, I was intentional about letting information from user research guide my designs. I learned to put users first and foremost in the design process. I decided to preserve Couchsurfing’s existing visual design, and focus on the app’s architecture to improve usability. Through ideation and iteration, I came up with a hi-fi prototype that solves these pain points, as validated by users.
I luckily had the opportunity to share my findings with the Couchsurfing design team, and we had an interesting conversation about the delicate balance between designing for usability and preserving Couchsurfing’s core values. Sometimes one has to be compromised for the other, and these are things that that as an individual designer, I did not have the opportunity to consider. We also discussed the potential of implementing my suggestions into the app going forward.
Although I have simplified the process of finding a local on Couchsurfing, I’ve only scratched the surface.
My market research revealed greater issues with Couchsurfing that go beyond general app usability, such as problems regarding safety, hosts receiving too many requests, and on the flip side of the coin, guests having to send many host requests before getting accepted as a guest. I choose to tackle these harder to solve problems in another post, coming soon. Stay tuned!