[long] Re: Legal traps in open source *WAY* OT.

Alex Satrapa grail at goldweb.com.au
Thu Oct 31 17:59:05 EST 2002


Doug.Palmer at csiro.au wrote:
> And, in the meantime, if you're not totally concentrated on what you're
> doing -- oh, I don't know, say you're doing something at home with the kids
> fighting and dinner just on the table, or your boss is breathing down the
> back of your neck, or ... -- and have hit the tab key a little too
> enthusiastically, you don't lose your file system. Good programs and systems
> are built to accommodate people operating under stress and with partial
> knowledge; anything else is just a cop-out by programmers too lazy or
> ignorant to consider HCI issues.

*laughs*

the problem is if you're answering some set of confirmation dialogs over 
and over again, you end up just answering "y" automatically.

"Do you really want to delete this file?" 120 times in one day, followed 
by one single "Do you really want to reformat this disk?"

Oops.  (I must admit that I have done this - fsck and mkfs are both 
commands that result in a non-corrupted disk ;)

> Including the mistakes which occur when you think you've saved something,
> but haven't? Or, if you've got one of those programs which automatically
> saves modifications, when you don't think you've modified something but
> have?

Most of my editing style programs ask "You have unsaved changes in 
<filename>." with the options "Don't Save", "Save" and "Cancel"  (which 
should probably be "Quit without Saving", "Save then Quit" and "Don't 
Quit").

I just have to remember to sit in front of the computer when logging 
off, and wait for the login screen to appear.  Many times I've started 
the logout process then walked away, then come back hours later only to 
see the unsaved changes prompt sitting there because I used BBEdit to 
store some information I was copy/pating between applications (so the 
empty document was still marked as "dirty";)

> ... who's going to be more pissed off,
> someone who lost an hours work or someone who had to click the "yes" button?

Who's going to be more pissed off, someone who just slid their car into 
the armco because they hit the brakes too hard, or someone who had to 
hit the "yes" button every time they use the brakes?  I've never seen a 
car that asks you to confirm application of the brakes ;)

> The level of confirmation required should be tailored to the level of
> consequences and the frequency of operation.

Deleting email and files is one of the most common things I do.  Thus 
the delete operation itself should be reversible.  On Mac OS X, when 
using the graphical interface, this is true.  When using any of the 
other systems I commonly use, this is not true.

> Or, as many people do, you put "alias 'rm=rm -i'" and then use /bin/rm when
> you really want to do a bulk remove. The act of typing /bin/rm (or -f, or
> any other explicit flag) provides an internal prompt to think about what
> you're doing.

Except that commonly used commands get performed automatically.  If you 
have to keep hitting "y" when deleting files, you'll end up doing it as 
a matter of habit.

Thus the "best" solution to the deleted files problem is to make rm 
reversible.

> Just begs the question as to what kind of "expert" is so incompetent as to
> design an environment where you need to pay an expert to safely remove a
> file.

An expert in sponging money out of customers.

> So the program can't tell if you're about to
> commit a common error, such as a misplaced space, and query it.

A simple solution to the deleted files problem is for rm to realise that 
there were two arguments, where any one argument would delete all the 
files in the directory.  I can't remember which OS is was I was using, 
but the rm command was smart this way - I think it was Darwin (Mac OS X 
again).

ie:

$ rm *     # Doesn't quibble
$ rm *.c   # Doesn't quibble
$ rm * .c  # Asks "Are you sure you want to delete all files in 
/home/grail?"

> What are the consequences of turning the key? The car starts. Does the car
> automatically move forward?

In industrial machinery, there are heaps of interlocks.  For example in 
a skid-steer loader (which is hydraulically driven), the operator must 
lower a safety bar when the machine is started.  This safety bar is 
mechanically linked to the "park brake" mechanism which closes the drive 
valves for the wheels, and clamps the wheels.  you cannot move the skid 
steer loader unless the bar is lowered (in fact, you can't operate any 
of the hydraulics).  In some machines, you cannot start the motor if you 
are not sitting in the seat.

In some cars these days, you cannot start the engine until the gears are 
in neutral - this is common in automatics (there is no clutch), I don't 
think I've seen it in manuals yet (the manufacturer assumes you'll have 
the gears in neutral or the clutch disengaged).

In my car, the motor will start regardless of being in gear or not.  So 
yes, my car will automatically move forward as the starter motor drives 
not just the motor, but the drive train as well. The user has to know to 
disengage the clutch before starting the motor.

> Or, if reversing a truck where there's a rear blind spot, a little
> beeper starts up.

The little beeper doesn't stop you running into things.  On a 
construction site, these beepers are going all the time - you end up not 
hearing them at all after a while.  The only way to survive on a 
construction site is to use your eyes and actually look for things that 
might be dangerous to you.

That's the way the brain works - it knows to pay lots of attention to 
things that are unusual, but to ignore environmental noise (of any kind) 
that is common.  The first few minutes of a rain storm are the noisiest. 
  The first day on a construction site is the noisiest.  The first few 
weeks with a baby are the noisiest.

After a while, you adapt to what represents "normal" conditions.

I hate confirmation dialogs, because they only have the *appearance* of 
trying to prevent catastrophe.  The tools should me more intelligent 
about deciding what requires warning and what doesn't (eg: this rm 
command that I'm now becoming quite thankful for).

Alex
PS: The "blind spot" in a truck is everything that's not in the 
120degree arc in front of the driver.  Thus the "ha ha only serious" 
style stickers:

  <-- Suicide          Passing Side -->




More information about the linux mailing list