Defining the audience
According to the task defined above, I will focus on the driver audience.
We can divide the driver’s audience into two main groups
- First time enrolled drivers: Drivers successfully completed their enrolment to Grabs delivery service
- Experienced drivers: Drivers who have been part of the delivery service for a while (25–30 jobs per day)
Both have similar motivations but slightly different needs. More introductory guidance is needed for first time enrolled drivers, and more efficiency is needed for experienced drivers.
I will define more on the challenges in the next section where we identify user needs by using Exploration vs Exploitation framework.
Understanding the user contexts and needs
Before jumping off to solutions, it is better to understand current contexts on when/where the app will be used and what the current challenges faced currently by the users.
- When. I assume the drivers will use the app during working hours. The working shift may differ, some may use it during the day, while others may use it during night.
- Where. Drivers will mostly use this app probably while riding to different pick-up and delivery locations on their motorbikes in order to get accurate instructions.
I also went to the Grab driver app in playstore to go through some of the reviews and identify any feedbacks that are aligned with the task at hand. I wanted to know any current problems users are facing and also positive feedbacks so that I can put more emphasis on it.
I collected all the contexts and put in a mind-map so that when I am making those design decisions I can always refer back to the chart that identifies what contexts will make a great driver experience and what to avoid.
In addition to that, I have also made assumptions on how jobs are allocated or notified to drivers in order to make the allocation procedure and transparent.
I have already defined that we will be building an Android app according to the deliverable of the task.
Let me create a quick storyboard on how I see the user experience. This technique was inspired by Brian Chesky, CEO of Airbnb who hired Pixar animator to visualize the experience of Airbnb customers (hosts/guests) .
Creating storyboards help me to empathize the user journey and also enables me to understand contextual situation and ideate potential challenges or needs users may have.
By going through the user reviews, various contextual situations and storyboard, I assume the following are some of the pain points I can tackle in order to elevate the end-to-end user experience.
- Getting pick up location far off from current location.
- Unable to accept multiple jobs along fairly similar route for efficiency.
- Date consumption by the app
- Ability to perform on 2G or low speed networks
I have listed down some of the good vs bad experience specific to stages that are crucial in the driver app user flow.
- Accept a job
- Good Experience: getting jobs that are within the service area set.
- Good Experience: ability to quickly skim to available jobs before accepting.
- Good Experience: ability to see delivery locations and estimated earning.
- Bad Experience: getting jobs request while in the middle of a previous job.
2. Picking up item to deliver
- Good Experience: ability to identify the package is correct.
- Good Experience: ability to check pick-up status if it is a food delivery.
3. At pick-up and drop-off locations
- Good Experience: ability to contact assigned people.
- Bad Experience: unable to contact people which may result in delay of the job.
User Journey and prioritization
According to the book Algorithms to live by, when faced with unknown situation, people have the tendency to use explore/exploit tradeoff. To explore is to try out new things to gather knowledge. To exploit is to use that information to perform tasks efficiently.
Exploration and Exploitation
In order to make onboarding for the first time drivers delightful and easy, I am using a method called progressive disclosure. It is an interaction technique that delays the appearance of advanced or little used options to reduce the number of errors and facilitate user learning.
The main objective is not to overwhelm the user with all the available options, for this we relegate the less frequent or more complex tasks to later steps focusing on the core user flow.
In this scenario, we are enabling the new users to go through our complete end-to-end user journey.
After the drivers are familiar with the flow, they may want to set their preferences in order to maximize their earnings by completing more jobs in a day. In this the technological and business context comes into play where the AI is providing more jobs along a optimized route and business is offering bonuses as appreciation to hard working drivers.
In order to accomodate both beginner and expert users, I wanted to leverage an architecture where there is a single point of start and single prominent ability to take action in each stage of the journey.
I did some quick rough sketching in order to identify how the above IA would look like in terms of screens and various other states based on the user journey mentioned above.
You can read more about the navigation in android here 👇