Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

You can create a great UI, but it will always piss some users off. The more flexible your UI, the more complex it will seem. So what's the best thing to do? Create a simple UI that's easy to use for most people, or create a flexible UI that's hard to learn but always does exactly what the user wants?

share|improve this question
As somebody said long ago: people don't want your UIs, a big red button with "do it" notice would be their beloved application interface if it was possible. –  naugtur Aug 19 '10 at 13:00
Well, a "do it" button would probably just result in people pressing it and being mad when your "it" turned out to be different than theirs. I guess that's a call for good documentation. –  Kzqai Sep 7 '10 at 23:30
add comment

14 Answers

up vote 6 down vote accepted

I don't think they are mutually exclusive but in the cases they are you have to look at what your customers want / need.

Any interface can be made simpler by moving complex functionality out of the way to some other place. I think that is the main trade off. To make it easier to use for the average user you have to make it more complicated for the power user. They have to do a few more clicks to get their stuff.

But of course quite often the software can be made easier for both power users and casual users without sacrificing usability for any of them. A key thing is to create orthogonal features than can be combined easily. Often software is complicated because there are a lot of overlapping features. Instead by making a few distinct features that can be easily combined the software can be made a lot more flexible and simpler.

Figure it out by making an object / action matrix. List the number of different objects in your app along one axis and the actions you can perform on them on another axis. The matrix should not be too sparse.

share|improve this answer
add comment

I don't know if there is an easy answer to this question. But there are some great quotes that reflect my opinion on the subject.

You can often find this quote inside books and articles concerning usability and design:

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." - Antoine de Saint-Exupery

Taken out of context this may seem to advocate simplicity above all else. It's a great quote and it is indeed a great exercise to remove useless bits from your design to make it more intuitive. But I think the idea behind it is incomplete when it comes to user interfaces.

I think this sums it up best:

"It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience." - Albert Einstein

Or, to put Einstein's words in plain terms:

Everything should be made as simple as possible, but no simpler than is necessary.

I constantly try to think from this perspective. Do we really need this thing in our application? Most importantly, will anyone really miss it if it's gone? Conversely, what's missing from the application that we know everyone wants? Those decisions are all made based off of what the majority of users really need to use your software effectively, and nothing more.

Personally, I suppose I would make the UI just as clean, simple, and easy to use as possible for your given functionality. Then, if lots of people complain about this feature not being collapsible, or that toolbar not being movable, then you can address that when it comes.

share|improve this answer
That's one of my favorite design philosophies and Antoine de Saint-Exupery quotes. –  milesmeow Aug 12 '10 at 17:35
+1 for quotations –  igor Aug 29 '10 at 15:08
Another one, attributed to Blaise Pascal: "I would have written a shorter letter, but I did not have the time." –  Patrick McElhaney Aug 30 '10 at 21:03
add comment

Eric Burke on Simplicity:

enter image description here

share|improve this answer
And what results will you get in a case of google search and in a case "your company's app"? ;) (many unusable information and concrete action) :) –  igor Aug 10 '10 at 10:30
'Your Company's App' looks a lot like Googles 'Advanced Search' –  JeffO Aug 30 '10 at 18:15
add comment

To an extent, you can do both. Keep it as simple as possible for most users and use progressive disclosure to reveal the more advanced options for users that need them. Keep in mind, however, that more does not always equal better. Option overload occurs when there are so many choices that the user feels overwhelmed and frustrated.

share|improve this answer
Progressive disclosure would work brilliantly for an application like Terragen. –  Rocketmagnet Aug 14 '10 at 23:04
add comment

I'll reproduce here a small rant about the evils of advanced UI flexibility in the last 4 or 5 paragraphs of this entry on my blog about an aspect of Outlook's UI.

Now, there are those who might see this as a triumph of Microsoft usability. After all, I had a problem, and thanks to the flexibility they built in, I was able to fix it. Yay Microsoft! right?

