Cab Booking App — UX Case Study

Saksham Sinha
UX Planet
Published in
14 min readMar 11, 2019

Hey, I want to reach the airport, will I get a taxi at this time?

Dude! book a cab online, its much easier to find one nowadays :)

With these Cab Aggregator companies, booking a cab and reaching your destination has become more fun and interactive experience. People just love it and always prefer to take a cab by booking it with just a press of a button on their mobile screen. It has been over 10–12 years when these online cab booking services started in India and till now many improvements with features, service, and UX of their app has been seen.

I being myself, a user of these services, like them and use them whenever I need to reach a place experiencing the quality and easy ride.

But, I see a lot of people complaining about the services provided by these cab drivers, their rudeness and denial of service. I did a small effort to reach the core of this problem and many more which I found during my research phase. I came up with a UX design solution for online cab booking services with a feature that can be put to a test with the potential users.

I followed the 5 stages of the Design Thinking process proposed by the Hasso-Plattner Institute of Design at Stanford (d.school).

🔹 1. Empathize

Research

Customer satisfaction depends on the good relation and better communication between the customer and the cab drivers. So, for better user experience, the need was to find what problems they face while booking their cab where cab drivers are involved.

My aim was to survey the communication gap between the customer and the driver. I was hoping to improve the rating system of the driver and thus created my questionnaire according to it.

I circulated the survey question links prepared on Typeform to my friends and in different Slack groups to get their responses. A message in one of the Slack group looked something like this:

Also, I went through many news articles and Quora answers about drivers and passenger issues. After waiting for a few days, I collected all the data from the research and prepared an affinity diagram.

Key Finding

These were the two results that I got. Other questions where descriptive and I recorded all the responses and had a detailed analysis.

From the response recorded, I finalized all the data and jotted down the common problems:

Customer’s Problem

  • Poor/Bad attitude and behavior of cab drivers. Driver cancels the ride without informing.
  • Driver’s denial of service when they come to know that the payment method is not cash.
  • Driver accepting the ride but didn’t come neither cancels the ride forcing the passengers to cancel the ride and get a penalty on next ride.
  • Driver disagrees to come to the pickup point after knowing the destination.
  • Overcharged as some drivers are not familiar with the city route. Difficulty in guiding the drivers to pick up and drop point.
  • Language problem with the driver, not able to communicate.
  • Poor driving quality and car hygiene.
  • The late arrival of the driver, no punctuality.

I was surprised when I came to know there are even a set of problems faced by these cab drivers as well. I found many news articles where drivers discussed their problems of long working hours, fewer incentives and many more. There has been much news about these drivers going on protest and strike to overcome their problems. Here is one I found on Hindustan Times. [Read]

📌 I tried to explore more on this and came to a big conclusion that customer face problem because somewhere or the other they are related to the driver’s problem.

Here is a table that I created where I listed out the customer’s problem because of the driver’s problem.

🔹 2. Define

With all the data collected from the research phase, I arranged them together to define my Point of View (P.O.V), i.e, the problem statement to proceed further with the design process.

I created two scenarios, one for the customers and another for the driver and created a problem statement that would support both of them.

Problem Statement

To have an experience for the customer and the driver where the instruction given by the customer should be obeyed by the driver which would encourage the drivers to maintain a good and honest rating, have a safe and quality journey, and no communication problem between them.

User Persona

I created two personas of a customer and a driver to generate empathy with them.

Bio: Rohan is an engineering student who uses online cab booking services to reach the airport on time during his college vacations. He takes a morning flight and thus usually books a cab during an odd time.

Needs:

  • The driver should obey his instructions.
  • Should have a safe and quality journey.
  • Reach destination on time, pick up on time.
  • No communication problem with the driver.

A situation where he books a cab:

Rohan books a cab early in the morning and waits for the cab. He receives the driver’s details and calls him to confirm his location and ask about how much time it will take to reach the pickup point. The driver arrives, he loads his luggage and the ride starts. If wanted, he talks to the driver if the driver is willing to talk. Rohan gets a notification if the expected price is more than predicted before. He reaches the destination. He gives the Rating to the driver when he opens the app for the next time.

When he has any issues with the ride and want to lodge a complaint, then he chooses the option from the Help Support in the app. If the issue is related to money, it gets a refund.

Bio: Santhosh comes from a poor family in the districts of Chennai. He had land which he sold to buy a Car on EMI to be a cab driver because of larger earning to support his family financially. Not able to earn much and suffers from severe back pain due to long working hours, including weekends. He finds it difficult to find fuel center nearby and to look after his health in pressure of supporting his family. He needs money to pay for the EMI of the car and fuel.

Needs:

  • An easy function of an app for him to use.
  • Find fuel and meal easily nearby.
  • Easy navigation and use of GPS maps.
  • Gets his last ride of the day in such a way that he can reach home easily.
  • Money credited to his account on time.
  • Acceptance Rate and Transparency in the rating system.

