Here are some Frequently Asked Questions about The Modernization of Emacs. They are slightly lengthy, so i've separated each item per post. The whole article can be found at http://xahlee.org/emacs/modernization.html ------------
Q: Emacs's ways are technically superior. It should not change. A: Emac'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 type? (is most frequently used commands easy to type?) * Is it easy to remember? * Are more frequently used commands have the easier-to-type shortcuts that less frequently used commands? * Are most frequently used commands all have a keyboard shortcut? * Can the shortcut system somehow be consistent and extensible to cover other user defined shortcuts? Emacs's keyboard shortcuts system, somewhat satisfies the last aspect, but do very bad with respect to all the others. 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), and emacs's Cntl-x keyboard and Meta-x 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 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. 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 things to consider for a optimal map? If we take careful consideration on creating a keyboard shortcut system for emacs, it is actually easy to create a system that are purely superior in some technical sense than the ad-hoc Emacs's ways. Aside from keyboard shortcuts system, Emacs's other user interfaces 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 textual-based-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 takes a lot memory, and opening multiple windows is slow and inpractical. Modern software interface (say, post 2000) usually uses one window per file (or task), and or show a tab if multiple task is to be represented in a single window. However, in general, emacs doesn't provide the tabs visual clue and still remained its old way of using a single window for all files and tasks as its standard operation. As far as user interface design is considered per se with respect to today's computing standards, the emacs's way 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 faster or more efficient operation than a user interface based on modern software conventions. Xah [EMAIL PROTECTED] ∑ http://xahlee.org/ -- http://mail.python.org/mailman/listinfo/python-list