Well, not quite. See, the trouble with customisable interfaces is that they occasionally get customised.

See, now that I have made this alteration, if any of the rest of the 99.99% of highly habitualised Microsoft Outlook users who not only haven’t modified their toolbar, but don’t even know it can be done, attempt to use the one I have now changed, they will have a much harder time finding Reply to All.

Also, if I was to actually get really, really used to it, and perhaps even began to rely on it, I would also have a moment of confusion when I went to use an uncustomised version - which will inevitably happen, if only when something gets reinstalled sometime and the setting is lost. So although I have indeed been able to try a solution, it is not likely that I’ll make using it this modified way a truly instinctive habit. Doing that would just be inviting problems for myself further down the track.

A better approach from a usability purist’s standpoint would have been just to get it right in the first place :-)

Of course, 'getting it right' is easier said than done.

share|improve this answer
I guess you're the one that convinced me, so I'll accept your answer. –  Jouke van der Maas Aug 10 '10 at 11:37
I disagree with the conclusion here, that all interfaces can be made simple. Having worked on a software project where the program is only used by a small number of experts, I have seen many cases where a complicated and customizable interface is better. Before this work though, I would have agreed with you... –  Scott Newson Aug 10 '10 at 16:17
That's not my conclusion. In fact, I would argue that we need to break complexity into 'intrinsic' and 'unnessary' complexity, and eliminate the unnessary and not the intrinsic. Making the UI itself changeable, however, is almost always unnessary complexity. –  whybird Aug 12 '10 at 2:27
Not a massive problem though. Do a lot of other people use yout Outlook toolbar? –  Rocketmagnet Aug 14 '10 at 22:56
No, but I wind up reverting to the standard one surprisingly often. It's just not worth it. –  whybird Aug 15 '10 at 0:43
add comment

They're not necessarily mutually exclusive. For instance, GMail is a complicated UI that is easy to learn. Excel is a rich, deep UI that has many hidden complexities - but the learnability is high due to its immediate shallowness (all you need to do to use it is click in a cell and start typing).

I think the question touches more on issues with discoverability. If you create a simple UI but hide all the interactions behind menus, you can still mess it up, even if the menus aren't very deep. Similarly, you can create a really easy to use UI by focusing on the right things and using graphic design elements well (such as weight, typography and colour) to focus the user's attention on the right things.

There's a lot to draw on from videogames. One thing they do well is have players learn the "interface" in self-reinforcing loops that grant high satisfaction. A great example is in Super Mario, where jumping is a basic gameplay verb, but the user can easily discover a more advanced form of jumping by doing so several times in succession. Each time a successive jump connects, the player is given a small reward in the form of Mario whooping more loudly with each jump. There's definitely a shortage of short feedback loops like that in modern UI design.

share|improve this answer
add comment

What do you choose? :)

enter image description here

My answer: simplicity UI. But it is difficult to implement. But it is nice.

share|improve this answer
-1 I don't know. Depending on the situation I might use either one... This isn't an obvious answer. –  Scott Newson Aug 10 '10 at 16:19
@sgnewson My answer is simplicity UI. I don't need in so type of comments, thank you. –  igor Aug 10 '10 at 17:52
I'd choose the first one because it's much easier to use. Not the simplest though. –  Jouke van der Maas Aug 10 '10 at 21:29
@Jouke van der Maas "It's much easier" for whom? for developer or for user? I think you understand that owner of application should investigate user's experience. Simplicity is very subjective. I spent much time and got -2 for my answer. So I am stopping this senseless discussion. –  igor Aug 11 '10 at 6:56
Ok, in your new example I would agree that the last choice would be simplest. But it still isn't the only correct answer. Seeing an empty text box in which to type, I have no idea what sort of things I can put in it. I have to see someone else put in dates before I think to do so myself. In the first choice, it is obvious that I can put in dates. Thus, in it's own way, it is more usable. (You have changed the example, right? I remember something different.) –  Scott Newson Aug 12 '10 at 7:03
show 2 more comments