A situation in the daily life of Santhosh:

Santhosh starts early in the morning at 04:00 am for his duty and starts accepting the ride request from the customer. He plans to complete at least 14 rides a day and but not able to earn much as expected. He most of the time cancel the ride with payment method as Online Wallet. He picks the rider and drops them at their location and most of the day he spends in the car itself. Once a while he turns off the app to have lunch. At the end of each trip, he requests his customer to give him a 5-star rating. While the trip, he hardly talks because of language issues. Till night at 11:00 pm he accepts the ride. Then he goes back to his home. He is hardly able to call home all day.

🔹 3. Ideate

With all the data and a properly arranged problem statement, it was time to do some brainstorming sessions. I went for doing a “5 Why Method” to find the core of the problem and ask those “How Might We” questions to come up with solutions.

5 Why Method

I took each problem of the customer and asked why to find its core.

  • Poor/Bad Behavior and attitude of drivers.

Why — Because the driver might have long working hours including weekends and might face physical and mental health issues.

Why — Because they intend to earn more money each day by accepting more rides request.

Why They want money to support their family financially.

  • Driver’s denial of service when they come to know about the payment method is Online Wallet.

Why — Because payment through online wallet takes a longer time (more than 2 days) to get credited to the driver’s account.

Why — Some tax issues also which the drivers don’t want to pay.

Why — Because they need money to support their family financially.

  • Driver accepting the ride but they didn’t came neither they cancel the ride forcing the customer to cancel and charge a penalty on them.

Why — Drivers need to keep their Acceptance Rate up to 80–100% each day.

Why — This is a basic rule to be followed by the drivers.

Why — To avoid deactivation of driver’s account from accepting a ride request.

WhyTo eliminate unfulfilled request from the customer.

  • Driver disagrees to come to the pickup point after knowing the destination and asks them to cancel the ride.

Why — Because they might don’t want to go to that place.

Why — They might not get any ride in return.

Why — That drop location might be at the outskirts of the city.

WhyCustomer wants to go to that destination at odd times — His/her wish.

  • Overcharged price as the driver is not familiar with the city route.

Why — Driver might have come from another place to this city to earn and might not know the city route and trust only the GPS Maps.

WhyThey have moved to the new city for job opportunities in driving and want to support their family financially.

  • No common language known, the problem in communication and giving instruction to the drivers.

Why — Because drive might have come from a nearby town and might not know the language spoken in cities/

Why Moved to the city to earn money to support their family financially.

  • Poor Car driving quality and car hygiene.

Why — The driver might not be interested to keep the car clean.

  • The late arrival of the driver at the pickup point, the customer as to wait for longer.

Why — Because there might be a lot of traffic which would make delay to arrive.

Why — The driver might be having a meal break.

How Might We

After asking all the “whys”, I got to find out that many problems occur because the drivers want to support their family financially as they might be the only working person. They need money and can thus, do a lot of activities already mentioned which can indirectly leads to a bad experience for the customers.

I was thinking of creating an experience for the drivers that would encourage them to stay motivated throughout their working hours and thus, I thought of adding some new features for that. Here are the “How might we” questions that I asked myself:

  • How might we improve the rating system?
  • How might we improve the feedback giving procedure or complaint with proofs and the action taken on it?
  • How might we give language preference of driver to the customers?
  • How might we give urgent notifications about the trip — The cab might get a delay, any trouble is you facing during the ride, emergency button, what you think about the driver, increase in the expected price of the trip or might get a huge price because their destination is in an odd place?
  • How might we give a particular notification — “Has driver canceled your ride. Don’t worry, lodge a complain we will look after it”?
  • How might we include a voice recording feature in the app to let the user record the call from the driver and have proof to submit as complain if a driver askes to cancel the ride?

Solutions formed

After many of those brainstorming questions, I came up with this final design solution of features in a Cab booking app which would keep the driver motivated and improve the experience of the customers:

📌 Giving a rating to the drivers

The process of collecting driver’s rating will start while the customer is waiting for the cab to come. In total, they will be asked to enter a rating input three times during the entire ride which would be necessary.

1st — While waiting: They will be asked “did the driver canceled the ride”, “asked you to cancel the ride” and “talked rudely”, lodge a complaint if you feel like. The customer might get a notification if they are delaying to come because they might be stuck in traffic and also about the increasing price for odd destination and time. Just to show transparency. The customer will have access to the driver’s profile and can see the rating given to him or any complaint submitted by his previous passengers.

2nd — During the ride. What you think about the driver, his behavior, is there any problem during the ride, an emergency button for an accident, did he use kind words like, please, good morning. The customer will be notified if the price will be more as expected during the ride. Also, a brief about the Driver’s Bio will be displayed to the customer and what he wishes to do later in life — his aim.

