Ian Bicking: the old part of his blog

The and leap comment 000

"for sure it will be very awkward to type when keeping to press it, but the argument against modes is quite strong"

Well, no, it's not, actually, though the dogma certainly is -- statements of the above form are paradigmatic of dogmatism. Paraphrasing, "sure we put you through ergonomic hell, but we have a good theoretical basis for doing so".

There are good ways to do modes and bad ways to do modes, and LEAP is the very worst way -- it has two modes, the "LEAP key is up" mode and the "LEAP key is down" mode; denying that these are modes is pure sophistry, since they affect the meaning of keystrokes just like any of form of mode specification. But "LEAP key is down" requires the user to enter a different personal physical mode -- one that is in fact very limiting and demanding. This makes LEAP an ergonomic disaster.

emacs does modes right. modes are attached to buffers -- different logical spaces. There's never any question what mode you're in, since you have both a different conceptual/logical space -- you're operating on some specific buffer -- and an explicit message on the screen indicating what mode (actually modes, a major mode and 0 or more minor modes) are in effect in that buffer. There are many different possible modes, which is a very good thing in terms of functionality and usability. Raskin would perhaps put several dozen different "hold this key down while ..." keys on the keyboard, or more likely simply not provide the functionality while providing a dogmatic claim as to why that's a good thing. Meanwhile, emacs users get work done, pleasurably.

A special case of emacs moding, which isn't referred to as such, is the minibuffer. In order to search or to enter a command or to find a file or to do almost anything where the entered text has semantic meaning to emacs, you type an appropriate control key or sequence which enters you into the minibuffer, with an explicit message at the front of the minibuffer indicating what sort of information you are entering. The key sequence that puts you in the minibuffer of course is putting you into a mode, but that mode is conceptually isolated by transferring the cursor to a special place that is clearly marked. It so happens that, since the minibuffer is a buffer, you can switch from the minibuffer to any other buffer -- the buffer switching key isn't moded -- and then you're in the mode of the buffer you have switched to, where you are free to continue typing, but most likely you have switched to that buffer to select text that you wish to enter into the minibuffer -- text to search for, text that's a command invocation or part of one, text that's a file to open, etc. Try doing that with your finger holding down the LEAP key, hah hah -- so much for modelessness. emacs in fact gives you modelessness in the way it counts -- by being able to switch from mode to mode at will, without destroying the moded space. This is exactly equivalent to non-modal popups, which allow you to continue to look at and even perform operations in the windows they cover. We all know how badly modal windows suck -- we shouldn't be trying to recreate that experience in an editor.

The emacs mode model works, and it works very well, which is a very strong refutation of the a priori claim that there are strong arguments against it.

Comment on Re: THE and LEAP
by jqb