Im all for simple UIs.

Most users prefer a simple, clean and simple to understand UI.

Think Google. Think IPod.

How many people do you know that take advantage of UI settings?

share|improve this answer
add comment

IMHO, flexibility is too often an excuse for not implementing a UI well in the first place.

However, you can have both. Write a simple UI in a fairly easy to understand language, like Lua. Give parts of the interface a tiny button which a user can press to bring up the Lua code for that bit. Then they can freely edit the UI.

share|improve this answer
Yes, or load parts of the WPF xaml at runtime. I was thinking about that too. –  Jouke van der Maas Aug 15 '10 at 10:04
add comment

This is an interesting related article by Mike Rundle: http://flyosity.com/iphone/kill-the-settings-build-opinionated-software.php Even if it's not of help, it's still a good read.

share|improve this answer
Thanks, I'll check it out. –  Jouke van der Maas Aug 16 '10 at 20:58
add comment

Go for simplicity and forget flexibility, Microsoft has done research about this when they developed Office 2007, I'll give you two quotes from this post

What users say: ...talking to some of our expert users within large companies, who in several cases assured us that "everyone" customizes their UI...

What actually happens: In fewer than 2% of sessions, the program was running with customized command bars.

Forget UI customization, you'll get better result from focusing on making the "default UI" better.

Edit: Let me clarify, what I'm saying is that given you have finite development resources, if you spend those resources on optimizing the default UI the application will be better than if you spend the time building UI customization.

The application will be better for the 98% that never use customization and the application will be better for most of the 2% who do customize (to work around a UI problem you can solve for everyone).

As a result of having an application that is nicer to use you will get more sales (including from the 2% who would have used customization).

When was the last time you said "Application A is a pleasure to use and application B has a crappy UI, but I prefer B because I can rearrange the toolbars"?

share|improve this answer
But those two percent are the geeks who tell the other ninty-eight what software they should use. See Firefox. Most of it's users don't use extensions but the geek crowd loves it because of it's extensibility and they are vocal about it. –  Christian Aug 10 '10 at 8:36
@Christian - maybe, it all depends on what app you are writing, if it's an accounting package those geeks wouldn't use it anyway, on the other side if it's an open source alternative to a Microsoft product those geeks would use it with or without the flexibility. –  Nir Aug 10 '10 at 11:25
-1: As others have said, flexibility and simplicity are rarely mutually exclusive. You just have to think a bit harder. And those 2% of people will probably be responsible for a much higher share of usage, due to their influence over non-tech people. –  Zifre Aug 29 '10 at 21:06
+1 I agree with the philosophy that the UI designer is responsible for choosing the right default and not downstreaming those decisions to the end user. –  Rahul Aug 30 '10 at 11:36
add comment

The key to providing good simplicity is to have good modularity. http://www.ted.com/talks/george_whitesides_toward_a_science_of_simplicity.html is a good talk on the topic.

share|improve this answer
add comment

Every user request is simple in their mind and if you just did what they wanted, you'd have all the flexibility in the world.

Which is why you should start simple and only offer flexiblity in the simplest form they will accept once you've been able to get at the root of what they really need.

Many answers have used the Google interface as an example of simplicity, but what about the 'Advanced Search' functionality. Seems like they've managed to make it simple for most, but offer a more complicated solution for others. Obviously they have the resources to do both and have baked their code over many years.

share|improve this answer
And a piece of unmanageable software. –  Jouke van der Maas Aug 28 '10 at 14:46
add comment

The answer is always "Don't Make Me Think."
I read this book over 10 years ago. It is still one of the best books on the web design. I don't think the author's ideas apply to everything, but they are helpful. Read it. "Don't Make Me Think: A Common Sense Approach to Web Usability"

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.