5 ms·
He gave us so much more than cut, copy, paste. It's clear from all the design history books that I've read that he's a legend.[1] NO MODES! https://itsthedata
by dmazin 7y ago
He gave us so much more than cut, copy, paste. It's clear from all the design history books that I've read that he's a legend.[1]
NO MODES!
https://itsthedatastupid.files.wordpress.com/2010/05/nomodes.jpg https://itsthedatastupid.files.wordpress.com/2010/05/nomodes...
[1] One of the more rare sources for Larry Tesler's contributions is his interview for Bill Moggridge's Designing Interactions (http://www.designinginteractions.com/interviews/LarryTesler http://www.designinginteractions.com/interviews/LarryTesler)
- jolmg 7y agoThe Wikipedia article for Cut, Copy, and Paste[1] seems to have this bit that's cited to that book: > Inspired by early line and character editors that broke a move or copy operation into two steps—between which the user could invoke a preparatory action such as navigation—Lawrence G. Tesler (Larry Tesler) proposed the names "cut" and "copy" for the first step and "paste" for the second step. Beginning in 1974, he and colleagues at Xerox Corporation Palo Alto Research Center (PARC) implemented several text editors that used cut/copy-and-paste commands to move/copy text. I imagine those "early line and character editors" refers to vi's delete, yank, and put, and emacs's kill, copy/"save as if killed", and yank. I wonder what other editors had back then, before the names he came up with became standardized. I also wonder how the idea of the operations developed before Larry Tesler contributed to it. Looking at POSIX[2], it seems ex has delete, yank, and put, but I can't see similar functionality in standard ed (GNU's ed does have yank, but I guess it's an extension). [1] https://en.wikipedia.org/wiki/Cut,_copy,_and_paste#Popularization https://en.wikipedia.org/wiki/Cut,_copy,_and_paste#Populariz... [2] https://pubs.opengroup.org/onlinepubs/9699919799/ https://pubs.opengroup.org/onlinepubs/9699919799/
- jcynix 7y agoThere's more than emacs or vi in "editor history" e.g. https://en.wikipedia.org/wiki/Bravo_%28software%29 https://en.wikipedia.org/wiki/Bravo_%28software%29 and follow-ups at Xerox PARC.
- fsckboy 7y agoTECO from the 1960's had more than cut and paste, multiple storage slots called "q registers" (they were named with letters) into which you could put text from the main buffer, and from which you could retrieve it back. Text regions in the buffer were referred to by numeric ranges, some number of characters forward or back relative to the current cursor position, with additional notions such as "here to beginning/end of line" or "n lines back/forward from cursor" TECO commands were typed in as code, essentially, and that code could also be saved and run as macros. it was extremely powerful, such that emacs was originally written as TECO Edit MACros.
- wnoise 7y agoAh! That's why vi's letter-named registers are written to with the q command.
- jolmg 7y agoI wonder if they're supposed to be "q(uick) registers". EDIT: Maybe not: https://retrocomputing.stackexchange.com/questions/12081/why-were-teco-variables-called-q-registers https://retrocomputing.stackexchange.com/questions/12081/why...
- bch 7y agoI was confused by the ‘q’ command in vi, so I did quick testing (in nvi(1)) and scanned vim cheat sheets. I still don’t know what ‘q’ does in the named buffer context - help?
- okal 7y agoRecording macros, I think.
- bch 7y agoLooks like you’re correct![0] In nvi, I just key my commands on a scratch line (testing occasionally), then: “xyy to load the whole line (yy) into buffer ‘x’ (“x). Execution (@x) thereafter looks ~same. [0] https://vim.fandom.com/wiki/Macros https://vim.fandom.com/wiki/Macros
- deleted 7y ago[deleted]
- tyfon 7y agoDouglas Engelbart demonstrated copy/paste with a mouse in 1968 [1], however I'm not sure what he called the process. It was also very much an experimental system and not something for sale. [1] https://www.youtube.com/watch?v=yJDv-zdhzMY https://www.youtube.com/watch?v=yJDv-zdhzMY
- kragen 7y ago> I imagine those "early line and character editors" refers to vi's delete, yank, and put, and emacs's kill, copy/"save as if killed", and yank. No, 1974 predates both vi and Emacs
- jolmg 7y agoYou're right, I missed that. Vi's predecessor ex, which also had these operations, is from '76, so it also couldn't be it. However, Emacs's TECO, which also had yank, is from '62/'63, so that might've been one.
- jjtheblunt 7y agohttps://en.wikipedia.org/wiki/Ed_(text_editor) https://en.wikipedia.org/wiki/Ed_(text_editor)
- jolmg 7y agoEd doesn't seem to have those operations. GNU ed's documentation includes yank, but it's not described in POSIX.
- raphman 7y agoFWIW, Larry also contributed some of his historical knowledge to the Talk page [1] of the Wikipedia article and also edited the article himself. [1] https://en.wikipedia.org/wiki/Talk:Cut,_copy,_and_paste https://en.wikipedia.org/wiki/Talk:Cut,_copy,_and_paste
- jolmg 7y agoNice catch! And it was on a discussion on the question of "Does anyone know where this idea came from?" Here's a nice bit: > I chose Z/X/C/V when I was in charge of the user interface design of Apple's Lisa. In addition to their adjacency on the keyboard, I wanted them to have mnemonic value: "X" a cross-out; "V" an inverted caret or proofreader's arrowhead; "C" the first letter of "copy"; the strokes of "Z" tracing a reversal followed by a new path forward. -- Larry Tesler > Correction: Apparently, my memory was incorrect. The Lisa user interface seems to have used "U" for Undo. On the Mac (as in Gypsy), "U" was and is for Underline. I do not know who chose "Z" for Mac Undo, or why. I suspect that its proximity to the Command key was the reason. -- Larry Tesler There's more, but it's too much to insert here. I'm just hoping this isn't someone posing as Larry Tesler.
- modeless 7y agoThe inspiration for my username.
- nattaylor 7y agoIf you want to watch the interview and have trouble with flash, you can download http://www.designinginteractions.com/fla/LarryTesler.flv http://www.designinginteractions.com/fla/LarryTesler.flv and then ffplay it.
- djrobstep 7y agoIs there somewhere he elaborates on his No Modes philosophy? Is it a blanket rule for him for all interfaces, or just text editors?
- mikelevins 7y agoI don't know if he wrote anything formal, but I remember from talking with him, from his critiques of particular interfaces, and from projects that he was interested in, that he favored UI that made operations as concrete and manifest as possible, that made it as easy as possible to discover operations by experimenting, that made mistakes as low-cost and painless to recover from as possible, and that featured direct manipulation.
- jecel 7y agoSee his article "The Smalltalk Environment" in the August 1981 issue of Byte magazine: https://archive.org/details/byte-magazine-1981-08/mode/2up https://archive.org/details/byte-magazine-1981-08/mode/2up The basic idea is that modes make the same action (pressing the "D" key, for example) do different things. They make things easier for programmers who want many operations on machines that only have a few possible actions, but they make things hard for the user who have to pay attention to the current mode and know how to navigate from that to the mode where the desired operation is possible.
- xkriva11 7y agoIt is easy to overlook the biggest source of modes: applications!
- TuringTest 7y agoHere is a fascinating talk where he describes the approach for designing Apple's Lisa: https://web.archive.org/web/20040511051426/https://computerhistory.org/events/lectures/appleint_10281997/appleint_xscript.shtml https://web.archive.org/web/20040511051426/https://computerh... Fascinating because that exploratory process is essentially what we recognize as "graphical user interface" as of today, and the whole industry has committed itself to that particular design, to the point that exploring how to build interfaces from any other set of principles feels like a titanic task.
- MichaelMoser123 7y agoRIP Larry Tesler i have a .vimrc file that set C-C/C-X/C-V to work in each mode; that gets me the best of both worlds: fast text navigation in normal mode as i can switch to the next/previous word with w/b; but I can still copy and paste (limits us to one buffer, though; nothing is perfect) https://github.com/MoserMichael/myenv/blob/master/VIMENV.md https://github.com/MoserMichael/myenv/blob/master/VIMENV.md