February 18, 2016

There is a feature in the text editors programmers have adopted over the past few years that deserves more historical credit than it usually gets. In Sublime Text it is summoned with a keystroke and called the command palette. Atom, the newer editor from GitHub, has the same thing under the same name. You press a key combination, a small input box appears, you begin typing the name of a command or a file, and the editor narrows a list to the closest matches as you type. Select one and it runs. No menus, no toolbar hunting, no memorizing where a function lives in a hierarchy. You type what you want.
This is, in its essentials, an idea Jef Raskin built into a shipping product in 1987. The product was the Canon Cat, and the mechanism was the LEAP key.
What LEAP Actually Did
The Canon Cat had no menus, no file system visible to the user, and no separate applications. To move anywhere in a document, you held the LEAP key and typed the text you wanted to jump to. The cursor flew to the nearest occurrence as you typed, refining its position with each keystroke. Release the key and you were there. The same gesture searched, navigated, and — in combination with other keys — invoked commands. (The full mechanism is documented in the Canon Cat reference material preserved in this archive.)
The premise was that typing what you want is faster and more direct than locating it in a spatial arrangement of controls. Raskin had measured this. He was unusually rigorous about interface efficiency, and he believed that the act of moving a hand to a mouse, locating a target, and clicking it was slower and more error-prone than a keyboard gesture for a wide class of operations. LEAP was the embodiment of that belief.
The Cat sold for about six months before Canon discontinued it for reasons that had little to do with its merits. The LEAP key went with it. For roughly two decades, mainstream computing moved decisively in the other direction — toward the mouse, the menu, the toolbar, and the icon.
The Reappearance
What is striking about the command palette is that it arrived without, as far as the public record shows, any deliberate homage to Raskin. The developers who built these features were solving a practical problem: modern editors accumulate so many commands and so many open files that menus and tabs become unwieldy. A typed, fuzzy-matched entry point is simply the most efficient way to reach any of hundreds of targets. They rediscovered LEAP because the same constraints that produced it in 1987 reasserted themselves.
This is the more interesting kind of vindication. An idea that is adopted because someone admired its originator is a tribute. An idea that is independently reinvented because the underlying logic forces it is a confirmation. The command palette is the second kind.
There are real differences, to be fair. LEAP was the primary and nearly exclusive navigation method on the Cat; the command palette is one option among many in editors that still have menus, mice, and toolbars. LEAP was incremental search through document text; the palette is usually fuzzy matching over a list of named commands and files. But the family resemblance is unmistakable: a keyboard-driven, type-to-find interface that collapses navigation and command invocation into a single act of typing.
Why Editors First
It is not an accident that the revival happened among programmers’ tools before anywhere else. Programmers are an audience that already lives on the keyboard, is willing to learn efficient gestures, and works with software complex enough that menu-based navigation genuinely hurts. They are, in other words, close to the audience Raskin imagined when he argued that keyboard-centric interaction beats pointing for skilled, repetitive work.
The general consumer software of 2016 has not gone this way and may never fully do so. The mouse and the touchscreen serve casual and novice users well, and most software is designed for them. But the tools used by people who spend all day in one application — editors, certain professional applications — are exactly where the efficiency argument bites hardest, and that is where LEAP-like interaction has returned.
The Limit of the Comparison
It would overstate the case to claim that the command palette fulfills Raskin’s vision. His larger program was modeless, application-free computing, and the editors carrying command palettes are deeply modal, application-bound tools. The palette is a feature grafted onto a conventional design, not a reorganization of computing around the principle. Raskin wanted the keyboard-driven, type-to-find model to be the whole interface, not a power-user shortcut.
Still, the feature matters as evidence. It shows that the specific mechanism Raskin shipped in 1987 was not a dead end or a curiosity but a genuinely good solution to a recurring problem — good enough that a later generation of designers, working independently, arrived at it again. The fact that they did not know they were reinventing the LEAP key is, in a sense, the strongest possible endorsement of it.
The Cat is gone. LEAP, in everything but name, is back.
Further Reading
- The Canon Cat reference manual — LEAP documented in the original
- Jef Raskin, Wikipedia
- Canon Cat, Wikipedia
Part of the Ideas series — applying Raskin’s principles to current computing.