Fog Creek Software
g
Discussion Board




Intrinsic fatal error - coders are not users

I am a computer user who learned to write a few basic programs to get a few projects done, so I know what Joel said is so true from the programmer's point of view --- that you guys always had to make allowances for the users, for their variety and inexperiences, yet the need to balance such effort to be 'considerate' against the 'true mission of the project' is always a difficult one.

However, I believe that the biggest tragedy is that the programmers are not users of the very program they code.

Example --- Calculators --- Grab any old stand-alone calculator machine from the bean counters in your organization and compare them with the myriads of PC calculators one can download.  Sure the computer calculators are sexy, full of 'cool functions', and ultra accurate to the nth digit ... But they are not useful to the average Joe.  Why ?  the coders do not use calculators [perhaps the only exception being the hex calculators, where the coders actually use ...]

Any old simple calculator machine has this 'K' key for the 'automatic constant' function --- which does a lot for the poor users, but is probably a mystery to the programmers --- that users can save a lot of key strokes with it.  Say you are converting inches to centimeters, dollars to Euros, etc. that users often encounter, the K key can save a lot of key strokes --- It is repeatedly entering these key strokes that makes the job feeling so much harder and more hateful, which is why the K key is so necessary.  The programmers would have gladly added it in, in a hearbeat, if he/she would only use the very calculator they are coding ...

Another example has to do with Excel program.  Joel said himself that he found out to his amazement that most people use it to create lists.  I could not agree more !!  Well, then, why don't we make the default setting to all cells to auto word wrap and the 2nd column wider to accomodate a common list ?  No, the programmers are more interested in providing pivot tables and other macho things and could not be bothered with these mundane requests ...  They think nothing about dragging the 2nd column wider when they have to, because that ability is so instinctive to them ...  Alas, wake up, it is not instinctive to the average users, the people who are really paying you ...

The 'find & replace' in Word is another great example.  Back in the Dos days, you were limited to find the word one at a time, and replace one at a time --- guess what, It is still here today !!

What should have happened is --- all the words should be 'found' and high-lighted at one shot [like the web searches today], and the user can then select the ones to keep and ones to replace --- so much easier and more elegant ... But why hasn't it caught up with the times ? Because programmers do not use the product, and users do not know how to bring it to programmers' attention ...

In the age of the internet, people copy and paste web content a lot.  What is the no. 1 complaint ?  The damn carriage returns.  Nobody cares enough about users to expend the resources to remove the carriage returns in an easier and more elegant manner.  This mundane but meaningful service to the users is simply not sexy or cool enough ...

The saddest thing is --- I do not see this situation improving ...  It's like boys do not understand girls, jocks vs. nerds, etc.  Programmers meet in this forum and average users cannot be heard here because they would not have found this site or care to visit here ...

Kingston

Kingston
Tuesday, December 2, 2003

Even more frustrating, I think, is the lack of support for very basic window resizing and allowance for large-text/high-contrast settings.  I don't use them myself, but resizing is a trivial operation (and for that matter, it's amazing that it's not a feature built into most dialog editors to begin with).

On the other hand, there are always millions of little things that people want, and you can't get them all in an instant.

K
Tuesday, December 2, 2003

>> "Any old simple calculator machine has this 'K' key for the 'automatic constant' function --- which does a lot for the poor users, but is probably a mystery to the programmers --- that users can save a lot of key strokes with it.  Say you are converting inches to centimeters, dollars to Euros, etc. that users often encounter, the K key can save a lot of key strokes --- It is repeatedly entering these key strokes that makes the job feeling so much harder and more hateful, which is why the K key is so necessary.  The programmers would have gladly added it in, in a hearbeat, if he/she would only use the very calculator they are coding ..."

Hrm... on newer calculators the functions to convert are built-in and color coded (on mine at least).  Inches to Centimeters ... np simply hit the color of the function and press the function.. what's so hard about that.  You don't have to remember constants like 2.54 etc...  I think you're whining isn't helping very much.


Tuesday, December 2, 2003

and the Euro/Dollar exchange rate is a constant how ??? how big is this calculator of yours, what color is the button for fathoms to meters ?

the original poster's "whining" had a lot of interesting  observations, and some useful suggestions - your response is foolish and typical of the problem he describes.

my software always does what the user needs done, and in the most convenient way for them to get it done, i don't chastise my users as whiners, i learn from them.

Look@Me
Tuesday, December 2, 2003

The problem that programs are not easy to use and do not work in an obvious or consistent manner has been around for a long time. A part of the problem is that programmers are not users, but in my experience, there are other problems as well.

You mention user interface problems with Word and Excel. For both programs, the users are frequently not the purchasers. The purchasing decision may have more to do with features and compatibility, rather than how easy a program is to learn or use in a specific application. In such a situation, the vendor has to satisfy the purchaser, not the user.

