Skip to content

Larry Tesler and the War on Modes

Abstract

Larry Tesler (1945–2020) spent his career trying to remove a single idea from computing: the mode, a state in which the same keystroke does different things depending on what the software is currently “in”. Working on the Gypsy editor at Xerox PARC in 1974–75, he and Tim Mott built one of the first modeless word processors and, with it, the cut/copy/paste commands now in every text field on earth. His car’s license plate read NO MODES. He also left behind a rule that every interface designer eventually collides with: complexity cannot be destroyed, only moved, either into the software or onto the user.

Larry Tesler
Larry Tesler. Image: Yahoo! Blog, CC BY 2.0, via Wikimedia Commons.

From Stanford to PARC

Lawrence Gordon Tesler was born in the Bronx on 24 April 1945. At the Bronx High School of Science in 1960 he learned a FORTRAN-like language, and its “unintuitive restrictions” frustrated him as much as its power attracted him. He entered Stanford in 1961, graduated in mathematics in 1965, and while still a student was improving the usability of an early animation language and taking consulting work from professors; in 1963 he founded a contract programming company, one of six in the Palo Alto Yellow Pages. Through the late 1960s he worked around Stanford’s Artificial Intelligence Laboratory, where interactive time-sharing was replacing batch processing, and found that most interactive programs had modes that kept tripping him up. He began analyzing command languages to find out why. He was also part of the local counterculture: at an alternative “free university” he taught a course on how to end IBM’s monopoly, and found that half his students worked for IBM. In the early 1970s he spent some time in Oregon.

Two experiences of the late 1960s shaped his later work. From 1968 to 1970 he pasted up a quarterly catalog for a local nonprofit by hand, cutting with blades and gluing, and imagined a computer system that would do the same job interactively. And the Stanford programmer Pentti Kanerva showed him a full-screen editor, TVEDIT, to which Kanerva had added an “oops” command for undoing mistakes and a two-step move: delete the text onto a stack, then insert it somewhere else. TVEDIT still had modes, but Tesler saw that a two-step move and an undo command could make a modeless editor practical. In 1971 the laboratory’s director, Les Earnest, asked him for a page-layout language that could number sections and generate indexes and tables of contents; Tesler wrote PUB, a markup language with embedded tags and scripting that became popular with graduate students across the ARPANET.

In 1973 Tesler joined Xerox PARC, as a member of the PARC Online Office System (POLOS) team, while also working with Alan Kay’s Learning Research Group on Smalltalk (see The Xerox PARC Revolution). He was drawn to Kay partly because Kay’s overlapping windows had been invented as an alternative to modes. At PARC he built a tool for reading through Smalltalk’s class hierarchies and called it a “browser”. The dedicated cut, copy, paste and undo keys of his editors also led to a pop-up menu: his colleague Dan Ingalls implemented one in Smalltalk listing the four command names, and it evolved into the right-click context menu.

Killing the Mode

Many of the POLOS engineers had come from Douglas Engelbart’s group at SRI and wanted to build Xerox’s office system on Engelbart’s NLS. Tesler thought NLS would never appeal to ordinary office workers. Its commands used prefix syntax: the user typed a verb (such as Move) and then pointed at the objects, so that both the text to be moved and its destination had to be visible on the screen before the command began, and a user who forgot which state the system was in could do serious damage. Tesler wanted suffix syntax: select the object first, then choose the verb, with typing always inserting text. Using Smalltalk he built a simple typewriter-like editor with very few modes, and found that people who had never touched a computer could learn it in five minutes.

The chance to build the real thing came from Ginn and Company, a textbook publisher owned by Xerox, which asked PARC for a galley editor and a page-layout system. Tesler’s manager, Bill English, put him in charge and assigned Dan Swinehart, another opponent of modes, to advise him. Ginn hired a software engineer, Tim Mott, to study how its editors actually worked, and in 1974 Mott came to PARC to build the galley editor with Tesler; Mott named it Gypsy. They started from the source code of Bravo, the pioneering WYSIWYG editor that Butler Lampson and Charles Simonyi had conceived for the Alto, and replaced its modal interface with a modeless one. Typed characters were always text. To move a passage, the user selected it with the mouse, pressed Cut, clicked the destination and pressed Paste; Copy worked the same way. At Ginn’s request they added bold, italic and underlining and a filing system with versions and drafts. PARC’s new psychologists Tom Moran, Stu Card and Beverly McHugh ran usability studies that shaped the details.

