Designing beyond the happy path

Vasco Vieira
Pixelmatters
Published in
4 min readNov 6, 2023

As designers, our goal is to create the best product and deliver an amazing user experience. Along the way, we have invested our efforts into designing an idealistic, super-smooth experience with a visually appealing interface. All elements have been carefully planned and aligned to help users achieve their goals.

However, on the journey to success, we may encounter obstacles or unexpected challenges. If we don’t have the answers, we risk ending up with a failed experience.

So, what should we be aware of to design a successful user experience?

Happy and unhappy paths

The happy path is typically the first design that you will create, as it is the path that users are expected to take more often. This path leads users to successfully complete a task or process, resulting in a positive outcome.

On the opposite side, unhappy paths are all the remaining scenarios where exceptional or error conditions happen, preventing the user from getting stuck in the flow or from unexpected events.

Designing the happy path is important, but it’s just as important to design and anticipate all those other different paths the user might take. What happens if they don’t use things as expected or as the happy path would define? What happens if the internet connection fails? How does the interface respond in those scenarios?

We should ask all those types of questions while designing a solution and start creating unhappy or alternate paths to build better products.

Designing successful and unsuccessful paths for a complete user experience.

‍Making unhappy paths part of the process

Thinking about unhappy paths at the beginning of the process, still in the early stages of the UX definition, helps to optimize the time and future-proof the designed solution. It also reduces the possibility of future UX/UI issues while improving the design <> engineering relationship friction.

How to incorporate them into your process:

  1. Identify key user flows: Begin by mapping out the primary sitemap of your product and determine the key user flows that require focus. Identify the parts of the experience that will trigger other paths.
  2. Map the happy paths for each user flow: For example, consider a user starting from viewing a product on a landing page to completing a purchase. Two key flows that can be identified are the “Login” and “Checkout” flows.
  3. Conduct research: Once you have identified the most obvious or known paths in your flow, seek out examples from competitors and other sources. Test these paths beyond the happy path and evaluate if they make sense for your product.
  4. Explore alternative paths and define unhappy paths: Map out additional flows, screens, or error states that may be required or triggered with the help of the existing product requirements.
  5. Test and iterate: Create prototypes and test the flows with your users. Validate your assumptions, discover new unhappy paths, and iterate on your solutions.

Design to prevent unhappy paths

In some cases, we can step up to maximize the user experience and ensure the users don’t even encounter errors. Some behaviors or design decisions can elevate your solution to steer users on the happy path with good UX design.

5 ways to reduce experience friction:

  • Prevent errors whenever possible by defining specific behaviors for different situations. For example, when a user is scheduling an event with a start and end date, it is essential to ensure that the end date cannot occur before the start date.
  • Validate user input in real time. Live validation is especially useful for certain inputs that have less predictable parameters.
  • Preserve user’s inputs by preventing them from entering the same data twice in the event of unexpected errors or internet connection failures. One way to achieve this is by storing the user’s input whenever possible.
  • Add context to your error messages to make sure users understand the problem they’re facing and know how to solve it, avoiding frustration.
  • Ensure accessibility of the interface and take into account the needs of different users. Some users may be color blind or have low vision, so relying solely on color to indicate errors may not be enough for them to navigate through the flow or be alerted by warning/error messages.
Adding context to error messages guarantees users understand the problem they’re facing.

‍Conclusion

Designing for both happy and unhappy paths helps make sure the user gets back on the right track when using a product. It’s important to understand and design for all the scenarios in which the user might incorrectly use the product, although it’s unlikely to cover all of them. As you gather more insights from users regarding their usage of the interface and their unexpected decisions, iterate and improve your solutions.

Think beyond the happy path to build better products.

--

--