Airbnb Usability Audit
This was a project during my Bachelor of Design to practice user testing, and to become more familiar with Jakob Nielsen’s 10 heuristics of web usability.
purpose of the site
What does the site contain?
Airbnb contains all the tools necessary to book your ideal vacation, based off of the knowledge of locals, using their homes and recommendations. Airbnb’s mission statement is to “create a world where people can belong through healthy travel that is local, authentic, diverse, inclusive and sustainable.”
The site mainly contains booking tools, for either homes or experiences, and photos to go along with them. There are also features to help you become a host, however this feels secondary, as the website is primarily focused on the traveler and not the proprietor.
What are the site’s intended functions?
1. To book time in another person’s home for the purpose of travel.
2. To book excursions with locals to discover the city in which you’re staying.
3. To become a host and earn money through short term rentals.
Who is the target audience?
There are two main target audiences:
1. The traveller
2. The host
For the most part, since Airbnb is primarily used through their application or website, and so it is generally younger travellers who are more comfortable using an online platform for the majority of their bookings. For example, my parents were initially apprehensive about using Airbnb as they were concerned it wasn’t as reputable as a hotel, similar to their initial apprehension of using an Uber rather than a taxi.
structure: user model
Navigation site map
First three tiers of Airbnb:
Sample Krug usability tests (a total of 15 were performed, below are two examples of the methodology used.)
Task 1: Find out how many guests can stay in the “Studio in Large Garden at l’Oasis” in Casablanca house?
Task 2: Find out if ‘Feeling Samurai Soul” experience in Japan is available to book for March of this year.
User testing notes taken during the user tests:
Sample user test flow: Emily
Sample user test flow: Ben
Sample user test flow: Isabelle
Notable slips or mistakes observed during user tests:
Menu title is not reflective of the most important information. This menu also houses the very important “Help” section, which is not at all apparent.
Users aren’t aware that by navigating to a specific listing, clicking the link opens up a new tab. On numerous occasions users attempted to use the browser’s back button, however it was greyed out since it was a new tab, and they were initially confused.
Search engine is not optimized for the site. There are numerous experiences in japan with the word “samurai” in their name, however upon searching “japan samurai” no search results come up.
By clicking on the airbnb logo on the top left corner the user is able to navigate back to the home screen. However, this is not immediately apparent, and there is no “Home” button for non-familiar users.
Search bar terminology confused a few users, who thought they were supposed to search for the suggested location.
The footer is only available by clicking on the menu title which is not intuitive, as most sites have their footer on the very bottom of the site. Since airbnb has no “end” (it infinitely scrolls) users kept scrolling to find the footer, and became frustrated when they were unable to find it.
Users were frustrated when they couldn’t find the help section, and when they did, they needed to navigate to an entirely different section of the site, with no clear way to return where they came from.
10 point heuristic evaluation
Visibilty of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
Airbnb does this in a few ways. For example, upon loading the initial page three blue dots appear one after the other signifying something is loading, rather than just showing a blank screen. However, when searching a specific location such as “Canada” there is no loading icon and you are met with a white page with blank icons until the full page loads. This could cause some confusion if the user has a slow internet speed.
Match between system & real world
The system should speak the users’ language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.
Airbnb does this fairly well, with using common language such as “Home,” “Invite friends,” and “Airbnb for work.” However, on the search bar if you haven’t typed anything in and have been scrolling for some time, a prompt appears that says “Try ‘Seoul’” or other destination. When you reload the page it originally says “search” but then quickly flips through random destinations such as “Try San Diego” which could be confusing to the user.
User control & freedom
Users often choose system functions by mistake and will need a clearly marked “emergency exit” to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
I didn’t want to go too far as I was scared that I would accidentally book something using my PayPal account—it was too easy to book something without double checking. Plus, airbnb has some pretty strict cancellation policies, and so I wanted to make sure I didn’t actually lose any money. It doesn’t appear that there is a “clearly marked exit sign.” However, none of my users attempted to book anything either, and so it’s possible there is one, just that it’s not immediately apparent.
Consistency & standards
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
Airbnb uses consistent language across the platform, using the term “experiences” for everything except restaurants and concerts. However there isn’t really a “back” button or any buttons really—just photos to click on. The use of arrows to scroll through photos is consistent as well. There are
also hearts in the top right corner that can be used once the user is signed in and can “favourite”
Even better than good error messages is a careful design which prevents a problem from occurring in the
One thing that was nice was that if I tried logging in with an email address that was not tied to an account, rather than Airbnb telling me the password/account was incorrect, it specified which was the problem.
Recognition rather than recall
Make objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
One thing I appreciated about Airbnb was that after navigating away from the website, it saved my recent searches, so I could easily go back to where I had been looking. Even without typing anything, possibilities popped up that I had recently looked for.
Flexibilty & efficiency of use
Accelerators—unseen by the novice user—may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.
This bottom navigational tool is only accesible by clicking on “terms, privacy, currency and more” which isn’t exactly the most obvious solution. It does a good job of hiding complex information, but isn’t very easy to find.
Aesthetic & minimalist design
Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.
I would argue that Airbnb is not as minimialist as it could be. Even having a landing page that isn’t too busy would be nice. The main page is almost like an infinite scroll, with endless possibilities of where you can go, experiences you can go on, etc. One thing I found in my user testing was that individuals would just keep scrolling, scrolling, scrolling without clicking or navigating around the website at all, similar to pinterest, as they were bombarded with so much information it was impossible to process it all.
Help users recognize, diagnose & recover from errors
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.
While Airbnb may seem simple on the service, it has a lot going on in terms of ways you can search, different types of booking, navigating the booking process, etc. When I deliberately typed in a false hyperlink the message was quite immediately clear: “Oops, we can’t seem to find what you’re looking for.” I like this method, as it makes it seem as though it’s Airbnb’s fault that you’re in a non-functional area of the site. It could have quite easily said “This page doesn’t exist” or “The server stopped responding.” By using familiar language and making it appear as though it’s their responsibility and not the user’s, it reduces irritation and makes the user more comfortable.
Help & documentation
Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large.
Airbnb actually has quite an extensive help section, however it is a little hard to find. You have to choose the “see more” option on the bottom, and only then is the help section clickable. Also, the help section is only personalized once you log in, based on your recent searches.
Pain points and recommendations
- No results for something that is currently on the website.
I actually got quite frustrated trying to find experiences that were specific to Guatemala, and I wasn’t even able to find experiences in Guatemala city. The search function is not intuitive at all.
- Wasn’t even searching for New Zealand—search
populated for no reason.
On multiple occasions seemingly random locations would populate leaving me confused, and unsure of how to navigate back to what I was searching for.
- Searching Guatemala automatically brings you to Guatemala city, and not other cities in the country.
Being unfamiliar with a place, it would be a nice feature to be able to see popular destinations in different countries. For example, searching “Guatemala” should bring you to popular destinations, rather than bringing you directly to the city by the same name. This is inconsistent throughout the website, since by searching “Canada” you are immediately brought to popular Canadian experiences, however you are still not shown popular destinations.
- Searching for “experience” somehow brings you directly to experiences in Seattle, even though there was no prior search.
For whatever reason, when you search the word “Experience” to maybe show some featured or popular experiences on Airbnb, it brings you directly to Seattle, and no other location which is counter-intuitive.
- By misspelling Guatemala there is no suggested autocorrect, and the site that it found most similar is completely different.
By spelling Guatemala with three “A”s rather than an E, there is no “did you mean” or “suggested spelling”
feature. Instead, it brings you to Guatape, which is entirely different than the spelling that was attempted.
- Does not suggest searches relevant to the search terms.
When you start typing a location, it would be nice to have suggestions populate, for example when typing Canada, it would show relevant cities in the suggested search below, rather than recent searches which aren’t relevant anymore.
- When “experience” is highlighted, as soon as you enter a search term it disappears.
I was struggling when attempting to search for experiences in Guatemala. I would click in the search bar, highlight “Experience” however as soon as I started typing, the highlighted experience button disappeared, and I was left searching for homes or general locations again, which was infuriating! I ended up not being able to search for any experiences in Guatemala whatsoever.
Below are two examples of designs that seek to resolve the primary issues mentioned above:
Improved autocorrect feature (original):
Improved autocorrect feature (proposed):
Suggested search (original):
Suggested search (proposed):
That concludes this case study! Thanks so much for reading.