Your submission was sent successfully! Close

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

You have successfully unsubscribed! Close

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

The process of certainty. And mojitos.

Tags: Design

This article is more than 14 years old.


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.

Talk to us today

Interested in running Ubuntu in your organisation?

Newsletter signup

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

Visual Testing: GitHub Actions Migration & Test Optimisation

What is Visual Testing? Visual testing analyses the visual appearance of a user interface. Snapshots of pages are taken to create a “baseline”, or the current...

Let’s talk open design

Why aren’t there more design contributions in open source? Help us find out!

Canonical’s recipe for High Performance Computing

In essence, High Performance Computing (HPC) is quite simple. Speed and scale. In practice, the concept is quite complex and hard to achieve. It is not...