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
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 ...


piperdeck
20 January 2025

An Introduction to Open Source Licensing for complete beginners

Design Article

Open source is one of the most exciting, but often misunderstood, innovations of our modern world. I still remember the first time I installed linux on my laptop, saw the vast array of packages I could install on it, all the utilities and libraries that make it work, all the forum threads filled with advice ...


Maximilian Blazek
6 November 2024

Designing Canonical’s Figma libraries for performance and structure

Design Article

How Canonical’s Design team rebuilt their Figma libraries, with practical guidelines on structure, performance, and maintenance processes. ...