Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Canonical
on 7 April 2010

The process of certainty. And mojitos.


You know that feeling when you know someone very well and you buy them a present? You know they will love it and you are excited at the very thought of their delight? Part of you is a little scared though. A few butterflies in the stomach. What if I have misread? What if they don’t like it?

I listened to someone speak recently who said that one thing he had learnt in his IT career was that the first time you do anything it will be wrong.

I disagree.

Rolling out a new database for a website, for example, can be done right first time. Be clear on what the old one does, write some tests, test the tests, make a rollback plan, test that. Make the new database. Research, plan, build, test, execute. The occasional hardware failure or act of god notwithstanding, everything is likely to work very smoothly and you can sit back and have a celebratory mojito.

I like mojitos.

Certainty isn’t always possible. Let’s aim for confidence.

1. Understand your users. No, don’t simply survey them, understand their underlying needs, behaviours; embrace that information, it will be the difference between functional and delightful. Think about how you ask the questions and make sure you understand the answer.

2. Understand the underlying objectives of the product, service, project you are setting out to design. These might be your objectives, your employers, your clients. Make sure you are clear on these factors.

3. Understand the competitor landscape: what might your users have learnt from them? What can you learn from them? What is food for ideas and what is noise?

4. Understand existing design principles, patterns and rules. Experiment, invent, play but remember that these are part of your toolbox.

5. Understand your need for testing. Test an idea. Test a sketch. Test a prototype. Test again. Be humbled again and again by all the assumptions you have made without realising. Be clear on what you are testing and why. Designing the test is a key part of the process.

6. Understand the limitations of the technologies you are working with. By all means push the limits. Reality checks are enormously important because poor execution of even the most brilliant design will undermine the user experience of it. You need to make sure your understanding matches that of the people who will be putting it together.

7. Understand the need to throw bad ideas away. They are fun. You should play. Test them. Understand why they are wrong and ditch them. Ideas are cheap.

8. Understand what is good about a design. Understand why. Add to it, improve on it, add it to your toolbox, move on. Good ideas are as cheap as bad ones.

Test, repeat, improve.

Perfection is elusive. Have a mojito, sometimes it helps.

Related posts


Lyubomir Popov
23 June 2025

Revolutionizing Web Page Creation: How Structured Content is Slashing Design and Development Time

Ubuntu Article

Co-authored with Julie Muzina A year ago, during our Madrid Engineering Sprint, we challenged ourselves to dramatically reduce, or even eliminate, the need for constant design involvement in the day-to-day creation of web pages. Our strategy for achieving this is based on a smarter, more structured approach to content. The Challenge: Brid ...


Leia Ruffini
14 April 2025

How we ran an effective sprint to refresh our website, Part 1

Design Article

Part 1 of how we ran a design sprint to refresh our website. Sharing what worked, what didn’t, and lessons from designing for open source in mind. ...


Lyubomir Popov
17 February 2025

A deep dive into our grid system and typography for the A4 format

Ubuntu Article

We recently redesigned our whitepapers as part of our broader rebranding project. Let’s look at some of the ideas behind our approach to layout and typography. The goal? A reliable, accessible modular system that communicates with clarity, purpose and precision across mediums — qualities that tie directly back to our brand values. Context ...