Keeping The Menu Simple

Wrong. Try to change the colorscheme of Gnome. Try to change the colors of kde. You will see, why the user needs more then 6 colors to change.

One of the most powerful tools in the “advanced configuration” model is search.

Another concept that I struggle to understand is that configuration is almost always dumped in a tabbed configuration dialog. Why can’t I select the item I want to configure and bring up the configuration dialog from there? As previously mentioned, the “Don’t show icon in systray” (but better phrased) fits well into a context menu on the icon itself.

I think Office 2007 goes a little way in demonstrating that complicated applications don’t need complicated interfaces. If you apply the same philosophy to complex admin applications I’m sure you would see productivity go up.

One problem is when you target your application to very different use scenarios. In my experience, apps with option overload typically have about half their options task-based, and half are just style preferences.

When you survey all of the advanced users, though, you see that the different styles usually boil down to several linked sets of option choices. Pro photographers will have one way, casual photographers another, graphic designers another, general art/photo collectors yet another. (For instance, EXIF is meaningless to me.)

The obvious answer is profiles. That’s why some software will ask you what you do, in order to initially set things up in a task flow that should benefit you. This is where more software needs to concentrate their efforts, because the jumble is still abysmal. But it’s hard, because you have to think as all of your different users, when even just getting the needs of one other person in mind is tough, and I think you’re right that it is easy to get wrong. (Thus the surveys!)

@opensoresfreak: “File - Quit” is there because it’s been there since Windows 3.0 (possibly earlier). Users know and expect it. Putting “quit” in an “Actions” or “Status” menu (both of these names are horribly generic, by the way) wouldn’t make things any easier on the users; on the contrary.

When in Rome, do as the Romans do. It may not be as efficient or logical, but it’s the Roman way, and they’ll appreciate it. Inventing your own UI is basically a no-no, no matter how interesting or appealing it is to you. As a UI designer, you’ve got a lot of freedom already, but don’t overstep your bounds.

This very reason is one of the reasons why text file configuration is still a great idea.
A user can configure options they know and understand and won’t even see the options they don’t.

These comments belong here

http://www.codinghorror.com/blog/archives/000377.html

“Why can’t we build software the In-N-Out way, and keep the menu simple? Stop trying to do everything. Don’t make users think. Focus on doing a few things exceptionally well, and leave the giant, confusing menu of options for our competitors.” - Apple Board Room, 1984

@ Jesse : they won’t see 'm because their eyes glaze over if they see the mysterious chain-crash of abbreviated jargon such as “$varConfWdgWinHndMsg” :wink:

A graphical interface has the power to restrict choice; if you can only edit a checkbox, your parser (and your user) won’t have to take “Yes, Y, YES, yes, TRUE, true, 1” into account as valid answers.

It’s easy to say it’s because we, as developers, are lazy. That instead of figuring out the best way to do something we just give the user every option on the face of the planet and if it doesn’t work well it’s their fault for not picking all the right options. And there would be some truth to that.

But! I also think we add all those options because we’ve been beaten down. Whenever we make it the way WE want to use it someone comes along and says, “Can you make the back ground purple and the text orange?”

After spending months developing something it’s not, “Wow! Great job! That’s everything I asked for and more!” It’s, “Hey, can you move the text on that screen over two microns?” And “Can you change all the text to lower case?” And, “Hey, I think your program is ‘buggy!’ It doesn’t work on my Tandy CoCo 2 (circa 1984)!”

A simple application of a simple principal: KISS (Keep It Simple Stupid)

This directly applies to menu structures, if it’s complex and confusing then the user will be confused.

Menus are typically designed by business requirements. If you have a feature, you had better be able to get at it!

I am all for a simplified and an advanced menu in software. The problem is creating an options structure that is even harder to navigate when you are looking for some specific weird option!

One thing I’ve noticed is that it’s mostly overly generic software that requires too much configuration. For example, a configurable text editor like ultraedit or notepad++ can be configured to compile, execute, add autocomplete and add syntax highlighting to almost any programming language. However, most people would rather just download an editor that is preconfigured for the language they’re working in. What would be best for these generic software packages is some kind of auto-configuration that would automatically hook everything up and maybe download the latest auto-complete/syntax rule files from a server ont he web. Intelligent auto-configuration is what developers need to invest some time into.

There has to be a good balance in interface. Interfaces which are TOO simple — In-and-Out Burger simple — are often suspicious and unintuitive to use. You feel like you are being driven, not like you are driving.

On the other hand, interfaces with huge degrees of unassailable complexity are not good either, obviously.

