WIMP Interface Considered Harmful

Last week in class I was waxing on and on about Open Source Software (OSS) and the issue of how difficult it is to learn a second application of a particular type. If you learned Wordstar back in the days of DOS learning WordPerfect was maddeningly frustrating. After Wordstar's commands, based on a brilliant combination of ergonomics and mnemonics, Wordperfect's function key commands were completely befuddling. Of course some people found Wordstar's control key commands difficult to remember and Wordperfect's keyboard template made sense. Even after using the One True Editor for nearly a decade, I remember all of Wordstar's basic cursor-movement commands and lots of the formatting ones. Until I started using Emacs I would coerce whatever other editor/word processor that I was using into using Wordstar's keyboard commands. Strange as it may seem, some people haven't given up. Now, however, things are different. Or, really, thanks to Apple's doing such a good job of making the most of what people at Xerox had done, and Microsoft's subsequent adoption of it, the WIMP interface is now ubiquitous. You don't have to wonder whether it's ^KS to save (Wordstar) or F10 (Wordperfect). Whether you're using a word processor, a spreadsheet or a statistics package, you know that you can pull down the File menu and choose Save, regardless of whether it's made by Microsoft, Apple, Wolfram Associates or some crazy OSS developer. This ease of use comes at a considerable cost, however. A startling number of people don't know that instead of (1) taking your hand off the keyboard, (2) moving the mouse to the file menu, (3) moving it down to "save", (4) clicking, and (5) moving your hand back to the keyboard you can type control-S (^S). Each of these 5 steps takes several times longer than pressing ^S. Typing ^S takes less than one tenth as long as using the mouse to save a file. This means either that people waste a whole lot of time saving or save far too infrequently and, hence, waste time because their work gets lost. A problem that I consider much bigger that fewer people recognize is that you can't move the cursor without taking your hands off of home row. I've started using Thunderbird a bit more lately. Because there are no cursor movement keys except the arrow keys, it's usually easier to delete and re-type text--even several words-than it is to move the cursor and fix a single typo. In Emacs, I can easily move the cursor a character, word, line or sentence at a time without leaving home row. I can even swap words or characters. How often to you type a character only to realize that the last two were backwards? You (probably) delete and then re-type them both. I type control-T and keep going. But the thing is that lots of people who use Emacs don't learn these commands. Do you know why not? Because it now has the same WIMP interface that most word processors do, so people are inclined to use it just like a word processor. One of Emacs's most useful commands is incremental search. Rather than typing a word that you're looking for and then starting the search, Emacs will let you start typing the word and move the cursor to the first place that has the sequence of characters you've typed. So if you're looking for the word "typed" you can probably get to it by typing just control-s "ty". It may not sound like much, but this method of moving the cursor is so easy that it's convenient to move it just a line or two away. So rather than hitting the up arrow a couple times and then left arrow 20 or so times (fewer if with control-arrow to move a word at a time), I can type Control-R and a few characters to move where I want to go. Maybe you're better off not knowing that. I am extremely frustrated when I have to use an editor other than Emacs.