10 principles of Design for software
Dieter Rams was chief of design at Braun (1951-1995), where he emerged as one of the most influential industrial designers that has ever lived. His legacy is of immense importance to us all. In the 80's, as consumerism went wild, he felt unhappy with the way things were going and penned his "10 principles of design", sometimes also called "The ten commandments". This sound advice resonates with me, and applies even in the world of software, where the level of complexity is typically very high. It takes a lot of practice and patience to be able to mentally abstract out all the angry noise out and provide a quiet and balanced design. Dieter Rams also penned my first and foremost rule of thumb: "If you can do it with less, do it". As he says here, design is not all about "making it pretty": “To use design to impress, to polish things up, to make them chic, is no design at all. This is packaging. When we concentrate on the essential elements in design, when we omit all superfluous elements, we find forms become: quiet, comfortable, understandable and, most importantly, long lasting.”
Here are the Ten principles, re-framed for the software industry:
1. Good design is innovative
This about not blindly using pattern libraries to address interaction problems, or with no forethought, going ahead and doing something you have done a thousand times before. Even if it is "just another web form" for example, and that you have made thousands like it before, what is it you have become blind to? What is it that you can change? Is there a better way? Does there even need to be a form? Every time you approach a piece of work, "empty your cup", and try and see it with beginners eyes.
2. Good design makes a product useful
Question whether the features you are designing are really needed, and ask users even if you think you're sure. If you make features that nobody uses, its wasteful and already bad design in itself. The Standish Group’s statistic is that 45% of features in software go unused. It's your job as an experience designer to ensure that the user gets what they need, not what they think they need and not what anyone else thinks they need. This is why it's good to do prototype testing, and also role-playing. Role-playing will enable you to work out what the interaction users want to have with the system is, better than asking them what features they want. The same goes for unnecessary images, links, text, screens, clicks, cognitive load...keep it simple and balanced. Do away with anything that detracts from the original user intention.
On another note, before embarking on building a product or a service, system or process, ensure that it is going to be used, that there is a genuine need for it. Please don't make the software version of one of these.
3. Good design is aesthetic
This sounds like a no-brainer, but there is a lot of awful looking software out there, some that I am sure you use quite often as well. It's one thing for it to be functional, useful and that it "does what it says on the box" but you're not selling a can of beans here. This is where you really need to have someone who understands what makes a good design also visually pleasing. Different aesthetic directions will work for different cultures, sub-cultures, demographics and so on. The visual designer does not make something that s/he wants to see, but rather something that will work for the audience and the brand. S/he will use their expertise and experience to ensure that it looks good as well.
Don't underestimate this part, and over-simplify it. If you have ever had to make presentation slides, you will know how time consuming the visual design can be. It requires a really creative thinker and an accomplished expert to make an excellent job of this. Beauty is in the execution.
4. Good design makes a product understandable
The software you make should be self-explanatory for users. Help text and lists of FAQ's are a poor substitute for good design. It should be obvious to the user what it is they need to do, and what the software will do for them. That conversation between human and software must be smooth and simple. Continue to refine the design until users can easily and quickly achieve their goal...without frowning or looking worried.
5. Good design is unobtrusive
Your software is not a work of art. Its function is not to provoke a reaction in anyone. It should fulfill its purpose and do so elegantly, without arrogance and without trying hard to be noticed and loved. It should be a comfortable enabler for people. Dieter Rams defines "unobtrusive" as "both neutral and restrained, to leave room for the user’s self-expression". The same is true for design in software. Imagine that the software is telling a story, and allow the user to write the ending.
6. Good design is honest
Always deliver on your promises to the people using your software, even if they are implied. Software needs transparency to gain trust from the people using it, and to gain their loyalty. We need to be clear about what we're doing with their information, with their money, with their actions, with their social networks...and be sure that we've communicated that really well. We also need to be transparent about what our software can and cannot do.
7. Good design is long-lasting
Dieter Rams said that "It avoids being fashionable and therefore never appears antiquated". In the world of software, there is a lot of waste. An Agile philosophy, with well integrated experience design practices will ensure that the right thing is delivered, and that it fundamentally lasts. It will go through iterations and then more iterations and really never be finished, as software moves and morphs with needs and changing technologies. We should ensure that our decisions are not based on what's hot, but what's needed and what is best for the business and the people who will end up using our software.
8. Good design is thorough, down to the last detail
I said in my "Experience design manifesto" that I would "Sweat the details so that you don"t have to". A great execution of an idea is fundamental to it succeeding. Every detail of the experience design needs to be thought through, so that we can ensure that it's not clumsy to use. The information architecture needs time and testing to get right, interactions that seem like a good idea in your head don't play out as planned, and not everyone uses the same language as you do. Testing with enough users will allow you to hunt for the details, as will running an "unfocus group" with users from polar extremes of the spectrum.
9. Good design is environmentally-friendly
Let us please put a stop to all those horrible websites that litter the web, software that gets left unused or abandoned by those it was intended for, and the software that causes pain, anger, and sadness in people. Software needs to be human-centered to be environmentally friendly, because its environment is people's lives.
10. Good design is as little design as possible
Good experience design is about taking things away not adding things in. Can you design fewer steps in the process, fewer clicks, fewer screen reloads, fewer minutes waiting, fewer distractions on the screen...Can you create an experience that is less hassle and less painful than any other? We often talk about making experience design more enjoyable, or delightful or something else. Really I think that we should not be "making" but "unmaking" the experience, at least to begin with. What is the most direct path for a person? If that path involves being delighted that I can browse shoes or that I can quickly pay for something, then that should be the focus. Anything that distracts from it should be taken away. Each part of the software must not overload me with choices but point me to where I need to be. In order to do great experience design, you have to be able to synthesize all of the information that you have about about it, and distill it down to the crux of the thing. Then simplicity emerges.
A couple more quotes from Dieter Rams for your pleasure:
"A designer who wants to achieve good design must not regard himself as an artist who, according to taste and aesthetics, is merely dressing-up products with a last minute garment. The designer must be the gestaltingenieur or creative engineer. They synthesise the completed product from the various elements that make up its design. Their work is largely rational, meaning that aesthetic decisions are justified by an understanding of the product’s purpose.”
"I hate everything that is driven by fashion. From the beginning it was hating the sixties American way of styling. Especially the cars. They changed their styling every two years to sell more. Which has nothing to do with good design".
“Good design is innovative. It does not copy existing product forms, nor does it produce any kind of novelty for the sake of it. The essence of innovation must be clearly seen in all functions of a product.”