In-and-Out Burger is successful because they do only a few things but they do them all WELL. And they can be customized if need be, but don’t necessarily need to be. (I miss In-and-Out soooo much. This post made so sooo hungry for a double-double. Damn my moving to Massachusetts.)

I think applications with great interfaces are the ones that make you feel like you can easily figure out HOW to do what you want to do, but also feel like there is some additional complexity there IF YOU WANT IT. Applications that have been “overly” simplified make you feel like you aren’t in control, like you can’t change anything, like you don’t have any options.

I think simplicity isnt always the same as “easy to use”. A mouse is simple yet for someone coming into IT it can be pretty hard to get the hang of (I’ve seen this loads in the past as a computing lecturer at a college).

I think intuitive menu’s are what everyone aims for - unfortunately a lot of designers rely on their learned skills and skill transferrence from other apps to design their systems, how many ms word clones are out there all with the same look and feel. Just because its the standard doesnt mean its easy to use!

In-N-Out isn’t as widespread as McDonalds because they have a policy. No restaurants further than 8 hours drive from their farms outside of L.A. They never freeze their food, so logistically they’re limited in how far away from southern CA they can ship.

I agree with the simplified menu. I choose Gnome over KDE for that very reason. Unfortunately, there are some extremely vocal users who demand a thousand options be available (see first poster)… they never use them, but for some reason the idea that they have a lot of options makes them feel powerful.

The problem with overly-simplified menus is that people who expect more and don’t see it are put-off. I ate at In’n’Out and thought it was the most over-rated place I’d ever been to. Only three items on the menu! Not to mention it took 20 minutes to get my food. If all they serve is a cheeseburger it had better be damn good, and this cheeseburger was in no way better than any cheeseburger you’d get at McDonalds, Burger King, or any other fast-food place.

Now I hear they have a “hidden menu”. Well, too late, I’ve already determined that ordering food there is too complicated unless you want the pre-determined choice of a cheeseburger. Give me the McDonalds menu, where they have a VARIETY of sandwiches, and the implied “hidden menu” being customizations you can make on those sandwiches.

A better fast-food metaphor would be comparing customizing a McDonalds burger when you order it. Most software exposes customization as options dialogs or wizards or whatever. This is where the real UI design comes in: let the user “order his burger” but make it simple for the user to say “hold the mayo”. But don’t make it hidden, or else the feature doesn’t exist.

This is a LONG solved problem, at least in software.

Make scaleable interfaces. Simple, intermediate, advanced, following the old rule of thumb: “Make simple things simple. Make complex things possible.”

I wish programming languages followed this rule. Over the last 20 years, I can’t tell you how many times I’ve had to write a new “ReadTextFile” function in some new language to avoid the hell of dots, single and/or double quotes, handles or other functionally pointless absurdities which overtestosteroned developers feel it necessary that everyone suffer through.

I like simple… but the layout is AWFUL. How about those menus you see when you go out to fancy restaurant? Lots of open space and only a few items… Maybe a nice border around the whole thing… Now… There you go!

Ever used the program xine? It has as the first option, on the first tab, a experience_level; or something like that. You can set it to Beginner, Novice … Master of the Known Universe and it will hide certian configuration options from you.

If it just works, then it is better than a moddable one. Handy but efficient user interface is better than a lousy user interface with a extremely advanced secret menu.

I like a user interface that is easy to use but still efficient and all my needs fullfilling debugged UI. Users should not need to tweak software. If there are things in the program that advanced users would need, then those things should be there already but in a subtle way. For example if a working area has a one tool panel, then a simpler usage would go just fine with the one and only panel. But with right mouse click you could bring up a popup menu from where you could open a additional panel.

All software should have subtle intuitive supporting features of usage instead of needing to find the right menu in the menu bar and then to find the right tab and click “advanced” or “more”. Of course there could still be setting listings somewhere, but listings are tedious.

Users should not need to worry about should they enable or disable JavaScript in their browsers. Internet applications should just work. I hate to go to faq-pages and start checking things like “Step 27) Make sure that JavaScript is enabled. In order to enable it, go to menu …”.

Also software frameworks are really tedious. Installing lots of packages requires sometimes pretty much work and checking that package versions are supported etc… Then the installation instructions are not meant for the configuration I want or some things are not mentioned or some other problem occurs. Then I end up with lots of combinations to try out, would the packages work or not, and reinstalling everything. That sucks. The packages should work when I drop all of them into the same folder. If they are wrong versions, they should download the correct ones instead of just crashing with error messages.