20060715

Why ReDo

Whatever else they may be, computers are stupid.
I don't mean they are good for nothing - hell, they're good for keeping me employed for one - just that they're nothing but very well trained (and obviously somewhat more elaborate) ants. You tell the PC to go left, and regardles of brick walls, innocent bystanders or axe-carrying stepmothers being there, it will go left (assuming you somehow taught your computer how to go left).
You tell that machine to kill you and by all means it will try to shorten your life (sorry Asimov).

Now, I can live with that. It took me a while, but I've accepted the fact that computers are dumber than most people I know.

The real problem is in the communication: if only the stupid thing were able to understand what I mean when I'm trying to get it to do something. No really: how often haven't you been behind the wheel of one of these overgrown calculators, and yelled at it: that's not what I wanted you to do!
You know that you have typed a long document, with some pictures in it, right? Spent hours positioning the figures so they fit in the right pages, then you see spelling error somewhere, you correct it, and the son-of-a-chip does some unholiness to your layout? NOOOOOO! Or the one where you tried to set a picture as a background on your desktop, as big as possible without deformation? Have you tried googling when you are trying to remember this title of a book that you know you read last summer and was about sheep?
I don't know: I am into computers, and they sure don't always understand me. Something must have gone wrong in the Darwinian evolution of software: they're mostly just getting faster at not getting the point. Worse: nobody seems to have a proper solution. I've seen attempts alright: endless dialog boxes asking whether I'm really absolutely sure I wanted to change the startpage of my browser, features that are so well hidden that you could not accidentally (or on purpose) use them, and finally: the Elvis of dreadful protectors, the Pele of foolproof-foolishness: the undo-button.
Every modern day application has it, and, fair is fair: what an invention! The guy who thought of it (let's call him Uncle Do) is brilliant: OK, fellows, we're not smart enough to create a program that is smart enough to understand what the user will want it to do, so... we build in an option to undo the last step, for all those cases when our program 'did it again'. Nobelprize for this man!
But then came in the software-engineers, and in no time, they managed to screw up a pefectly good idea: first, we make sure the user can undo more than one step. Well, in some programs we do this, in others not (so the user can be properly frustrated, because this will obviously be the time when she will need to undo two steps), or maybe we allow the user to undo up to five steps? Or make it depend upon the memory of the computer (so that when we are working with a big, important file, this functionality unexpectedly fails to work).
But wait: there's more! We can leave the definition of a 'step' to undo to the randomness of a monkey on a typewriter, or make undo work at such blazing lack of speed that the user will press undo six times only to find a lot more work undone than he had accounted for.
After all, don't forget: 'undo' is just another piece of software, so how could we expect it to understand what the user wants?
In steps Uncle Do, fairly wealthy by now, and suggests the inevitable: we need to be able to undo the undo.
Welcome to the wonderful world of software development.

Geen opmerkingen: