Larry Tesler, the computer scientist who is widely credited with the copy-and-paste function that is now nearly ubiquitous in user interfaces, has died at 74.
Tesler – note the spelling! – worked at the influential Xerox Palo Alto Research Center, better known as PARC, in the 1970s.
Old-timers in the computer industry will tell you that “everything that we take for granted in computing these days was invented at PARC”, and there’s a grain of truth in that rose-tinted reminiscence.
Xerox, so the story goes, was worried that the paperless office was on its way, which wouldn’t be great for its vast photocopier business.
If everyone in an office had their own computer, companies wouldn’t need copiers because they could share documents electronically, and if they did need a printed copy, then they could just print it out themselves.
At least, they could do those things if [a] they had their own computers, [b] those computers were easy to use, [c] the computers could be interconnected reliably, [d] the computers could be programmed easily, and [e] if they had printers that were kind of like copiers, but didn’t need an original document to copy from.
So the researchers at PARC came up with, and learned to program and use, a whole raft of technologies that we do now take for granted – such as ethernet networking, object-oriented programming, laser printers, personal computers, bitmapped screens (so you could do text and graphics at the same time, just like in a book), square pixels, GUIs, a mouse to control them, and, of course…
…copy-and-paste.
Steve Jobs visited PARC in the 1970s, and by 1983, Apple had come out with a personal computer called Macintosh that had a bitmapped screen, square pixels, a GUI, a mouse to control it and, of course… copy-and-paste. By 1985, Apple had followed up with the Laserwriter, an astonishingly powerful personal printer with more memory and a more powerful processor than the Macintosh itself.
In fact, Larry Tesler’s ideas about user interface design went much deeper than just copy-and-paste.
He lived by the computer science motto No Modes.
His car tag and his personal website both featured the text NOMODES – which, in computing terms, means that things such as mouse clicks and keypresses should work consistently, rather than changing what they mean and do as you navigate through a program.
You wouldn’t tolerate a keyboard where A
came out as B
, B
as C
, and so on, but only when you were in the menu to pick a new font – it wouldn’t just be annoying, it would be confusing and error-prone.
You wouldn’t be safe driving a car where the brake and clutch pedals swapped over when you entered a private car park, only to swap over again when you exited back onto a public road.
Why modes?
So why, Tesler wanted to know, do we have so much computer software where keystrokes and mouse clicks change their meaning depending on where you are in the program?
The classic example of a “modal program” is the famous vi
editor, where characters sometimes stand for themselves, and sometimes stand for controls to choose an operating mode.
For instance, if you are in the middle of a file, editing it with vi
, and you want to add the word riddle
into the document, you might think you’d just click where you wanted the text and then type r
– i
– d
– d
– l
– e
.
Riddle-me, riddle-me, riddle-me-ree, but that’s not how it works.
Ther
enters replace mode, which says to overwrite the current character with the next one you type, namely i
.
Then the first d
in riddle
enters delete mode, and the d
after that is a delete-mode operator that says to delete the entire line, ironically including the i
character you just entered into the text in the wrong place.
Now you are automatically back in command mode, where l
says to move the cursor right (don’t shoot us, we’re just the messenger), and the final e
moves to the end of the current word.
Phew!
To enter riddle
into the document itself you have to type i
– r
– i
– d
– d
– l
– e
– Esc
, which first turns on insert mode, then inputs the actual characters you want, and finally escapes from insert mode back to command mode.
You can see why Larry Tesler was passionate about NOMODES
.
Even if there are still millions of vi
-loving techies and programmers who don’t yet agree with him.
Larry Tesler, RIP.
Latest Naked Security podcast
Featured picture of Larry Tesler smiling cropped from CC-BY-2.0 image via Flickr.