Taming Complexity
17 Comments
Comments are ordered by helpfulness, as indicated by you. Help us pick out the gems and discourage asshattery by voting on notable comments.
Got something to add? You can leave a comment below.
Chris Cullmann
John
Great post. Tell me if you disagree, I work really hard to convince myself complexity is mandatory before I even attempt to tame it in the first place. It’s almost as if taming complexity is the last resort.
When gathering the business requirements from my clients, I often feel overwhelmed by information. Example of what a client might say, “I want a very simple application that integrates with facebook, manages shipping orders, plugs in HTML 5 games and launches missiles at Moscow at the midnight of every full moon”. Umm..maybe I exaggerated that a bit, but that’s definitely how I feel most of the time. First order of business, get rid of complexity: do we really need to launch missiles at moscow at midnight of every full moon?
Tame complexity as a last resort. I’d start any blog post with that. Am I wrong?
Ram
Nice article on a very delicate subject. Anyone who has REDESIGNED an interface knows how tough it is to find that balance between pissing off you existing users and making it easier for newbies.
People take some time to get used to new interfaces.
Give people a new complex interface. They will not even use it and will dismiss it as too complex.
Take some features away from an existing complex interface and all the power users will start to complain, even if those are unwanted features.
Give people a simple interface and start adding new features in a step by step manner, they will not even realize it.
Moral of the story:
1) People are cognitive misers. They are not gonna take the time to learn and use a new complex interface.
2) People resist change and this resistance is proportional to the amount of change involved.
Lessons to learn: Each interface requires a different approach. If I was building something from ground up, I will try to keep the interface as simple as possible and introduce complex features in a step by step manner to the users. On the other hand if I was redesigning an existing interface used by a lot of people I would think twice before removing a feature. It is very tough to find that delicate balance between complexity and simplicity when you are redesigning something.
Simon Collison
Thanks for the responses and kind words (so far). I’m delighted this message resonates and feels relevant (or even obvious) to many of you.
Jeremy Archer: Sorry, but as stated the application I’m building is being built and will be going through a few rounds of private beta until we’re happy that it’s been tested fully and does it’s job. I’d have shared a link if I could. Maybe follow @fanzinefm on Twitter to keep an eye on it.
Asger Norskov Bak: I completely agree. Living With Complexity is another classic book from Don Norman. Everybody should read it, and I usually steer clear of such dictatorial statements.
Mark Brown: I agree with almost everything there, although I see or hear people misunderstanding the purpose of simplicity all over the place! Sure, most seasoned practitioners “get it”, but for many (especially those with less experience, or clients) it is a goal they strive for without truly understanding how to achieve it without damaging the user experience.
Ram: Good comment regarding redesigning complex sites. Completely agree that gradual enhancement is the best way of ensuring a large existing audience isn’t turned away by a redesign or new feature. Incremental baby steps!
Merry christmas!
Jeremy Archer
Can we see the application that Collison was referring to? I’m facing something of a similar challenge at the moment with my other projects, and I need inspiration.
barryvan
Fantastic article. I work on a very complex web app, and I too find that the question is not so much “what can I get rid of?” as it is “how can I include this essential feature without introducing unnecessary complexity?” Part of the difficulty is that the software we produce needs to leverage users’ existing real-world (non-computer-based) knowledge, whilst still providing all the benefits of a centralised system and the power of a computer. It’s therefore not an easy task to avoid slipping into confusing and complex interfaces — given the users’ mental models of the system.
Asger Norskov Bak
Great article Simon,
I can also recommend Donald Norman’s Living with Complexity, in which he touches upon similar themes.
Merry christmas,
Asger
Mark Brown
Very interesting article!
I don’t believe the push for simplicity has been misunderstood all too much, I think it’s one of the best things to happen to web based UI in a long while.
Without the paraphrase “Everything should be made as simple as possible, but no simpler.” makes absolute sense to me. I agree with you that it aint’ easy.
Anywhere I’ve seen the ideas of simplicity promoted they have also been talking about content-first and focusing on the core of the page e.g. Epicenter_Design
This forces people to focus on real problems your design is trying to solve, and address those complexities first.
So, I see the Simplicity Movement more about cutting out the things that don’t matter, and then giving those complex areas you want to focus on, more love and attention.
It’s always interesting hearing other sides of the argument though and it’s a good reminder to do these things after much thought, not hasty heavy handed movements with an eraser.
Simon Cox
Nice piece Simon.
I have always found that the seemingly simple things, to a users eye, are the things that have more complex thought processes put into their creation. Things that appear complex to users will normally have had less thought spent on them.
Making things simple to use isn’t simple at all – it’s actually the hardest thing to do – especially if there is a lot going on behind the scenes.
As an industry we are maturing and getting much better at this each year.
Stuart Robson
A bloody marvelous article, I really enjoy Simons candor and this years @24ways does not disappoint. Thanks for an enjoyable read on the complexity of simplicity on a cold Wednesday morning.
@24ways, 3 days to go, I’m sure they all be corkers too :o)
Niels Matthijs
Great article.
This is what I wrote some time ago in regard to social platforms and usability:
Usability for me is taking a certain task and making it as simple as humanly possible to perform, without losing any meaning in the process (= essential).
This is what many social platforms failed to see. They reduced interaction to single clicks and posting onliners and in the process they cut out actual communication (like replying with arguments that span more than one single sentence). So yeah, these networks are now very popular and extremely easy in use (you just click around and like everything you see), but they didn’t quite become more meaningful in the process.
In that sense I definitely don’t agree with Mark Brown, people do take it the wrong way and in the end it’s the user that suffers the consequences.
pixeline
This article on complexity resonates with “relativity” in my mind.
There is really no rule of thumb on the web. Physicians may be currently revisiting Einstein’s laws of relativity (Higg’s boson °-)) but web builders still need to keep a “relative” attitude to every dogma, such as “less is more”, “always / never” statements and the likes. Every project is different (content & meaning, intention, objectives, target audience, customer needs, culture, etc), we should be careful every time and watch our every step.
Alongside, designers (should) develop our own style, our own approach, our own discourse, our own voice. For instance, i’d always favor “information” over “decoration”. But some projects require decoration. I just know i should say “no” to them, because i know I can’t deliver. But that doesn’t mean you can’t . There is room for all styles of expression on the internet, that’s why it’s such a great place to work on.
Let’s just not make it all template-based. Or Facebook-paged. For that alone, I ‘d exchange 1000 facebooks for the return of Geocities.
Ted Goas
Simon, just wanted to let you know that I really enjoyed reading your angle on complexity in web apps. I’ve also been working on a rather complex app and arriving at some of the same conclusions. You’ve done a wonderful job at putting it into words.
The app I’m working on is for clinical and medical trials. Tons of data, numerous admin privileges, several suites of tools, and what I thought were a few cluttered chunks of UI. When first designing each screen, I often asked if menu options or features could be removed to make everything simpler. But usually I was told these extra features needed to be there, even if they weren’t used by everyone. So the features stayed.
I’m very happy with how the app is shaping up, but I’d be lying if I didn’t open my browser every morning and think about removing pieces of the interface.
Yesterday we did our first round of real user testing. During the process, I frequently cringed as certain screens were brought up on screen, fearing subjects would be lost amidst a sea of options. But much to my surprise, the testing went quite smoothly. Users found most most of the navigation intuitive and completed tasks rather easily. We kept our eye on simplicity when building this app, and it was nice to see that it looks as though we found a good balance between complexity and clarity.
I realize that “less is more” or “less is less, which means more” are popular schools of thought, but whenever that’s not appropriate, I can always look back to articles like this. Cheers!
Keith Instone
Another similar take on simplicity is Maeda’s The Laws of Simplicity.
It is in fact an over-simplification (pun intended) to say that simpler is ALWAYS better. Like all design decisions: it depends. It depends on what your users goals are. It depends on your business model. It depends on the context.
A good designer understands the dependencies and adjusts as needed. If you are not sure what the “it depends” factors are, then in general, simpler is better. It can help you later figure out what the important dependencies are and add in the complexity that matters.
Curt Rostenbach
My experience has been that users want to pave the cow path. They want you to take a process they are used to doing on paper and just make it electronic. My least favorite phrase in response to some edge condition is, “don’t worry about it, it doesn’t occur too often.” Then I have to explain to them that if it occurs even once, I have to deal with it. The other problem is that they will ask for what they think you can do (at that moment). Once they see you do that, then they want you to add to it. I generally ask them to give me their wildest fantasy on what they want to accomplish and then we will scale it back to reality. In other words, don’t tell me you want a wet bar on the other side of the room after I’ve laid the concrete slab.
To address your concept of simplicity, I agree. I don’t want buttons on the screen or being enabled until it is appropriate. Too many times I’ve seen screens that allow entry of data that is not appropriate at the time and then the program allows them to add bad data to the database. And guess who gets to clean it up?
The user must be constrained, but still given the sense of freedom, not that of a strait jacket that must be worn willingly.
Neil
“If less is more, think how much more more would be”.
Barnaby Walters
Sometimes complexity is in fact needed to appear simple, especially in AI. Take iOS’s spelling correction algorithm, which learns your vocabulary. Or siri’s natural language interpretation. Or google translate. Every one of these is incredibly complex, but that complexity is hidden behind a simple or even invisible user interface.
These tools would be much more complex if, say you had to specify which words were nouns, verbs, etc, or if you had to tell ios which words to learn. So more complex processing is required to maintain simplicity.
Great article!
A nuance to being able to design for simplicity is “selling” simplicity. Almost any client will agree that simplicity is important and that their audience will gravitate to simpler choices. The trick is in managing simplicity as projects progress and evolve. Simplicity is a practice and methodology above a design principle.
Great article-it’s source like this that can help root a team and focus a project.