Emacs Menu Usability Problem

By Xah Lee. Date: . Last updated: .

This page details some usability problems of Emacs's menu items.

The following are screenshots of emacs 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.

emacs search menus
emacs search menus

The 4 non-interactive search commands are not useful. The interactive ones should replace them.

You pull the menu [String Forward…], type a word, press Enter, then emacs will place cursor on the first occurrence. To find next occurrence, pull the menu again, type again, Enter. This operation method is extremely inefficient, and probably is never used by 99.99% of emacs users. Emacs provides interactive search features that has both a menu and command name. (e.g. isearch-forwardCtrl+s】 [Forward String…])

Also, the name should be changed to [Search Forward…], [Search Backward…], etc, instead of [Forward String…], [Backward String…].

emacs goto menu
Emacs's [Edit] menu.

The 3 [Go To] menu items are not much useful.

emcs options menu
Emacs 22's [Options] menu.
emcs tools menu
Emacs 22's [Tool] menu.

The menu items for rmail and gnus do not work out of the box, because these features need operating system's support and setup that requires some sys admin expertise.

Today, vast majority of people use web based email services (e.g. Gmail), even among professional programers. Also, unlike the situation of the 1980s and 1990s, where most programer's “workstation” machines running unix are setup to run sendmail services. Today, even Linux users, most are probably not setup to run sendmail. Microsoft Windows, today used by ~95% of personal computer users world wide, does not come with “sendmail”. Mac OS X uses PostFix as its MTA and is not enabled by default.

It is questionable, that the gnus and rmail should have a menu item. For those programers who might want to use these and have the expertise to set it up, they can most certainly find out about these features online or in the emacs documentation. For the emacs die-hards accustomized to using rmail or gnus, they never actually pull these menus to invoke the commands. They simply type Meta+x rmail or Meta+x gnus.

The game items seem a bit silly. In the 1980s or 1990s, some of these games are typical computer science homework, and are real games in those days. Today, these in emacs are more like a show off, and not really impressive. These games are divisive of emacs and elisp's real power. Also note, none of these game's implementations are nearly a good quality. For example, gomoku (aka “Five in a row”) is today practically a solved problem, but the emacs's AI in gomoku is at kids level. The menu Life plays Conway's Game of Life. You can easily find lots of implementation on the web in Java Applet or Flash that is some 1000 times faster or 10 times more features. For emacs to showoff a game, it should at least show a outstanding implementation, or some game that has merits to stands by itself. (A typing game implemented in elisp would be suitable, or a emacs interface to GNU Go, GNU Chess, or music player.)

emacs help menu
Emacs's [Help] menu. Extremely confusing and chaotic.

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 propaganda. The following are some explanation.

The content of [Emacs FAQ], [Emacs News], [Emacs Known Problems], are about 5 or 10 years out of date. 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 for the first time, and realized it is a keyword based search on bundled elisp packages. Looking at the result, it does not seem 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 [Emacs Psychotherapist] is the forefront of AI research in the 1960s. (It is a implementation of ELIZA) Having it in 1980s is way cool. Having it in 1990s in a text editor is a novelty. Today, as a demo of elisp power or as a fun program, it's rather stupid.

The [Getting New Versions], [Copying Condition], [(Non)Warranty] are all redundant. For example, when you pull [Getting New Versions], you get a 940 words article, 19 paragraphs, that discuss the meaning of “Free Software”, copying conditions, where to order FSF's Emacs books, systems emacs runs on, warranty situation, encouragement to computer manufactures on including emacs, request for help and donation… etc. One of the 19 paragraphs, is about where to download FSF software. The page content is written perhaps in 1986, and perhaps last major revision in 1990s. Do today's users need pull a menu named [Getting New Versions]?

A modern replacement should be “Check Update” that tells user if his emacs is up to date, or better, automatically upgrade emacs as a option. Such a feature is common in modern apps. The [Copying Condition] and [(Non)Warranty] are part of the licensing and user agreement. No app today has it as a menu item. All 3 items, are linked in the [About Emacs] menu item's doc, and that is sufficient and appropriate.

The [About GNU] is Richard Stallman's FSF 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 already. This menu item burdens the Help menu with another non-helpful item. Again, [About Emacs] has a link to it already.

The items in [More Manuals] sub-menu, can all be gone except the [All Other Manuals (Info)] and the [Lookup Subject in all manuals…] info-apropos. The [All Other Manuals (Info)] should be moved to the top, and serve as the one entry point for all manuals, and the info-apropos menu item can move to the [Search Documentation] sub menu.

Emacs 23.1.1, released on 2009-07-30, did not fix any of these menu problems. [see Emacs 23 (Released 2009-07)]

This issue is discussed in emacs dev mailing list in 2009-08-08, Fiddling with the menus, at: http://lists.gnu.org/archive/html/emacs-devel/2009-08/threads.html

Emacs Modernization