Smart Recommendations on GoFood — a UX case study
Choose food quickly and easily
This project is to improve GoFood (online delivery food application) by adding smart recommendations to help the user to choose food quickly and easily. This project is my own thought and expression. I’m not affiliated with Gojek or GoFood in any way.
The problem that I spot
Ordering food online is easy but not with choosing it. I ever take more time choosing than waiting for my order come. It’s so frustrating because I have to breakfast right away to get to work. I don’t know if it because many choices but I know my colleagues face it too. So, I want to know what others think about this problem and design a solution to solve it.
Research that I conduct
As a designer, we’re not only the problem solver, we’re also the problem spotter. You may good at design but it’s better to open our eyes wider to see the problem around us. Like the day when I spot this problem, I want to see if it faced by wider people. So, I conduct research.
Questions that I ask
I want to make the research simple and cheap. I start by ask 2 questions via Instagram Story. I choose it because it is cheap and can reach many people (depend on my active followers 😂).
- Want to eat, but it takes time to choose food. Anyone? (Yes/No)
- If that you are, why that happens?
After people answer the 2nd question that I get via direct message, I continue to ask them 2 questions below to get deeper learning.
- How do you finally choose food?
- What do you thinking about the way GoFood does to convince you to try new food? (Optional)
So, those 4 questions help me to know WHY people take a long time to choose food on GoFood. WHY that I mean is the root problem. If I know the root problem I can design the right solution. Hopefully, the surface problem like this will not grow up again.
Learning that I get
There are 93% of people that encounter the problem. Mostly, 18–24 years old, male, Indonesian, college student, familiar with online daily need services (like shopping, watching a film, streaming music, etc) and reading English. Next to do are analyse and synthesize the responses from those people.
First, I analyse by break down the responses into fragmented information. The fragmented information is the digest. I’ve written it all (don’t miss any digest) down to my notebook. It’s like: break the coconut to get the water inside.
Second, I synthesize by combine fragmented information with information or knowledge that I’ve already have. The output is new information that has context on it. It’s like: after you get the water, you combine it with your strawberry syrup to create ‘strawberry coconut water’. I use the empathy map to document it.
An empathy map is like a place that you want to travel in. If you travel to an undesirable place, you’ll feel unhappy.
User, his journey & need
The user
For who actually I design for? Of course for him, for the user. It’s called the user-centred design that put users as the subject of the solution. To help me, I use persona as a fictional character represent users. Every time I look at persona, I know for who my solution designed.
A persona is you as a traveller.
His journey
Another thing that helps me related to user-centred design is a journey map. It’s like a path that user walk through to achieve the goal. There also written what the user think and feel along the path. So, I know what should I do to keep positive and tackle negative one.
A journey map is like a route that you follow when travelling. Without the right route, you’ll be misguided and come to the wrong place.
His needs
To affirm what the user actually needs, I create a goal and problem statements. I decide the goal is the better experience of GoFood to help user select food to order. For the problems statements, I write them on point of view form.
- User needs an efficient way to select food that intended from many choices because looking one by one takes time.
- User needs a better convincing way to select a new food because they’ll be frustrated if the taste is not fit, the rating is not as good as expected, and the recommendation is not helping.
The goal and the problems statements are the forms of WHY that I look for. With them, I know what to focus on the next stage to design the right solution. Now, I need a ladder of HOW that will I use to climb to the right solutions. I reframe the problem statements above to build a ladder name How Might We (HMW) statement.
- How might we create an efficient way to select food that intended from many choices?
- How might we create a better convincing way to select new food?
A goal is a thing that you want to do at the desired place, problem statement is why you want to do that, and HMW is how you can do that.
Ideas that I generate
For me, as a designer as well, this step and next are the most fun part of the design process. Yups, it’s time to ideation. Back to the HMW ladder, I climb stair by stair and think. I do brainstorming myself by writing down all ideas crossed my head.
Then, I group similar ideas and get 2 groups. I give each group a name that represents the ideas in it.
Flow where users walk
The first evolution of ideas is an action level represented by the task flow. The task flow shows us how the user achieves his goal by doing action by action. I create 2 flows. One is for a new customer that just meet with the solution. Another is for a returned customer that has met with the solution and re-visit the solution.
Interfaces that users interact with
The second evolution is a component level represented by Wireflow. Wireflow shows us the components that the user interact with to drive the flow and achieve his goal. I draw the Wireflow with on a piece of paper. Not artistic but enough to present the components that I propose into the solution.
Before jump into the last evolution, I need a colour & typography as a foundation and components to build interfaces. I inherit those things from Asphalt (Gojek’s design system). Wisely, every designer that design everything related to Gojek should inherit from it. It will inherit what Gojek believe to make suitable experience to their users into our interfaces.
From Asphalt, I build my own pattern library. I implement the Atomic Design concept. I start to create the tiniest component first that will be combined later to form the larger component.
After I got the pattern library, it’s time to evolve into a more concrete level. It’s the interaction level that represents by the user flow or interactive interfaces. This is the last evolution or level. In this level, people can see and interact with the solution. So, if you want to people try your solution, make sure you’ve reached this level.
Designing doesn’t only help people solve their problem but also provide a great experience. It’ll make one solution is better than the other. Let me explain 3 reasons why this solution has a great experience.
- The idea is to convince users to add food as favourites. So, I put the most ordered food there. Only one? Yes, I don’t want to overwhelm users. The fewer options, the more convince users to act.
- The idea is to convince users to add more food as favourites to enrich the recommendations. I implement gamification there to encourage users to complete the game.
- The idea is to prioritize food for users. So, users know the best recommendations for them. The prioritization is based on the similarity from favourites and rating from friends. I implement design for trust here to touch users’ heart.
To make it feel alive here is shown someone who interacts with this solution.
Validation for better future
Don’t claim your solution solves the problems before you do validation. I think usability testing is still the best way to validate a solution in the form of design. I conduct it with help from 3 participants, 2 males, 1 female, 22–24 years old. They are workers. After finishing, I do analysis and get insight for learning and refinement in the future.
Hopefully, choosing food to order is easier and faster now. So, more time will be saved 😊