Skip to main content
  1. Blog
  2. Article

Matthew Paul Thomas
on 23 November 2012

Solving design problems


Earlier this year, I worked with other Canonical designers on a poster for Ubuntu contributors about how to solve design problems. This poster was shared with participants at the Ubuntu Developer Summit in California.

What’s a design problem?

It’s any situation where

  • you don’t know what design to implement, or
  • your users aren’t satisfied with the design.

Whether you’re designing something new, or redesigning something, even following just one of these steps will help. The more steps you follow, the better the results.

1. Define the target user

  • Who uses (or will use) your software?
  • What will they use it for?
  • How often will they use it?
  • Where will they use it? (What kind of environment?)

Try writing a one-paragraph persona, giving the name, age, occupation, experience, values etc of a target user.

Ideally, personas are based on interviews or surveys. Find out more about personas on usability.gov.

2. Test the existing solution

If you have an existing implementation, what’s good and bad about it?

Is a similar problem addressed in other applications, or on other platforms? You might even do usability testing of the competition.

3. Evaluate alternative solutions

Think of as many alternative solutions as you can. Things to try:

  • removing something
  • combining things
  • rearranging things
  • rewording things
  • adding something.

Then, compare your alternative solutions on the scales that are important to your target users. These might include:

  • learnability — simplicity, lack of jargon
  • efficiency — reduced clicks, keypresses, movement etc
  • forgiveness — the ability to undo mistakes
  • elegance — parsimony, beauty, and alignment.

4. Test with real users

Testing a static design, you can sketch a paper prototype, or use a printed screenshot or mockup to show people.

With something more complex, implement a prototype and get people to try it.

Be clear that you’re testing the software, not the people. And don’t give hints unless someone says they’re completely stuck. 24 Ways has a good guide to fast and simple usability testing.

Related posts


Miguel Divo
13 February 2026

From inspiration to impact: design students from Regent’s University London explore open design for their dissertation projects

Design Article

Last year, we had the opportunity to speak at Regent’s UX Conference (Regent’s University London’s conference to showcase UX work by staff, students, and alumni), where we engaged with students to make them aware of open design and their ability to contribute design skills to open source projects. The talk sparked great discussion, and we ...


Miguel Divo
19 January 2026

Showcasing open design in action: Loughborough University design students explore open source projects

Design Article

Last year, we collaborated with two design student teams from Loughborough University in the UK. These students were challenged to work on open source project briefs. Team 1 focused on non-code contributions, while Team 2’s brief was to create a unified documentation experience, giving them a chance to apply their design skills to real-wo ...


Graham Morrison
18 December 2025

Design and Documentation clinics at FOSDEM Fringe 2026

Ubuntu Article

FOSDEM is one of the biggest and most exciting open source events of the year, held at the Solbosch campus of the Université Libre de Bruxelles (Brussels), Belgium. Thousands of open source contributors and enthusiasts attend, often with several folks from Canonical among them. The next one is coming quickly, with FOSDEM 2026 being held ...