Gypsy was finished in early 1975 and installed at Ginn, where the users liked it and disliked one thing: nobody had planned to maintain it, so problems went unfixed. Tesler later listed that as one of his lessons. Moving blocks of text was not new: editing programs of the 1960s could do it, Engelbart showed it in his 1968 demonstration, Evelyn Berezin’s Redactron word processor offered it in the early 1970s, and in 1977 Michael Shrayer’s Electric Pencil, the first word processor for microcomputers, called it “block movement”. What Gypsy added was the modeless select-then-command pattern. Tesler and Mott are credited with the cut, copy and paste model together, and Tesler himself described it as a pattern developed “over a period of years in collaboration with a series of colleagues.” Xerox’s later systems took the modeless principle but not the two-step move: the Star office system and Simonyi’s BravoX let users move or copy text in one gesture, at the cost of a small mode between choosing the source and the destination. Apple’s Lisa and Macintosh and Microsoft’s Word and Windows adopted the Gypsy pattern, and through them it reached every text field on every device.

The anti-mode conviction became Tesler’s signature. His slogan was “Don’t Mode Me In”. His California license plate read NO MODES, and he later used the handle @nomodes online.

Apple

In 1978 he also worked on the NoteTaker, a portable Smalltalk machine built around an Intel 8086 that weighed about 22 kilograms and never left the prototype stage. After Steve Jobs’s Apple team visited PARC in late 1979, a visit Tesler attended, Tesler was one of the PARC people who moved to Cupertino, joining Apple in July 1980. He worked on the Lisa, carrying modeless editing and cut/copy/paste into a commercial product, and in 1985 collaborated with Niklaus Wirth to design Object Pascal, the language Apple used for its application frameworks.

He rose to vice president in the Advanced Technology Group, which was responsible for HyperCard and QuickTime. In 1990 he persuaded Apple’s directors to take part in founding the chip company ARM. From 1990 he ran the Newton group, leaving it shortly before the handheld shipped in 1993; its handwriting recognition was mocked into a punchline, and Jobs killed the line in 1998. Tesler then became Apple’s chief scientist. In 1997, before leaving Apple, Tesler had the task of closing the Advanced Technology Group itself. His later career moved through user experience roles at companies selling to ordinary people: he co-founded Stagecast Software in 1997, was a vice president of engineering and then of the shopping experience at Amazon from 2001 to 2005, led user experience at Yahoo from 2005 to 2008, and spent a year at the genetics company 23andMe before consulting independently. He died in Portola Valley, California, on February 16, 2020, at 74.

Tesler’s Law

Out of decades of arguing over interfaces, Tesler distilled a principle now taught as the Law of Conservation of Complexity: every application has an irreducible amount of complexity, and the only real question is who has to absorb it. A feature that looks simpler to the user is usually simpler because an engineer took on extra work to hide the mess; complexity pushed out of the interface lands in the code, and complexity left out of the code lands on the person. The law reframed “make it simpler” as a decision about where to put difficulty rather than how to erase it.

The Limits of the Crusade

Tesler won the mainstream and lost the corners. The interface most people use, one where letters are always letters and editing runs on select-and-paste, is the modeless world he argued for. But modes never died. The modal editor he set out to replace, in the form of vi and its successor Vim, remains in daily use by programmers who prize its speed precisely because it separates typing from commanding. Every smartphone keyboard toggles between letters, numbers, and symbols, a mode by another name, because a touchscreen has too few keys to do otherwise. The verdict on his career is split cleanly: the model he built became universal, and the enemy he named turned out to be useful often enough to survive wherever screen space or speed is scarce.

📚 Sources