emacs usability problem


On Feb 25, 5:13 am, Xiao-Yong Jin wrote:
> the good old Emacs way

Let me give some examples of how many of the emacs's ways are technically inferior. Some, to a degree that's outright stupid. The reason, most emacs users, didn't see this, because over all emacs is above all others, especially in the 1990s, and with that developed a emacs cult. So, the perception becomes black & white, namely: emacs way, or stupid way.

here's some example of emacs that are technically inferior.


• Why Emacs's Keyboard Shortcuts Are Painful


See also, a newsgroup post on “comp.emacs”. “Re: effective emacs” (2008-06-01) by Daniel Weinreb. http://groups.google.com/group/comp.emacs/msg/0342e0bc1aa05c0d.

Xah wrote:
«Emacs's default cursor moving shortcuts are “Ctrl+f”, “Ctrl+b”, “Ctrl
+n”, “Ctrl+p”. The keys f, b, n, p are scattered around the keyboard
and are not under the home row.»

Daniel wrote:
That's true. At the time Guy Steele put together the Emacs default
key mappings, many people in the target user community (about 20
people at MIT!) were already using these key bindings. It would
have been hard to get the new Emacs bindings accepted by the
community if they differed for such basic commands. As you point
out, anyone using Emacs can very easily change this based on
their own ergonomic preferences.

Daniel is supposed to be the oldest emacs user.


• The Modernization of Emacs


Emacs's ways are technically superior. It should not change.

Emacs's user interface, when compared to modern software application's user interface, is complex and unusual, however, there's no basis whatsoever of it being actually a superior design with regards to any sensible metrics. (in fact, much of emacs's user interface are due to historical reasons. That is, how computers are in 1980s.)

For example, let's consider emacs's system of keyboard shortcuts. For a keyboard shortcut system, we might judge its quality based on several aspects. Here are some examples of consideration:

* Is it easy to learn? (is it familiar to most people? Is it easy to remember?)
* Is it ergonomic? (Are most frequently used command's keyboard shortcuts easy to type? Are more frequently used commands have easier to type shortcuts than less frequently used commands?)
* Are most frequently used commands all have a keyboard shortcut?
* Is the shortcut system somehow consistent and extensible?

Emacs's keyboard shortcuts system, is good only with respect to the last item. Emacs keyboard shortcuts are perhaps one of the most difficult to learn among software, and is also one of the most difficult to remember. The worst aspect of emacs's keyboard shortcuts, is that it is ergonomically painful. (Many emacs-using programer celebrities have injured their hands with emacs. (e.g. Richard Stallman, Jamie Zawinski, Ben Wing), and emacs's Ctrl and Meta combinations are most cited as the major turn-off to potential users among programers)

Computer keyboard is a hardware interface, and the mapping of commands to the key press combinations can be considered from a Operation Research (ergonomic) point of view. The keyboard hardware itself can be designed with consideration of ergonomics (that's why we have split and curved keyboards), but consideration of what functions to map to what key presses is also non-trivial if the software has large number of functions, or if the software is mission critical, or the software is used for repetitive, long durations of human-machine interaction (such as data-entry, programing, writing). Think of it this way: consider a airplane cockpit, filled with knobs, dials, buttons, and switches. Now, if your job is to map the airplane control functions to these switches, what are the issues to consider?

If we take careful consideration on creating a keyboard shortcut system for emacs, it is not difficult to create a system that is superior in some pure technical sense than the emacs's shortcut system.

For some detail, see: Why Emacs's Keyboard Shortcuts Are Painful.

Aside from keyboard shortcuts system, other user interface aspects of emacs are also questionable. For example, one major aspect of emacs operation is that it uses a single window for multiple purposes and files. Emacs is this way not because of a design decision, but rather due to historical reasons. Computer resources in the 1980s are very limited. When emacs is around, graphical system of showing “windows” is not practically available, and the emacs's method of using the screen (the monochrome text-only monitor) for presenting multiple tasks (“buffers”) is actually a very advanced user interface design not available in software of that era. When graphical systems becomes practical in the 1990s, drawing a window still takes a lot memory, and opening multiple windows is slow and impractical.

Modern software interface (say, post 2000) usually uses one window per file (or task), and or show tabs if multiple tasks are represented in a single window. However, emacs's buffer system doesn't provide the tabs visual clue. Compared to the modern standard of tabbed window, emacs's buffer interface is inferior because it is less intuitive. Arguably, emacs's operation methods may be more efficient for expert users. 20 years ago, efficiency for expert users may out weight the ease of use for majority of average users. But in today computing era, computers are standard tools in every household, efficiency and ease of use for general users is as important for professional users. Even for professional users, it is openly questionable that emacs's ways of operation induced by its default user interface allows more efficient operation than a user interface based on modern software conventions. (this can be tested by having 2 team of programmers roughly equally experienced or skilled in using emacs. One team use Emacs with default UI setup, the other use a emacs with modernized interface (such as Mac's Aquamacs), then compare their efficiency in finishing a set of coding tasks.)


the emacs cult induced black & white mentality is harmful. When in online discussion, whenever some aspect of emacs is criticized that is unique to emacs, the emacs users just see “Emacs Way” vs “Microsoft way”, and therefore they think the only way is emacs way. It needn't be that way. Certainly the emacs's system is great and made it last over about 3 decades, but many aspects can adopt modern UI for the better, while not taking away any advantage of emacs.

over the past 3 years i've spent a lot time on this and written a lot detailed account. One latest one is about emacs's menus. See:

• Emacs's Menu Usability Problem

This is about emacs's menu. You'll see that it is full of usability problems. PS on this i sent to emacs bug report. So far no response.

∑ http://xahlee.org/


No comments:

Post a Comment