September 2, 2007
In-N-Out Burger is a fast food institution here in California. Part of their appeal, I think, is their radically simplified menu.
Instead of forcing customers to process a complex menu with a hundred choices, In-N-Out got real and pared it down to what really matters: a burger, fries, and a drink. It's a limited experience, but it's also a tightly focused one. The menu may be small, but you can still customize it -- for advanced In-N-Out customers, there's the secret menu.
Most software lacks the discipline to present the tightly controlled user experience of the In-N-Out menu. Instead, we befuddle users with the software equivalent of a fourteen-course restaurant menu. Software developers lapse into complexity by default, because it's the path of least resistance.
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 your competitors.
Posted by Jeff Atwood
Not sure if you have the right screenshot as an example. The product is Notetab Pro, which is meant for web developers who want to write HTML source code - yes, the hard way! It is a very powerful application at a very low cost ($30). The rest of the interface is pretty good too - it operates as a great text editor with programmable macros to do useful tasks. Generally, I would agree that an interface like that sucks, but many of the tabs are seldom used, practically speaking. Try using it - you will see what I mean.
I was going to mention the options dialogs in office (word, outlook etc.).. Modal dialog, invoking modal dialog, invoking...
I suspect, though, this is a function of the development process. Developer A is in charge of the COM Add-in Manager. Dev B is in charge of the Archive email settings... Dev Z in charge of somehow invoking these (erm.. buttons on a form), without knowing how they will look.
Winamp does a good job of organising the options tree, though it's still intimidating for novices.
In'N'Out Burger is successful, but I don't think they've set the standard for how to run a restaurant, which makes me less inclined to translate their practices into software.
Just because some options aren't visible from the menu, doesn't mean they don't exist... try asking for a neapolitan shake sometime or some of the other modifications...
I loved asking for three-by-meats and well done fries while I lived in Westwood, right by a joint. And I was always found it funny that the car line outside was usually longer than the line inside. :)
Azureus has an interesting option menu. Although I don't particularly favor the rest of the interface (it has its moments), the option menu is easily customizable between Simple, Intermediate and Advanced, quickly hiding what users don't need to see. It still warns you there's more available, though, and even provides an in-options search feature. Cool.
I don't think an application designer should go to either extreme. The reason most people avoid the middle ground is that it is the most difficult to get right. You actually have to understand what your customers want, and what their priorities are.
If you make it too complex, you've given up, and you're effectively saying you have no idea what the customers want. You're leaving everything undecided.
If you make it too simple, you're cutting out a lot of your potential customers who won't see what they're looking for. In the In N Out menu example, vegetarians might think they are limited to french fries and sodas, but the secret menu reveals grilled cheese options.
The trick is finding the middle ground. If you were purchasing a car, which of these choices would you find most suitable?
A) Color of car (choose one): gray.
B) Color of hood (choose one): gray, black, white, red, blue, green, gold. Color of left door (choose one): gray, black white, red, blue green, gold. Color of roof (choose one): ......
C) Color of car (choose one): gray, black, white, red, blue, green, gold.
The trick is to identify what is important to your customer, and make that as simple as possible.
I've been using Super NoteTab Light for years now (I prefer the free one) it is just awesome... except for of course that menu system :) There are only two settings in that entire array of tabs I care about and I always have to spend a minute or two finding those settings.
I have to say that usually my work and others I have known is to keep things simple (interacting with the end users hearing their gripes over a few years I think did it for me), but find the business (primarily the managers over the users) pushing more and more for more features in a short amount of time.
Path of least resistance is to slack on proper UI improvements and just get the features in place and available. Proper time spent would allow us to actually study the issue and the users' needs to figure out better interface choices.
I thought I had heard about an In-n-Out somewhere around us in Virginia, but apparently not. Another highly simplified menu that is hugely popular - Chipotle!! Hmm - you think someone would figure out simplified * might be a good idea, wouldn't you?
Many option dialogs are probably complicated so that the "show tray icon", "launch at startup", "frequent nag messages" and other such options can be well hidden. My experience is that certain marketing types never want anything done that would reduce the constant, nagging exposure of the user to the software; its branding, its optional features, the deluxe version for lots of cash, etc. Hard-to-disable tray icons, notification pop-ups and splash screens are just spam that many users are stupid enough to honor with attention and money.
Part of the problem is that we, as developers, seem to feel that somehow not offering a million degrees of flexibility and customisation is a reflection on our personal abilities. I've always worked with developers who feel that if you can make something an option, or configurable, then you *should*.
I'm not sure this is always right.
I've started to have more confidence in my ability to judge what is sensible. I understand the business market that I'm writing the software for, I understand the needs of my users, I can make a judgement call without endlessly agonising over it - or giving in entirely and making it an option. Many things that could be optional are simply cases where we don't take the trouble, or have the courage, to pick the most appropriate (or suitable) solution. That's we as developers, we as designers, we as team leaders, we as peers of each other. Often it's just easier to make something 'an option' than to make a hard decision.
Jeff's example dialog above is a classic - do you /need/ to put an option in there for removing the toolbar? Or changing the application icon? If the toolbar might be something that gets in the way of your users, then either it's not really neccessary anyway (or it's been badly thought-out) and you should remove it entirely, or it's something that you could have a right-click 'remove' option for - advanced users will right-click on it almost immediately if they really want to try and remove it. Either way - make that decision, have one less checkbox on that dialog and move on. You've just done your users a favour.
And changing the icon - why? I bet less than one user in a thousand actually bothers to use that option - so it ought to be removed. It only subtracts from the application (people will see the option and immediately view your existing icon with a far more critical eye).
It's easy to confuse 'adding configuration options' with 'adding useful features'. But do all those additional features really add value to your program? Do they really empower your users? Make things easier, faster, more straightfoward for your users? Or do they add layers of complexity (and even potential points of failure) to your application?
To me, this is often the distinction between very good 'professional' software and 'hobbyist' software - in a commercial/professionally-developed product, every checkbox and option has a real cost to implement (in terms of QA and documentation, even if not in terms of actual software engineering); it's easier to make hard decisions when money is involved.
You wouldn't expect to see a dialog like Jeff's example in something commercial (without wishing to open up discussions about F/OSS vs Closed-Source etc), but you'd not be terribly surprised to see it in a shareware tool developed by an enthusiast.
That kind of stuff has it's place, I'm sure, but as a user of software, I often wish developers would just pick one single, well-thought-out method of operation instead of surrendering to the indecision of offering a multitude of (sometimes less-well-engineered, often obscure) features.
I'm from the midwest. Do they call it In'N'Out burger because they are fast with your order or because it goes in you mouth and straight out your rear?
I don't see anything wrong with all those tabs and check boxes for the configuration options. It's just a front end for some config file. It really doesn't make sense to compare it to a traditional "File, Edit, View, Tools, etc" menu. Or, maybe I don't get your analogy.
In-N-Out Burger is awesome - discovered them while on a project in CA for 3 months. We have 'em in Phoenix, now, too, and seen 'em in Vegas as well.
When I was in college at Florida State, we had Guthrie's chicken. The menu had three items: The chicken finger sandwich, the chicken finger box, and drinks. I think you could order the fries separately if you wanted - although I don't know if was listed on the menu. Looks like they've added the bucket option, too.
It's refreshing to see that I'm not the only one who thinks that menus have gotten out of hand. There's actually a book called "The Paradox of Choice" by Barry Schwartz that argues too many choices actually makes us unhappy. Interesting idea.
In'N'Out Burger is successful, but I don't think they've set the standard for how to run a restaurant
You're right. They're very different business models. McDonalds and In-N-Out both started in the 1940's in California; McDonalds is now a worldwide brand which posted $40.6 billion in sales in 2001. In-N-Out is only known in a few US states, and is estimated to have sold about $160 million in 2001.
On the other hand, In-N-Out is the only fast food chain to receive a positive mention in the book "Fast Food Nation".
In-N-0ut isn't worldwide because they're a completely family-owned chain (as far as I know, and if I remember correctly they all say as much on their literature and in the buildings). So, if someone in the family lives in your area, you might get an In-N-Out restaurant... but really, how much do you think it takes to get someone that could make a good amount of money in California to leave for some other part of the country? Hence most of them are in western states and, for the most part, in big cities when they are outside of California.
The only real problem with the comparison, though, is that most of the options available at an In-N-Out are just modifications of the original theme: cheeseburger, fries, and a drink. If you can put as many patties as you want, as many slices of cheese as you want, they've simply recognized that zero is as good an option as 5. The Animal is the only option that's really a bit different, and it's not *that* much different.
When software works that way we may not need so many software developers...
I agree :). Many softwares and sites really love to have a weird menu with a lot of stuffs. It's horrible, I think if they have that much, they should have "Advance" button to hide them out. Anyway, make anything simple, i like to click and check out, not thinking much about that ^^!
I agree with the first comment... advanced settings and customizability can be a great boon.
However, Jeff is right that the KISS approach is most user friendly. Having two "layers" of settings is a good solution.
Just because some options aren't visible from the menu, doesn't mean they don't exist... try asking for a neapolitan shake sometime or some of the other modifications...
Did you even read Jeff's article? He mentions this...it floors me how some people just don't even read the article before commenting.
By what criteria do you determine whether an option should be easily accessible, in a buried "advanced" menu, or even included in the software?
What the hell are you talking about? That burger menu was confusing as all hell. I had to stare at it for ages to figure out what was going on and even then I couldn't get it. And you want software to be designed in the same way? What are you - a web developer?
i agree with PSzalapski. some users want the advanced stuff: its why linux STILL doesn't have user-friendly administration tools. just make it simple for the people who want it simple, and make it advanced for those who want it advanced.
Yeah, you could limit the number of choices in software. You could make everything much simpler and non-configurable. You could make all menus consist of the top 5 most commonly selected options. And everything would look simpler, more streamlined and be easy to use.
But then... you'd have a Mac.
Personally I like fully configurable software and OS's. And I can't stand being corralled into a set of simple options. (Yes. If you're a Mac user you have fewer options.) But that's why I live on my PC and my mac sits in my living room where it lives its life as a glorified jukebox.
@Popo: Actually, if you have a mac, you have MORE options. On a mac, you can run windows apps side by side on the same machine, as well as run the fully unix-ified Mac OS X, with its slick UI as well as tweakable underpinnings.
Welcome to 2007. Sounds like you are stuck with a 1990 conception of macs.
After reading this the last thing I'm thinking about is that options form. I'm hungry! :)
I've always tried to keep things simple but sometimes you want to provide those advanced options to power users. It's hard to strike the perfect balance.
I always used to believe in the KISS approach but I'm slowly learning that two layers for user options are more realistic and useable. Not everyone wants to see every single option like I do.
Why make things simple, when it's so easy to make them complicated? ;-)
Just pick good defaults, then put the advanced options somewhere that the GUI can still go. Oh- wipe the grease off the pattie, throw away the pickles and dont spit on my burger :)
Funny, you only save 5 cents by ordering the combo instead of double-double, fries, and coke separately. That nickel must go in some executive jacuzzi fund.
Jeff As usual you provide a lot of good information in your post. However, as has already been pointed out to you the most important thing is to make the software no more complicated than it has to be.
Though thousands of developers know by now that determining which features are necessary in an application is not always a trivial problem
That's nothing Jeff, the stupidest example of an options screen using tabs is the active directory user properties window, heres a picture of it:
That's 20 tab pages spread over 5 rows. Everytime you click on one option the row ordering changes so you're never sure where a tab you saw a minute ago now is.
I know the average user of this screen is a network/sys admin type and might be expected to handle complexity.
However it's hilarious to watch a stressed-out sys admin using this screen just trying to get their job done.
Probably even funnier is that your average sys-admin would NEVER admit to being confused/annoyed by such a screen. They see this as admitting to an inability to deal with complexity, the more complex (ie stupid) the design the more of a "challenge" it is to overcome. So while this attitude is still so prevalent I guess people will reap what they sow.
G'day Jeff, I'm halfway through "Getting Real" (you link to it in the first paragraph), I wondered about your thoughts on it.
This is something I've thought about on more than one occasion in attempts to switch over to open source applications. Somehow Text Editors really seem to take the cake... I seem to recall PSPad and Notepad++ having a ridiculous amount of menu.
I think the search boxes that have been popping up in preference/options windows lately have been a decent (and possibly the lazy man's) solution as well.
Fast food looks fine, it tastes fine, but it actually doesn't provide anything good to your body.
Make your software "default settings" to behave like what 90% of people expect, so probably they never need to go to the options. But don't make the mistake to assume everybody likes burger and chips.
Fast food made people ignorant about one of the important things in life: food. I'm Italian, I know something about the food culture.
Don't make the same mistake on software products. Don't make them like fast food. Don't push to make it easier for people to become ignorant.
I love having an absurd abundance of options! I hate when all the advanced options are hidden away. I actually *want* thousands upon thousands of options, with lots of lengthy descriptions. I love finding an assload of options and treaking a program to my liking.
If you so desire, please feel free to throw 99% of the options into an advanced preferences dialog, but please never think it's a good idea to just get rid of it!
I totally agree with In-N-Out Burger. Most People aka users don't use or need all the choices and features. I should know. I worked as a trainer for MS-Office software for 9 years. When your product needs a trainer to teach people how to use it, then the UI failed. Period.
Jeff: Why, would you say, the "File" menu item permeates so many applications?
There are many things in File that ought not to be there such as "File - Quit."
What does the concept of a file have to do with the termination of an application? "Actions - Quit" or "Status - Quit" makes more sense.
One way to reduce the number of tabs would simply be to increase the size of the thing. While I'm not familiar with the application, something like "Files", "Documents" and "File Filters" sounds like it could be put under a single header with not that much trouble.
I mean, even if you're stuck at 800 x 600 (and in that case you can simply make it -wider- ), I'm sure you can conveniently put some options on the same tabs. Why cram everything in a window straight out of 1997? (the answer: the application will scale to fullscreen without problem, but menus are rarely reconsidered for this). While a fullscreen configuration window might be overkill, it's still not using the available screen space efficiently. This leads to the rows and rows of tabs in a cramped window.
IMHO multi-row tabs should be "refactored" to a vertical list of settings (don't have an example of this at the moment, but I've seen it in mIRC) where you can fold/expand those you don't need, and have the most common options at the "root" nodes. It's pretty common in every other editor. Since requesting the window's resolution is trivial (compared to doing this with JS and several browsers) you can adjust at least the height of the options window, making the actions that expand the menu options visible without scrolling.
On a tangent: who still wants to see a splash screen nowadays? It's an excuse for a slow-loading application; you need to give the user feedback that it has loaded or that it is doing so. In the worst case it means an extra click (Welcome to Foo, click here to continue). Applications that -allow you to turn it off- mostly don't need it anyway because they load fast enough (something like Photoshop shows you which plugin or font it is loading; useful information. Eclipse; ditto).
Tip of the day? That's relying on a random intrusive messaging system to provide useful information; kind of like throwing darts blindfolded and only getting bullseye every 2 weeks or so, and throwing it on a different day than anyone else.
There's probably a dozen of these old UI concepts that have become outdated or need to be fixed (maybe it's nice to do a blog post about this too?). It's not that user-friendlyness changes; it's that the widgets are expanded or redesigned to fit the user's needs because in some cases the standard ones are not sufficient. Pretty much all of it has to do with the dimensions of the space of choice where you can move freely in; you don't use an U-Haul truck to move your cat to the vet. It'll work, but it'll be awkward. If a menu gets too big, rethink it before you can't fix it anymore.
The argument against this of course is that once people get used to the menus they generally dislike any changes to it. Again, it underscores the needs - when you update your app, you might as well take another good look at the options/configuration system (and other menus). Disastrous example of where this has been forgotten: In Windows XP, go to Control Panel Fonts File Install New Font. In Vista it's STILL there, though it's better hidden (right-click on the contents of the folder and choose Install New Font. Welcome to 1994).
No! Don't push this! Some users want the advanced options. The key is hiding the advanced options away some place. A good example is firefox:
- Most users never need the menus
- Some users will go into Preferences
- A few of those will click on the "Advanced" or "more" options there
- A few of those will at some point go to about:config.
Don't take away my advanced options--just write a better UI!
PSzalapski, Office 2007 is actually a good example of Keeping The Menu Simple in action. The main UI is pared down to the most essential, most frequently used functions-- the burger, fries, and drink of word processing, if you will..
.. but the "Options" dialog is more equivalent to In-N-Out's secret menu.
The Office 2007 option dialog is still available for advanced tweaking. It even uses tabs, in a form. The left side of the dialog has 9 selectable buttons that switch the main panel.
Sounds great to me--however, the original post said "leave the giant, confusing menu of options for your competitors"--I want to leave the giant confusing menu for your advanced users someplace where most users won't ever secret. We need the secret menu--just keep it secret.
Too often in the past, Microsoft products (and many others) completely remove the secret menu. Thus, I couldn't order it animal style no matter what I say! Microsoft does seem to be doing better.
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.
"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" ;)
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.
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.
isnt this another way of saying that software needs to be more task focused instead of option focused ? Users want to get stuff done with the least hassle and fuss. No Clippy, no sea of menus/tabs and stuff thrust as you. if it can learn what things you do most and configure itself for those tasks all the better. If I need to do something else then please by all means bring on the optical assualt so that I know what I have to choose from. and for gods' sake a reset button to turn back on the dialogs. Nothing more frustrating than clicking the "dont show this dialog again" and having no way to get it back in case you need it.
I completely agree, and this is one of the main principals I've built my software company on.
One thing that's helped us do this is narrowing our focus to a single vertical target market. Once you have this smaller target of users, you can make the menu perfect for that group of customers.
After a while you do start to attract customers that want you to add to your menu, and sometimes you have to realize that they a href="http://www.freshview.com/thoughts/2007/08/someone_elses_customers.html"aren't the right match/a.