Google Design Exercise
Helping people adopt pets
Exercise Brief
Millions of animals are currently in shelters and foster homes awaiting adoption. Design an experience that will help connect people looking for a new pet with the right companion for them. Help an adopter find a pet which matches their lifestyle, considering factors including breed, gender, age, temperament, and health status. Provide a high-level flow and supporting wire frames.

Why I chose this problem?
I was given three exercise briefs to choose from (Wait staff reviews, names and faces, and pet adoption). I picked adopting pets for two primary reasons -
- My personal experience with adopting pets
- Personal attachment to the social cause of animal welfare
Initial thoughts and research
- The brief, though defined clearly, is a very broad and general problem statement. It doesn't mention the specifications of target users, ecosystem or constraints of the solutions. When I asked more questions about the brief, I was suggested to take reasonable assumptions at different points.
- Based on the problems that I mention in ‘Understanding the problem’ later in the post, the solutions could have been a physical as well as a digital experience. A recommendation that helped in getting clarity was to design this as an actual Google product. Hence, I chose to design the solutions as a Google app.
- I narrowed down to the users for this exercise as prospective pet adopters, and shelter owners in India. I will explain the reason behind the choice of users later in the post. To understand the problems, I did some research on existing methods that people use to adopt pets. The current methods include posts in Facebook groups, online forums, buy and sell apps, and pet stores. I also talked to a few friends in India and US to identify any differences based on geography. All of these helped me in defining the information to display, hierarchy, and architecture.
Defining the user
I talked to my friends in India and USA, who had past experience of adopting pets. This was to understand if the user-requirements changed based on geography and culture. I found out that the process of adopting a pet is more structured and defined in the US compared to India. There are better forums, societies, and apps that handle this from beginning to end.
The processes in India don't have a formal structure. The availability of stray animals also contributes to people adopting pets direct from the streets than shelters. Although, there are better facilities and structures available in bigger cities in India.
I chose prospective pet owners in Bangalore as the primary test consumers of this app for three reasons -
- Scalability - Bangalore gives a good overlap between the global and Indian culture of adopting and treating animals. The solutions could scale well for different demographics.
- Testing platform - Availability of active animal welfare and shelter societies, as well as foster homes makes it easy to test and validate the problems and solutions.
- Social problem - Stray animals, especially dogs are a nuisance in Bangalore. The local municipal corporation has to keep a check on the population since the shelters are overflowing.
I further narrowed down to the users, to refine their behaviours and requirements. Usually, I create these personas using surveys and interviews to find commonalities. Due to time constraints, I made a few assumptions based on the information gathered from the initial research. Some common characteristics are given below -
- Age range
- 25 to 35 years
- Occupation
- Works on software or fields related to software.
- This defines their work hours and availability for leisure
- Tech literacy
- Own good smartphones (mid to high-range)
- Have good internet connectivity (3G and above, WiFi)
- Aware of the app ecosystem
- Likes / Needs
- Companionship
- Playing with an animal
- Social welfare of animals
- Dislikes
- Destroyed items in the house
- Cleaning up after pet
- Added responsibility
- Concerns
- Pet care while when on vacation
- Budget for pet food
- Vet visits and expenses
- Non-vegetarian food for the animal in a vegetarian household
Understanding the problem
I usually ask a lot of questions to find out the root causes of the issues for the users. I took the same approach in my interviews as well as made some extrapolated assumptions for the same. I found out that people in Bangalore get pets in three ways, in preferential order respectively -
- Buy from pet shops or breeders
- Take in stray or rescued animals
- Adopt from shelters or foster homes
The observation is that people still buy from shops rather than adopt from shelters. The purchased animals are quite often bred in poor conditions. This also results in more animals abandoned as stray or going to shelters. The shelters can't support the flow and hence end up euthanizing the animals. If such are the cases, then why don't people adopt animals from the shelters? Based on the interviews, I found two primary reasons that people don't adopt from shelters -
- People have wrong assumptions about animals from shelters
- People are not sufficiently aware of animal shelters
You can go through a detailed list of the reasons gathered from user interviews in this Google Doc (opens in a new tab).
This research helped me define the problems into the following 'How might we' challenges -
- How might we help a person find a suitable pet based on their needs?
- How might we help more people become aware of animals needing adoption?
- How might we help shelters get more successful adoptions?
Based on these challenges, I was able to come up with a few user stories to create the solutions. The primary three are -
- As an adopter, I can find all the animals that are up for adoption
- As an adopter, I can find the animals that are the best fit for my needs
- As an adopter, I can know about the shelter activities in my city
With these sufficient details, I moved on to create the user flows and wire-frames.
Wire-frames and User flows
With the user stories and challenges laid out, the next task was to put the information in a wire-frame. I finalized the features, necessary information, and navigation in crude paper wire-frames. I also used a few references of possible solutions from other apps in the user journey brainstorm.
The user flow in the paper wire-frames looked concrete and didn't give any red flags. The paper wire-frames were then turned to detailed user flows in Sketch. You can tap on the image to open the magnified version of the wire-frames, in a new tab.
Major time went into identifying possible navigation methods, including bottom bar, vs hamburger. Since the app is pretty light on features, having a simple bottom navigation made more sense. The navigation elements denoted the stages in a person's journey to adopt a pet -
- Browsing different animals to find the best fit
- Making a shortlist of a few that fit the needs
- Getting in touch with the owner or caretaker of the animal to finish the process
An assumption has been made that people will select their city during the sign-up, which can be changed later. This is to surface the best and contextual results for the person using the app.
The user journey after signup takes the person through an optional series of questions. People can skip the questions, but this would be necessary to create a personalized list of animals later. The questions are simple, and choice-based to refine user needs and match them with pets. These are not used to filter results but to match the pets with most relevance.
Home screen structure
If the people skip the questions, they reach the default home which is structured into three primary parts -
- Information card customized by person's actions in the app -
- Gently push the person to answer questions to find the best match
- Inform and remind the person about any upcoming events related to pets
- List of pets that are added recently for adoption
- This prominent surfacing is to reduce the time a pet takes to get adopted
- Over the time, this list should improve the relevance of animals shown
- City-wise lists based on different animals
- This is derived from people's intentions to choose a type of animal first and then approach for adoption
The introduction of information card for upcoming shelter activity is an addition based on a user story. People are quite unaware of the activities happening, and this could be a strong driver for people's participation in social causes.
The addition of videos along with images has been done to let people view the animal in action before even meeting. The video would let people understand the temperament, activity, and behaviour of the pet.
High fidelity mockups
The first assumption was that I was creating the designs for a Google product on mobile. Hence, I focused on keeping the elements consistent with Material guidelines in the mockups. You can click or tap on individual images below to access a larger view of each screen.
- The structure of each screen focuses on making enough information available to the viewer to take necessary actions.
- I have selected two different card sizes on 'Home'. The sizes differ based on the relevance of information to the viewer. Personalized recommendations have a higher priority than general items and hence are prominent.
- The only action available on each animal card is 'Save', apart from accessing details by tap. This is to drive a particular user behaviour of curating first and then deciding.
- The cards that have videos in the gallery have separate markers to bring quick attention. The video snippets can play automatically in these cards.
You can tap on the image to open a larger view.
The expanded view of the home screen shows the information that hid below the scroll. The smaller cards show the least information - 'Name' and 'breed'. This information came out from people's first questions about any animal they want to adopt.
There can be scenarios with animals without names (rescued, people who filled these names were not trained enough etc.). In such cases, the field shows a default name created from 'the age' and 'animal type'.
I paid attention to not fill the cards with beautiful images. The images shown are the ones that people clicked on their phones, including me. The challenge was to let the UI be pleasant even with poor quality images.
You can tap on the image to open a larger view.
The expanded view of 'animal detail' puts the focus on the animal photos and videos.
The large image covers more than 50% of screen space. People can swipe to see more photos or tap for a preview (à la Google Maps). The challenge with the large image was to balance and fit the necessary information and actions. The important details about the animal are clubbed under the name.
I found in my research that people connect better with an animal if they have an emotional background story. Hence, the page titles and label texts use the animal as the first person. The tone of communication tries to make the viewer feel that the animal is talking to you.
For example, 'My story' is the label for general description. 'You will love me for' is the label for the animal details that match the user needs. 'You might not like me for' is the label for the animal details that don't match the user needs.
I decided to not show an animal's percentage match to the user since numbers can be ambiguous without proper information.
The last part of the page is the shelter or owner address, map, and contact. This is helpful when a person is deciding to meet the animal. The other animals from the shelter are also listed and shown at the end of the page to increase the surfacing and hence, chances of adoption.
Exercise duration
Total time spent on this exercise - about 10 hours
- User interviews - 2 hours
- Research and problem definition - about 2 hours
- Wire-frames and user flows - 3.5 hours
- Creating UI in Sketch - about an hour
- Composing this article - about 1.5 hours
Next Steps
Since the time and scope of this exercise were limited, I compiled a list of tasks and activities that need to be picked up next.
Product
- Expand the target user base to individuals
- Finalize target user needs
- Finalize feature set for MVP
- Define success criteria of individual features
Design
- Add missing user flows
- Add screen states (Error, loading, empty, intermediate)
- Add user navigation interactions
- Finalizing the information architecture, illustration styles, and style guide
- Designing web versions of features to support desktop traffic
- Validating the solutions in usability tests
- Design the supplement app or user flows to allow people to put animals for adoption
Discovery and GTMs
- Surface pet results on relevant Google searches. I made a quick example of recommendations in search results
- Collaborate with local administration for public adoption drives and awareness campaigns (Animal posters with QR codes, hoardings with animal stories) Here's an example on Vimeo
- Collaborate to seed the platform to shelters and foster homes