3rd — When the ride is over, will be asked to give a rating on the driver’s phone and not on the customer phone, which will allow the customer to give a rating after each trip.

Users normally give the rating for the ride when they open the app for the next time. So, the experience that they had might be a bit forgetful and they can be in a hurry to book a cab and might give some random stars to the driver.

Asking the user to give a rating on the driver’s device will ensure that each rating is given according to the experience of the service felt just a few moments back.

Surely the driver can see the rating and the result will be displayed in customer app as well.

📌 The process of lodging a complain and send feedback

To let the customer, know that there compliant are seriously taken into consideration.

There will be a built-in call recording feature which will let the user to record the calls and have proof if the driver is asking to cancel the ride and take an action against it.

The customer has to submit proof in any of the following forms –

  • Screenshots of ride canceled in the app(jpg, png)
  • Phone call recordings (mp3, avi )
  • Video Clips (mp4. Avec)

To take any action against the driver (if the customer wished), they need to submit three things via the App –

  • A small Description on what happened with a heading
  • A proof in any of the three forms mentioned above.
  • Rating of the issue “how bad is it?” (not much — to serious)

All these three are necessarily required to submit if they want to take any actions. This will restrict to get unnecessary complaints which can be fake.

After receiving complain

The complaint can be divided into three categories

  • Nothing too serious — In this, the driver can get a warning call from the Technical Team.
  • Controlled Issue — In this, the driver can get a mark on their profile about the complaint — like a “not so good” sign which the driver’s future customer can see on their profile.
  • Serious Issue — If this third issue is marked under any driver, then his/her future customer can get a notification about the complaint and can reschedule the Cab with a new cab driver if the customer doesn’t like them. This will reduce the customer count of that driver which no driver would want. However, it would be a very rare case, just to motivate drivers to maintain a good driver’s profile.

With this, the driver would be much cautious while acting irrespectively.

While this process takes time to check and confirm, a timeline can be accessed by the passenger to let them know where their complaint is –

Received — Proof Checked — Verified — Action Taken

In the end, notifying user about the action taken.

📌 Driver’s Profile

The purpose of a driver Profile is to bring transparency between the customer and the driver getting to know them in a fun and interactive way.

Customers have a lot of problems with the local drivers which cannot be solved via App or online.

Thus, sending proofs and after getting verified about the activity notifying the future customer about the same and letting them reschedule the cab can let drivers behave properly.

So, with the complaint lodge and driver rating, extra incentives can be given to maintaining a good driver profile apart from completely a particular number of rides a day.

This will encourage the driver to maintain a good driver’s profile and thus, they can be motivated all the time, as keeping a good driver’s profile can get them those incentives and extra money for which they are working.

Storyboard

To keep in mind about the solutions, I created two storyboards, one for a normal cab booking process of passenger and another for a process of lodging a complaint about any unsatisfied service of the passenger.

Type1: For a normal cab booking process

Type2: For lodging a complaint

🔹 4. Prototype

I created an Infomation Architecture before moving to sketch some paper prototype, i.e., Wireframes. With some iterations and changes, I came up with this IA:

Information Architecture

Wireframes

Keeping the information flow of the app in mind, I made many versions of wireframe and finally agreed to go with the following:

Paper Prototype (Wireframes)

🔹 5. Test

And finally, I designed the High Fidelity mockups on Adobe XD with taking references from the IA and the wireframes I prepared before. Here it goes:

High Fidelity Design

Book Cab | Cab Booked | Driver’s Profile
On-Going Ride | Side Menu Options | Past Trips List
Past Trip Details | Submit Complaint | Complaint Status

These designs are now ready to be tested with real users.

A further possibility of Ideas to enhance UX

We can even add a feature for drivers to locate and track nearby fuel center and meal fulfillment center to make a better experience for the driver indirectly helping customers to get a motivated driver to provide cab service.

Thanks for reading ❤️

This was my attempt to solve user and driver’s problems helping them to have a quality and enjoyable ride with less unsatisfied ride request. This UX case study helps me to showcase my design process and how I approach to solve a problem.

Don’t forget to give 50 claps 👏

This would motivate me to write more content and case studies. Thanks 😊

For any discussion, do connect with me and send a hello at LinkedIn | Dribbble | Instagram.

Here are my other UX Case studies that I have worked on:

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Published in UX Planet

UX Planet is a one-stop resource for everything related to user experience.

Written by Saksham Sinha

UX Designer at Zeta Suite. Writing about Business of Design and Human Psychology. Follow me on Instagram @sakshamsdesign

Responses (3)

Very helpful article, thanks very much

Hey Saksham you’ve done a nice work in understanding the problems of both the sides and drawing out pain points from them.
I have a question - you said that many of the issues are due the fact that the drivers wants to support his/her family…