Fog Creek Software
Discussion Board

enough already Joel.

Do you read what you write?
Choices reduce usability! do you think you are contadicting yourself? Bloatware-do you remenber what you wrote on bloatware? The more options the better, yet choices are bad.
You might think the two are different but when you have a zillion number of features and you are not sure which one to use, that's the same as having many choices.
Soap, do you really know anything about soap? You just learned and wrote your first soap program a few month ago.
Joel reaads about something, then write his toughts without really having any experience thinking he's so smart then learn it and contradict himself.

Sunday, April 28, 2002

Good thing I just scanned this board!  I hope readers know that the poster above is not the same Michel that posted a topic some weeks ago.  Ahh... I hate giving out my full name.

To be on topic, maybe the Other Michel is right, but that does not keep it from being a stupid flame that I am afraid will attract dozens of empty responses.

Michel H. (another Michel)
Sunday, April 28, 2002

Here's the first empty response:

This is what pundits do. They read something, or take a course, or go to a meeting, then write about it! An odd phenomena is that if you write something down, and people read it... people tend to assume it has some merit. Take a look at Joel's resume... he worked at microsoft, and viacom, and juno...then upgraded his IC status to a mini consulting shop. He wrote a bug tracker. And a visual basic app. I know 15 people in the new york city area alone who have nearly the same credentials. And they don't even have a web log! A blowhard is a blowhard and one shouldn't assume someone who writes a lot actually has something to say...

troll 13
Sunday, April 28, 2002

"...inappropriate for shrinkwrapped software..."

There's lots of good references about this.  Boehm's
15+ year old paper on the spiral model for starters.

somebody loves me
Monday, April 29, 2002

Features <> choices.

Monday, April 29, 2002

bloggers are bloggers.  anyone can be a pundit in almost any field with more the average amt. of familiarity.  my blog is on politics, but i have a degree in biochemistry and work in the computer industry.  go figure. :)

Monday, April 29, 2002

There is a very subtle difference here.

Regarding sorting excel, there is one feature where you can set up a series of cells as a criteria, then execute a sort based on that criteria the result of which is copied to a new range.

Its very complicated to learn, and I doubt there are many people who use it.  It's just an unnecessary choice, but propably has to be kept in the spreadsheets feature list because of the handful of power users that use it.

In contrast, the feature that enables you to select a cell in a column, then click the sort button, has probably quadrupled the number of people capable of sorting in Excel.

Ged Byrne
Monday, April 29, 2002

"Choices reduce usability."

I am a bit surprised that the messages in this thread are largely negative.  I find the statement above to be a very nice nugget of software wisdom.

This is one of those zen-like truths of software which Joel has expressed very succinctly.  If the statement strikes you as absurd, then dig a little deeper to find out what is being said.

I think I've seen Joel define usability as the degree to which software behaves as the user expects.  Using a definition like this it is easy to see that having more choices does not necessarily mean the software does not surprise me.  In fact, quite the opposite is probably true.  When I sit down to use an app, I expect to accomplish a task.  I do *not* expect to be forced to make choices which are not in the critical path of getting my task done.

Joel is not saying (IMNSHO) that choices are bad.  Choices obviously increase the power and flexibility of an app, but that doesn't mean the app is more "usable", for this particular definition of the term.  Choices become valuable when the app has already failed to behave as I expected.  The app has misbehaved, and I am confronted with something which seems like a distraction from the task I am trying to get done.  I am stuck in a jam, and I am frustrated.  At this moment, yes, I want choices, but the "usability" (Joel's definition) has already suffered.

Eric W. Sink
Monday, April 29, 2002

i think we should also not forget how features tend to get lost amongst all the "clutter" that is prevalent in so many apps. this is very similar to the 80/20 rule and i am quite surprised nobody seems to have said so. was it joel that said that the rule doesn't hold because people use different 20%s?

