We all know there are very good interfaces out there, some of which we use everyday:


And now and then some make our eyes bleed:

    FileMatrix (click for larger eye-bleed)

And despite (or maybe in behalf of) how many "store inventory applications" people do on programming courses, if you ever see one, it's more or less precisely like this:

                             What the Fork?

Now my question is:

Why wouldn't you make a simple, clean and minimalistic user interface?
Is there any reason besides utter design incompetence or due-yesterday deadlines?

What I want to know is if there is actually a corporate preference towards eye-bleeding complicated interfaces.

I mean, maybe there is!
Maybe by mastering such a dinosaur proves a company their employees are very serious about their jobs.

I've asked the local librarian, the construction store guy, etc. and they all hate the interfaces of the software they use. I'd never think of making such an interface (it doesn't take much magic pixie dust to group related functionality on toolbars, so that the user can at least opt-out of some "features").

So in all seriousness, is there any real, conscious, sober motivation behind complicated (cf: complex, as in e.g., MS Office Word or Photoshop) user interfaces?

  • 2
    Complicated interactions. Now, if you asked why people make over complicated UIs...well that would also be too subjective honestly.
    – Ben Brocka
    Dec 28, 2011 at 12:21
  • 4
    you should mention your sources...thedailywtf.com/Articles/Enter_The_Matrix.aspx Dec 28, 2011 at 15:36
  • 10
    There is a difference between complex and confusing. A cockpit control panel is necessarily complex because flying a plane is complex. A good UI there wouldn't be simple, but would make the most important information the most visible, the most often-used controls the most accessible, and the most "dangerous" ones difficult to press by accident. (No "eject the pilot" button next to the intercom button, for example.) Dec 28, 2011 at 16:01
  • 2
    Complicated doesn't have to mean 'aesthetically offensive'. Sometimes complex tools require complex interfaces. But that doesn't mean they have to look awful.
    – DA01
    Dec 28, 2011 at 17:39
  • 3
    -1. The example of "simplicity" you make isn't simple at all. You're just so much more familiar with it, you already know what each thing does where.
    – badp
    Dec 28, 2011 at 18:32

8 Answers 8


Some of the UI's highlighted by the question are just plain crap and we probably all agree with such.

In terms of the question of "is there a justifiable reason to a complex UI?", the answer is yes but it all depends on the feedback from the user.

One personal example I have on this was when I was trying to make a simpler interface for a call center application. If you've ever seen call center applications, they are complex and convoluted UIs with a ton of information. I tried to simplify it both from a work flow and task perspectives. During testing, I focused on 2 primary sources of feedback - end user comments and responses, and call stat metrics. For the business, if calls were lasting longer than the old UI, then the new interface was a failure since every call answered is money to the busy.

What I ended up discovering was that the end users were demanding more information on the screen. They wanted to be able to get to the information for the customers as fast as possible. The UI was refactored again to keep things more task focused; however, the UI itself became cluttered (imo) because of the information the end users wanted.

So long story short - it depends on the end users; however, the cases where complexity is used is rare and should only be done if the end users need/want such.

  • Very interesting. I actually talked recently to a woman that started working on a telecom company's call center, and the on the first day of traineeship she thought the UI was terribly complex, but gradually got used to "ignoring" the parts that she didn't use. Dec 28, 2011 at 14:42
  • Yea it was a unique experience that definitely showed me the true value of user research since that scenario was completely against most things we recommend and advocate. The goal for such applications is how to reduce training time while still proving everything the person needs. It's not an easy balancing act. Dec 28, 2011 at 15:27
  • This answer seems about spot on - it's just important to remember that as the complexity of the UI grows (even when justified), that the time it takes to train new users grows with it.
    – TehShrike
    Dec 28, 2011 at 17:53
  • 1
    +1, it really depends on the use case of the interface. Customer service reps need the most common functionailty available ASAP. Because of how often the App is used, they easily adapt to cluttered UIs. See my answer below for more elaboration ux.stackexchange.com/a/15508/7275
    – user606723
    Dec 28, 2011 at 21:42
  • IMO calls were lasting longer than the old UI is the worst metric you could choose for evaluating an application, the optimal solution for that metric is a single button on the screen that plays the soundclip "f* you" to the customer.
    – Lie Ryan
    Dec 28, 2011 at 22:17

The complexity of an interface is directly proportional to the complexity the interactions the user has with the system.

Complicated —or complex— UIs come from a system that provides a wide range of functionalities to the user, and each of this functionalities are achivied in a complex way. The more options the user has, the more controls will have the interface. (For example, MS Excel.)

Besides being complex or not, a UI can simply be badly designed. Bad UIs often appear in applications that don't follow a user-centered design, and instead developers have thrown in the UI elements as the functionalities come. (For example the last two screens in the question.)

Here is an extract from GUI Structural Metrics [PDF] on complexity:

Some interface complexity metrics (...) include:

  • The number of controls in an interface.
  • The longest sequence of distinct controls that must be employed to perform a specific task.
  • The maximum number of choices among controls with which a user can be presented at any point in using that interface.
  • The amount of time it takes a user to perform certain events in the GUI. This may include: key strokes, mouse clicks, pointing, selecting an item from a list, and several other tasks that can be performed in a GUI.

By minimizing these variables we get simpler interfaces.

  • I understand what a complex user interface is, I want to know why some developers/companies have the habit of occupying the whole screen real estate with every imaginable control for the given interaction with the user. For example several buttons instead of a menu, options right in the main UI instead of a "options" dialog, etc. Dec 28, 2011 at 13:03
  • 1
    @Camilo Martin - Because often developers won't sit and watch the consumer audience use their software. They will do whatever makes sense to them, often resulting in complex interfaces like the ones you put in your question. Furthermore, the chances are if they're producing a store inventory application on a course, many courses won't have any consideration for UX etc for the first few parts... Not good, I know.
    – Anonymous
    Dec 28, 2011 at 13:34
  • @Anonymous- I agree with you, developers often focus on the feature they're currently writing and forget it may be of little importance to the end user - they want to make their work visible. However, I want to know if there is a purpose, excluding incompetence and deadlines, for such UI. Dec 28, 2011 at 13:51
  • @CamiloMartin the why is on the first and last sentences. I will add to the answer. Dec 28, 2011 at 14:18
  • 1
    @Camilo you are asking why some interfaces are bad--not complex.
    – DA01
    Dec 28, 2011 at 17:42

I just can tell about my personal experience, how complicated and overcrowded interfaces arise:

Its because programers or engineers just start coding put brick to brick and add for each functional part of the code, where they need user input, a control on the surface. Developers think from perspective of functionality, fight a bug to next one, add some functions here and there, but don't care about the user, layout or consistency of the UI. Which is actually not their job at all.

Give me a UI and I can tell you if a developer or an engineer has coded it. You even see the difference in words and labels they use. (Attention the following is polemic)

To put your question other way round: Why do we put such an emphasis on good interfaces nowadays? The need to make software usable, understandable and trustworthy was already given 20 years ago, but there was no business need to invest money in good Interfaces.

I think people nowadays just see the importance of good interfaces, mainly because of two reasons:

  • First and most obviously it gives you worth as Apple proved everybody.
  • Secondly, most critical parts of coding are already solved. You have frameworks and libraries for everything. Coding nowadays is more like putting things together and making it communicate. (Last frontier was 3d rendering, but it was solved just a couple of years ago or did you wonder why you aren't forced to buy a new computer for the awesome new 3d shooter like 10 years ago?)

Thus, to make your software more compelling and worthy than the one of your competitor, most companies invest in Interface Design and User Experience. Its not about functionality anymore, but usability.

So, my answer would be the motivation is money.

  • Well, yes, the actual trend here is "hey there are a couple of interfaces out there which actually look good!". It's sad too that UX is so underrated. I'm a developer, I write code; but I always try my best to keep in mind that a user is going to need the button in the right place for all of it to make sense. Dec 28, 2011 at 14:36
  • I actually disagree with your comment about no business need to invest money in good interfaces. A lot of the clients that I work with now are looking for ways to make their site easier to use to reduce training cost (for internal applications) or to drive some sales metric (i.e. increase site conversion rates, etc.). For years we have had to deal with poor user interfaces; however, people and companies are realizing the importance of good design all over the place and there's a huge number of examples of this outside of software as well. Dec 28, 2011 at 16:58
  • 2
    "Which is actually not their job at all." Have to disagree. Developers are as much about UX as UI designers. Many aren't, of course, but that's typically a failing of the org structure and processes more than it being "developers don't care". A horrific interface is more often a sign of very bad project processes than it is untalented or uncaring developers.
    – DA01
    Dec 28, 2011 at 17:41
  • @Camilo Martin I think Developers care about good UI, actually good ones think outside the box. But still, its not their job, because if a Dev has a tight schedule, he/she will code and solve bugs in this short time span. They wouldn't think and discuss if the OK Button should be right or left of Cancel Button. That's what they paid for. Imagine what their boss would say, if they present a finished glossy UI, but its not working because code isn't ready. As you siad DA01 project process is a key to good UI as it gives you time and freedom.
    – FrankL
    Dec 29, 2011 at 16:48
  • @JamesEggers Sorry, may be it wasn't well written, but I meant, that it arised business need for UI in recent years only, because of more competitive pressure. You have literally 3 softwares for each problem nowadays, but you would choose the one with better usability.
    – FrankL
    Dec 29, 2011 at 16:55

Interfaces should be as complex has the use case requires.

You reference two very different use cases.

  1. Google/Google chrome -- In this case, Almost all of the complexity is hidden because it's use is a rarity. 99% of the time the user does not desire it. Ease of use is key.
  2. Customer Service rep -- In this case, the more information available on the screen, and the less clicks to perform an action, the better. Any features that are rarely used should be "hidden", but not in such a way that they are hard to find. Efficiency of use is key. This application is used by these people for 8 hours a day... Any large learning curve will be easily conquered.

Keep in mind your examples were of-

  1. A good minimal design
  2. A bad complicated design.

There are such things are good complicated designs and bad minimal designs.

  • My point against this is, that if you have 8 hours a day to learn how to use an UI, it could very well have more "discoverable" (i.e., RTFM) parts. For example, it could feature keyboard shortcuts for most commands, and these commands could be hidden into a menubar. Very easy to implement. Now if they hate clicking trough the menubar, they'd memorize the shortcuts that would be in the right of the labels. That by itself would be useful in a number of cases, especially when the clutter is in part of buttons. Dec 28, 2011 at 22:36
  • @CamiloMartin, while I agree to an extent, I'll also add that (in my inexperienced opinion), it seems like some of these customer service woudln't be able to "handle" things like hotkeys. Simple point and click with mass information on single screens seems better. I've seen circumstances where someone where I will show someone how to use an "advanced" feature like hotkeys to do something in 1/3 the time, but since they are so used to the previous method, they won't use it. "hotkeys" are just too "advanced" for them.
    – user606723
    Dec 28, 2011 at 23:18
  • Well, I saw circumstances where people got used to hotkeys and they weren't even very discoverable, but maybe that's because some people like hotkeys and others don't. On a non-related note I see good complicated designs, but where are the bad minimal designs? Dec 28, 2011 at 23:28
  • A good minimal design hides features that are not used often. ie. google. But sometimes these features might be the ones you want. If a minimalistic design requires you to click 10 times to get an action done that you do 10 times a day.. well, thats a bad design (at least for your use case)
    – user606723
    Dec 29, 2011 at 21:00
  • Agreed, but it's so hard to make a design that's "too simplified", that I doubt I'll ever see one (excluded of course designs that were simply "incomplete", i.e., the developer just didn't care to finish). If you ever saw a design that's bad from being (deliberately) "too minimalistic", please show me. Dec 29, 2011 at 21:34

The number one reason for a complicated looking interface is to have options right there. To users UI elements equal the system capabilities. If they don't see an option most of them won't know that there's a capability.

Google lets you search for say "pages changed in recent two days" but you don't have UI elements for that on the front page - you have to first execute the search and only then you'll have those options on the left of the result set. Yes, there are perhaps (I'm not sure) ways to specify the same right in the search query string, but not many users will remember that and most will rely on the visibly UI elements.

Now Google designers decided that those options are not that essential to be shown on the front page. It's their choice and the result is very neat minimalistic UI with a bit reduced visible functionality. Not many companies allow such design at such expense and not every design can be done like this.

  • I strongly believe almost every corporate UI design out there can be simplified to a fraction of its percieved complexity with little or no impact in "having the options at reach". You're right that Google hides sometimes very neat functionality and some may not even know about it because of that, but Google is not a workplace tool (or maybe it is...). What I'm trying to say is that if employees need to learn how to use an UI anyway, why not choose to hide instead of showing controls that are seldomly used? I mean they still would be there, just behind a menu/tab/whatever. Dec 28, 2011 at 13:24
  • Google is not a workplace tool tell me a workplace that have Internet connection that banned people from accessing Google search.
    – Lie Ryan
    Dec 28, 2011 at 22:15
  • @LieRyan that's why I say "(or maybe it is...)", because it is as much of a workplace tool as stackexchanges are. My point is that google doesn't expect user interest, so it has to publicize its features; while an workplace application can safely assume that users will have to learn it all and will have the time to do so. Dec 28, 2011 at 22:42

I'm of the opinion that interfaces like the last two pictures come about because the programmer does not care about UI, but just get'R done mentality. Plus there may be more than one programmer, and they do not discuss the UI with each other. Which is what the corporate and even small business world encourages. I have a supervisor that is always about cutting down our time estimates (he calls it "challenging us") for a job, and says not to spend too much time on something, come up with a quick solution and go back and fix it later. Of course later never comes, because you have another tight dead-line that follows.

For developing internal apps, the situation is even worse, because now the programmer feels that since only the people in the company will see it, they really do NOT have to care about how it looks or the UX. Or how user-friendly it will be.

Bosses at my past jobs do NOT care to spend time on making something look good, as that will increase the deadline. They care more about getting it to the client as fast as possible, so they look good. Teams I've worked on do NOT allocate time for UI design, and most teams I worked on in the past did not even have a designer. Plus they never listen to the people who actually have to use that UI from day to day.

Not completely the case at my current job. We have a designer here, whom will also be used to help with UI design on our internal apps. Which makes a big difference. Our ever so useful internal application will now have a designer working on the interface, and I'm the UI guy so I will implement it, and let the programmers worry about the programming.

So this is the team now:

  • 1 Designer (an excellent one)
  • 1 UI Developer (another excellent one)
  • 3 .Net Developers

If we all work in our perspective areas without stepping on each others toes, we'll get the job done. Hopefully on time, as there is a lot of coordination that will go in there too. Plus everyone needs to be on the same page as well, so spec documents have to be updated and each member needs to have the latest. Without these elements good UI will be left in the hands of the programmer, which usually does NOT turn out so well.

  • +1 because I'm the UI guy 1 UI Developer (another excellent one). Ah, I hate those people that want everything out of the way no matter how bad it is. Where is the love? :) Dec 28, 2011 at 22:57

Bad interfaces are created via bad processes.

A lot of folks are blaming developers, but that's rarely the case. Developers care much about good design as anyone. However, in many corporate settings, they aren't given that ability to care. And, in fact, are often discouraged from doing so.

It's often a failing of various project processes:

  • waterfall instead of agile
  • UI decisions made by management rather than user research
  • UX tasks not accounted for
  • marketing-led timelines
  • understaffed development teams
  • outsourcing
  • arbitrary deadlines
  • incompetent or nonexistent project management.
  • outdated platforms, tools, and APIs.

A good process will lead to a good UI. Too many places are still using very bad processes, sadly.

  • 1
    I'd rather have UI decisions by developers than management ;) And yes, I agree the process is the culprit most of the time. Dec 28, 2011 at 23:00

I'd say it's all because of bad or non-existent user research. Clutter nearly always means the lack of prioritization and you can't prioritize when you don't know what's important. Once you have a solid user behavior study, you know which controls need to be visible at all times and which can be hidden most of the time.

And I'd also equate bad user research skills with design incompetence.

  • I really can't understand the necessity of user research unless it's for final polishing of the whole app. Even without research, some things just make sense IMHO. For example, let's say the thingamabob has a very advanced "search" feature. It could easily be hidden in a separate search dialog, leaving only a "simple search" field and a link/button. Similarly, "advanced filtering" (often duplicating the search) features could be all in a separate dialog. Both things could also slide in and out of presence with chevrons for progressive disclosure. Easy to implement, too! Dec 28, 2011 at 14:19
  • 1
    Unless you're making an interface for yourself or other UX designers, you shouldn't build what "makes sense". The point of user research is to understand their workflow so that you could make design decisions down the road. Otherwise, you may end up with redoing much instead of "polishing". Sure, it's best practice to have advanced controls disclosed progressively. However, without research you won't know at which step of the workflow to display them (i.e. at search dialogue as options or at results as filters).
    – dnbrv
    Dec 28, 2011 at 15:24
  • But as you well said, user research is sometimes bad or non-existant. In these cases, the preference seems to be to show every possible feature right away - why the preference is not to hide them instead? Common sense may be acceptable if there isn't actual research. Of course this is opinion and I'm biased towards minimalism, so it doesn't count as more than that. Dec 28, 2011 at 15:36
  • No research and showing all preferences right away are indicators of pure, banal design incompetence. Research is the foundation of good design and progressive disclosure is best practices. Not knowing about either of them shows the quality of the designer.
    – dnbrv
    Dec 28, 2011 at 16:16
  • It's not about user research vs. not, but rather having a process that accommodates thoughtful decision making. At Apple, that's ingrained into everything they do, no biggie. In most other corporations, it has to be a forced task, and that's where user research comes in nicely--it's a step that forces the project to stop and do some thoughtful decision making.
    – DA01
    Dec 28, 2011 at 17:44

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