User Adapts To Software

An AntiPattern.

The programmer writes a program that is entirely reasonable. When the users don't adapt to the way it works, it's their fault for not changing their patterns of use to suit the perfectly behaved program.

For example, fly by wire software limits how fast you can increase thrust so that the plane's engines don't get worn out too fast. This safety feature didn't turn out to be very safe when a passenger airplane smacked into a mountainside because the pilot didn't anticipate the 2 second delay.

Actual Result: pilot error.

Ideally: programmer gets shot.

Better solution: provide force feedback such that if the pilot turns as hard as he can, then the software does its best to also do so as fast as possible. This gets into difficult non-linearity issues, but such things were, after all, solved long ago for the SpaceShuttle fly-by-wire controls.

Humans can adapt nicely to fairly arbitrary mechanical controls, so long as they obey the usual laws of physics. Unfortunately software obeys completely arbitrary rules, which is usually a bad idea.


CategoryAntiPattern


EditText of this page (last edited February 14, 2010) or FindPage with title or text search