My manager at Canada Life (formerly Great West Life) gave the UX team a challenge to be evil. We had to create a bad design of a car rental system. There was free reign over creating a new company, using a current one, etc.
My initial thoughts were to do a competitive analysis of popular car rental apps in Canada and to devise a be evil strategy but one that was not intentionally bad.
Competitive Analysis
Popular Canadian Car Rental Apps when searching "Car Rental" on the iOS App Store include:
↳ Alamo
↳ Enterprise Rent-A-Car
↳ Avis
↳ Expedia
According to, the best rental app is Alamo. I visited each of these sites but I really liked how impeccable and clean Avis' workflow was. I've also rented a car using Avis before so I know how it works.
I decided to tackle one of the biggest ones in North America - Avis Car Rental. Their flow between each screen to rent a car is seamless so making it unintentionally bad was going to be hard!
The strategy was to reverse engineer the current good design. To do so, I copied the Avis iOS workflow into Sketch.
While I didn't want to break the application workflow entirely, the target demographic of Car Rental users are people over the age of 21. This means people who are using this application are familiar with the technology. With that in mind, I can generalize users have a flow and patterns they are accustomed to.
Brainstorming ideas include:
➀ An annoying feature on websites is forcing the user to use a dropdown menu and I wanted to incorporate that into the main screen where customers will have to choose their Age, Pick-Up Location, Country by scrolling down to a limited number of options.
➁ Using images helps people identify the car they will select, even if they don't recognize the name or model, the image provide crucial information about whether it is a sedan, SUV or crossover, etc. By removing the images, people will have to resort to other means to figure out what the vehicle looks like.
➂ Limiting options in the Discount Packages page and only presenting new ones at every refresh so the user has to work through the entire process to get new options again.
➃ Making an account after the user has proceeded through all screens and is forced to select their options again
➄ Adding pop-ups to get the user to spend more and make selecting important details more annoying
For whiteboarding, I laid out the initial flow of Avis and made modifications along the way. The 4 main screens presented are:
➛ Information/Landing Page
➛ Selecting a Car
➛ Rental/Payment Information
➛ Checkout
In the "Select a Car" page, I removed the vehicle image and added a small specification instead. This interrupts the flow as some users might not know what a car looks like just based on the make/model. They might leave the app to google an image and make their selection.
The final iteration of the "Be Evil" project includes the following changes:
1. Removing images, adding description of cars
The image of the car is removed and the user is provided with the name and specifications of the car. This forces users who are not familiar with cars to google an image to figure out what vehicle they are selecting.
2. Restricted Discount Packages
Users are given a set option of discount packages for every time they go through the process. To get new options, they will have to start over.
3. Car pick-up
To make matters worse, at the end of the sign up process, users are required to get to the location of the car by their own means. The location of the vehicle is wherever the last renter left it.
Having a little fun
To make my presentation a little more fun, users will only be able to use voice to input their personal information. This includes their sensitive credit card information that will have to be spoken out loud.


Key Learnings
I went into this design challenge not knowing how to approach the problem. I had the basic idea that I didn't want to break anything to be evil, I still wanted a workflow and users to interact with the app. By taking the "reverse engineer" approach, my biggest take-away from this is removing basic UX design patterns shows how easily it can change how people interact with an app. Something as simple as removing the keyboard to type out information forces people to step out of their comfort zone and has drastic changes to how someone uses the app.
Back to Top