eric - this is basically what the original poster was pointing out, i think; joel has defended having lots of features, and then said that this very thing decreases usability. which is probably why they invented configurable toolbars (you can put your own 20% on your very own toolbar). oh, this is kind of where we came in.

anyway, i think the original poster kind of missed the point. the point i think joel was trying to make was that it is perfectly okay to have the feature, but you don't necessarily have to have the feature _directly_ available through the ui (see his fogbugz and nt examples).

personally, if i want feature 'x' i would prefer to have to install it, particularly if i am downloading the app, because it save time and space. umm... a bit like cygwin... or linux - it is possible to have a system running that software which does everything you want and not have a lot of irrelevant cr*p installed, so why should it be different with applications?

Tuesday, April 30, 2002

"Choices reduce usability."

The key here is that people from a power-user uberprogrammer point of view think this is a falsehood.

People from a first-time user perspective think this is a brilliant truism.

Pragmatics realize that their customers are a bell-curve.  The people at the start of the curve and first-time users ("Choices reduce usability" == true), the people at the back of the curve are power users ("Choices reduce usability" != true).

The *vast* majority of your customers are in the middle of the bell curve.  They need some choices to cover various cases that are non-standard, but don't need to be inundated with detailed switches that cover the GUI (or worse, hide in options property pages).

Sadly, reality is a grey area...

Tuesday, April 30, 2002

The Palm user interface is a good example of the "choices reduce usability" idea.  When you have a product category (PDAs) that is derided for horrible usability (as happened to the Newton), reducing choices and improving usability might help.  Take a look at this 1999 article about the design philosophy behind the Palm:

M. Hedlund
Monday, May 06, 2002

Making usable interfaces is really a form of engineering, because just like in what we conventionally call engineering, you have tradeoffs. It's just like the classic example of how a ramp requires less effort to raise an object to a certain height, but a set of stairs takes up vastly less space to do the same task. On one hand, you want features that you can use to sell software help differentiate your new version from the last one.  On the other, if you have too many menu selections, toolbar buttons, or whatever it will be a lot harder for the user to build a "mental map" of the UI layout, and even when they know their way around the UI and know what every option does (which is rare in this universe for *any product*), you still have increased visual search time because the brain still has to sort through so many more selections. to pick the right one. This starts to get into the realm  of Hicks' Law, which is getting far too pedantic for a blog board.

Joel, in regards to the ideal street-corner trashcan, the obvious thing to do would be to build a ridiculously heavy trash can and build a small door or hinging section in the side of the trashcan that could be easily opened by the garbage collector when he comes by to grab the trash.  They don't have to lift anything up, just pull from the side. Of course, this might raise the cost of the trashcan considerably. But then again, with the new and vastly more efficient Volow2000 Trashcan System,  the garbage collectors will be able to empty far more trashcans per hour than with the old system, reducing the amount of overtime the company has to pay out and thus offsetting the cost of the V2KTS. It goes on and on....

Ilan Volow
Tuesday, May 07, 2002

Fitt's law.

Tuesday, May 07, 2002

hmm - listen to *yourselves*. there is no reason why someone who learnt soap a month ago or whos written 1 vb app cannot have a good point to make. youre attacking the person not the argument.
and in any case i dont think anybody thinks that joel knows everything, if you do, or you read this blog to be 'taught' something true then youre at the wrong place. this is a discussion/soapbox not a lecture.

Wednesday, May 08, 2002

Joel wrote: Remember, kids, the trouble with the "everyone only uses 20% of the features" myth is that everybody uses a slightly different 20%

Absolute nonsense.  In the past I've given Joel references to research that shows that this is not true, but I guess he enjoys promoting his version of the myth to justify bloatware...

How to duplicate the reseach yourself:
1) Tool the software in question to log what features are being used.
2) Have a few hundred people use the software for a week (for short-term collection), or a few dozen people use it for a month (long-term). 
3) Collect the logs and analyze.

This type of research has been done on a word processor.  The results: over both the short-term and long-term studies less than 50% of the features of the word processor were used total.  More importantly, a common set of less than 35% of the features were all that over 80% of the people used.

