Emacs Menu Usability Problem
Xah Lee, 2009-02-06
This page details some usability problems of Emacs's menu items.
The following are screenshots of emacs 22's menu items, and with explanations on why i think some of them should be removed. There are about 30 menus or submenus i think are redundant, confusing, outdated, or inappropriate. A clean menu would help users learn or use more important commands and features.
The non-interactive search menus are for one-time use, and do not have keyboard shortcuts. This operation method is extremely inefficient, and probably is almost never used statistically. Since emacs provides interactive search features, both by menu as well as by keyboard shortcut, it should replace these one-time find menu items.
Emacs's Edit menu.
The 3 Goto menu items are not much useful.
- The “Goto Buffer Position...” invokes the command goto-char, which moves the cursor to a given position in the buffer. “goto-char” is not much needed for text editing. If a programer wants to go to a particular position, typically it is done by line number and column number. “goto-char” is used almost exclusively for elisp programing. For elisp programers, it is statistically verifiable that none of them use the menu as a operation method, and perhaps less than 1% learned the existence of the command goto-char from the menu.
- The Goto beginning/ending of buffer is useless as a menu. Users can intuitively press page up/down, scroll the mouse, or “Ctrl+Home” and “Ctrl+End” to do the same thing. For those using emacs's “M-<” and “M->” shortcuts, they don't need the menu or the menu to remind them.
Emacs 22's Options menu.
- The “Active Region Highlighting” is on in emacs 23. This feature is standard in all modern editors. For those who want it off, it can be easily done thru Customization menu or elisp code.
- The “Case-Insensitive Search” should be moved to be together with the interactive search menu under Edit.
- The Blinking Cursor is standard in all editors. If a tweaker want it off, he can easily find out the elisp code to do so.
- The Debugger commands is used by elisp programers only, they need not be on a menu, or it should be on only when in emacs lisp mode.
- The tool-bar itself, which is some large buttons for copy, cut, paste, open, etc, is not useful for emacs users.
- The Scroll-bar and Fringe should be gone. Scroll-bar is a standard feature in all applications. If some power user want it off, he don't need the menu for it. The Fringe adjustment is again for tweakers. It provides no practical significance.
- The Time, Battery, are of little use. Their functionality are provided by the OS's tool bar. Again, for geeks who need it, it is easy to call the command by “M-x”.
- The Size Indication, which shows the file size in the mode-line, should be gone too because for those who needs this feature, they don't need a menu.
Emacs 22's Tool menu.
Today, vast majority of people use web based email services, even among professional programers. Also, unlike the situation of the 1990s, where most programer's PC running unix ar setup to run sendmail services. Today, even linux users, most are probably not setup to run sendmail. Microsoft Windows, used by ~95% of users world wide, does not come with “sendmail”. Mac OS X by default its sendmail is not setup.
It is questionable, that the gnus and rmail should have a menu item. For those programers who do use these, they don't need the menu, nor are they likely to learn these features by the menu item's existence.
The game items seem a bit silly. In the 1980s or 1990s, some of these games are typical computer science research homework, and are real games in those era. Today, these in emacs are more like a show off of emacs, as in “emacs can actually run games”. It is not really impressive, and rather divisive of emacs and elisp's real power.
Emacs's help menu. Lots items are questionable.
In the emacs's help menu, there are about 30 items. With this many items, they are more confusing than helpful. Many of these are outdated, redundant, never used, or FSF politics. The following are some explanation.
The document from the “Emacs FAQ”, “Emacs News”, “Emacs Known Problems” items, are hopelessly outdated. Today, people use the web for these issues, and the web is far more efficient and effective. The web would also serve emacs dev team better if they switch to web based info on these items. The web pages would be easier to maintain, and can contain up to date info. Similarly, the “External Packages” is hopelessly outdated. For this, the emacswiki (emacswiki.org) provides far more useful resource. The “Find Emacs Packages” item has rather confusing name. After using emacs 8 hours a day for 10 years, i pulled it today, and realized it is a keyword based search of elisp packages that are bundled with emacs. Looking at the result, it does not seems very useful. For example, clicking on OOP shows a bunch of modes that really have little to do with Object Oriented Programing. Perhaps it should go into the “Search Documentation” sub-menu.
The “Getting New Versions”, “Copying Condition”, “(Non)Warranty” are all redundant. The “About Emacs”, and the licensing agreement when people download or install emacs, are sufficient. The “About GNU” is Richard Stallman's propaganda. Its inclusion in emacs's Help menu is more about politics than as a helpful resource for the emacs software. The emacs manual has FSF propaganda littered throughout. This menu item burdens the Help menu with another non-helpful item.
The other sub-menus could consider some re-arrangement and some probably isn't useful as a menu.