Another problem I've run into is the anti-social nature of some programmers. A programmer who is hostile or arrogant towards users is unlikely to create programs that are easy to use.

Dan Brown
Tuesday, December 2, 2003

>> "and the Euro/Dollar exchange rate is a constant how ??? how big is this calculator of yours, what color is the button for fathoms to meters ?"

Listen up you fucking dumbass no one said the exchange rate was constant.  There are equivalents of the K button and they are color coded.  Purple on mine if you must know.


Tuesday, December 2, 2003

"anti-social nature of some programmers"?  "hostile or arrogant towards users"?  Whatever do you mean?

schmoe
Tuesday, December 2, 2003

Of course /real/ power users don't need a calculator app, they just use Google.

If you don't know what I'm talking about, try googling for things like these:
  e^(i*pi)
  350 feet in fathoms
  160 pounds * c^2
  2 cubic lightyears in liters

But apparently it doesn't do currency conversions... yet ;-)

John C.
Tuesday, December 2, 2003

I use http://www.xe.com/ucc for currency conversions.

Is this 'K' button like the memory function (on the Windows Calculator 'MR' and 'MS')

The Calculator amuses me because I have it set in Scientific mode. I don't use any of the functions, I just prefer having 1+2*3 equalling 7 rather than 9.

It seems strange that such fundamental behaviour is not part of the standard mode. But then, if you pick up any cheap, non-scientific calculator, it behaves in exactly the same way... :)

Steve P
Tuesday, December 2, 2003

Kingston, products like Excel and Word are probably the most studied and user-defined products ever made, with zillons of hours of every type of usability testing.

FYI, this is not usually by the "programmers."

Has it occurred to you that maybe you are a dumb user?

.
Tuesday, December 2, 2003

"EAT YOUR OWN DOGFOOD"

This is a quote from steve McConnell referring to Microsoft.

It means that programmers SHOULD use thier own software.  Microsoft C++ developers did exactly that. They wrote each version of C++ in the previous version of C++.

Provides a huge incentive to make a better programmer.

I think programmers should also provide TECH SUPPORT for thier own software, for the same reasons.

Entrepreneur
Tuesday, December 2, 2003

I think the 'Find and Replace' example is a bit flawed.

In Word, when it jumps to where the next match is, you get context. You can read the text around it, and decide whether you should actually replace it.

In the web context, it's time consuming for a search engine to show you what you were looking for within a page, so they merely give you a few lines of context and hope that it's sufficient. (And the 'I'm feeling lucky' button, of course :) )

Would you feel confident changing text without knowing the full context of the text you are changing?

Dreamweaver has a facility whereby you can 'Find All' and it presents the results in the dialogue box. However as it doesn't show the surrounding text, you would probably double-click on it to open the file and show you exactly how it is used.

So for most cases I use the single 'Find/Replace', only using Find All/Replace All where it's sufficiently a sufficiently obscure term that I can be sure that what I can match is exactly what I want to replace.

Steve P
Tuesday, December 2, 2003

In case anyone didn't understand my analogy above:

If dogfood manufacturers ate the dogfood they made, they'd make dogfood that tasted very very good.

Entrepreneur
Tuesday, December 2, 2003

Ah - Entrepreneur!

yes, the dogfood would taste good -- to humans, not necessarily dogs. Which, I think, is the point here.


Tuesday, December 2, 2003

Unless it was BoneHedz... :)

http://www.mediarelations.ksu.edu/WEB/News/InView/72601treats.html

Just Testing
Tuesday, December 2, 2003

1 Kingston makes some good points.
2 Ignore 'blank' - he is a troll.

Kingston, I have never seen a calculator with a K button, but I can instantly see how it would be very useful, if I imagine correctly how you use it.

Step 1 - somehow you set k.
Step 2 - enter a number.
Step 3 - press k - the number is multiplied by k and the result printed.
Repeat steps 2 & 3 for as many numbers as you have.

Is that how it works? Most calculators nowadays have an M and XM. You key in your number and press XM to store it in the memory. Then you do your above steps, but instead of pressing K, you press * then M then =.

Dennis Atkins
Wednesday, December 3, 2003

The calculator is a good example of the needs of different users - one size does not fit all.

Imagine a calculator like that, all the scientific functions, large LCD for graphics, metric to imperial, paper tape, RPN etc.  Better buy a bigger desk.

Yet all software works like just like that.

The calculator on my desk has a +Tax & -Tax button for handling sales tax, GST etc.  I've no use for it, but it's a neat feature I'm sure lots of people love.  First one I'd ever seen with that.  (Got it just after GST started in Australia.)

And how does the memory fuction on calculators work anyway?  It sucks.  And why do programmers keep copying it?

AJS
Wednesday, December 3, 2003

*  Recent Topics

*  Fog Creek Home