Ron Zeno
Saturday, May 11, 2002

I think I buy at least the "long term" study results.  The short term might have a builtin selection error... like still in the learning/exploring of the app curve.

Personally, I dislike bloatware.  I also dislike the bloat caused by excessive runtime requirements - even if it is "built into the operating system" (sic). 

There is a house of cards being built... a application requires a ton of multiple interrelated third-party "products" merely to do a simple "hello world" type of functionality... and it probably requires specific versions of those products (like java runtime) to accomplish it. 

For what?  All in the name of increased developer "productivity"?  All that seems to mean with the quality of applications these days is that a mindless coder can put out the same junk faster than he did before.  Hey, after all, that third-party card collection has existing bugs that the coder doesn't have to recreate as features!!

I have found that people tend to believe because something exists (like in code) that implies that it is necessary and needs to be there.  I hope refactoring catches on in a big way! 

Joe AA.
Wednesday, May 15, 2002

I'm glad Joel wrote that 'choices reduce usability', primarily because there is a widespread naive assumption that more choice equals a better UI. I think Joel would agree that choice sometimes makes things less usable and sometimes makes things more usable. The ability to tell the difference is the key, and I'm afraid that often such an ability seems rare among those with formal CS training.

Joel's book has many definitions of usability -- my preferred definition is 'Giving the user the ability to do the things she wants to do when she wants to do them, without giving the user the ability to do things she doesn't want to do when she doesn't want to do them.'

This might sound obvious or simple, but it is a complicated enough idea that it eludes most software design teams.

Choice can bad, choice can be good. But combine the right choices with good timing, and you have a great UI.

Nathan Piazza
Monday, June 17, 2002

One of the things Joel mentioned is how developers don't want to make a decision for the end-user, so they put a check-box in the preferences or options dialog. This can be a disaster for usability, as it changes the way the program behaves from that point.

Microsoft Word is a wonderful example. When Word was a new kid on the block, WordPerfect was the dominent word processor, so there was a need to cater for WP users. The installer used to ask if you'd like to enable help for WordPerfect, which changed lots of options to make it more like WP, including changing various keyboard shortcuts. And if you look at the Compatibility tab in the options dialog, you'll find dozens of "Choices", many of which have confusing names like "Wrap Lines like Word 6".

Now the real problem occurs when I want to type a quick document on a friend's PC. If they used to be a WordPerfect user a decade ago, and have left the WP settings enabled in Word, I'm going to find that all kinds of things don't work the way I expect. I'm going to be frustrated, and if I'm not a Word guru, I'll be wondering why things don't do what I expect.

The same problem occurs when the former WP user gets a new PC and installs the new version of Office on it. It no longer asks him if he wants WP help, and he's probably forgotten he'd made that choice, and assumed that the way he was using Word is the way it's supposed to work. Suddenly, things don't work the way he expects any more, and he's frustrated. He could change it manually in the compatibility tab, but he doesn't realise he wasn't using the defaults.

And the more choices the user is faced with, the more they have to set up when they get a new PC or reinstall their operating system. Word is choices on overdrive, between the Options, Menu and Toolbar customisations, Shortcut Keys, Macros, and the document template. I used to have a highly customised that I brought with me, as well as many other customisations, however somewhere along the way I lost the template (my own fault) and I've stopped bothering with most of the other changes, so for the most part I stick with the default configuration, as do the vast majority of Word users.

Finally, a word on Bloatware. While there are many features which the vast majority of users never use, it's very hard to take those features out without causing huge upset to the few who do use them. While it could be argued that many of those features shouldn't have been written, I can understand MS not wanting to upset those who do, or risk breaking documents which depend on them.

If you want a really lightweight word processor, try Word 2. On today's hardware it flies like Notepad. Unfortunately you have to write a macro to get a wordcount, though!

James Shields
Friday, June 21, 2002

*  Recent Topics

*  Fog Creek Home