RIP: “剪切/復(fù)制-粘貼”功能發(fā)明人拉里·特斯勒(Larry Tesler)于2020年2月17日去世,終年74歲。

我做了50多年的計(jì)算機(jī)程序員。從一開始,我就被那些不好用的軟件所困擾。我在斯坦福大學(xué)讀書的時(shí)候,在施樂(lè)帕洛阿爾托研究中心、蘋果公司、亞馬遜公司和雅虎公司擔(dān)任各種工程、用戶體驗(yàn)和管理職務(wù)的時(shí)候,我就開始著手解決這個(gè)問(wèn)題。
我最著名的貢獻(xiàn)是剪切/復(fù)制-粘貼。我和一些同事合作了幾年,開發(fā)了這個(gè)模式。但是剪切/復(fù)制-粘貼不是一個(gè)獨(dú)立的項(xiàng)目;它是圖形用戶界面(GUI)模式的集合之一,我稱之為非模態(tài)文本編輯(modeless text editing)。
我不是第一個(gè)注意到模式(modes)對(duì)錯(cuò)誤率的不良影響的人。我也不是第一個(gè)試圖消除最繁瑣模式的人。但對(duì)我來(lái)說(shuō),模式簡(jiǎn)化(mode reduction)成了一項(xiàng)研究工作和商業(yè)使命。我?guī)椭_發(fā)了非模態(tài)編輯的理論基礎(chǔ)和第一個(gè)確認(rèn)理論有效性的產(chǎn)品。
二十世紀(jì)六十年代
1960年,當(dāng)我還是布朗克斯科學(xué)高中(Bronx High School of Science)的學(xué)生時(shí),我學(xué)了一門類似FORTRAN的語(yǔ)言。我喜歡它的功能,但它不直觀的限制讓我沮喪。
1961年,我作為一名新生進(jìn)入斯坦福大學(xué)。1962年,我對(duì)一種開創(chuàng)性的動(dòng)畫語(yǔ)言進(jìn)行了可用性改進(jìn)。那個(gè)項(xiàng)目給了我簡(jiǎn)化可用性研究(discount usability studies)和參與式設(shè)計(jì)的經(jīng)驗(yàn)。
很快,我就成為了一個(gè)很好的程序員,使軟件易于使用。教授和研究生都請(qǐng)我咨詢。1963年,我創(chuàng)建了一家軟件公司,它是帕洛阿爾托黃頁(yè)上僅有的六家公司之一。
在20世紀(jì)60年代,交互式分時(shí)系統(tǒng)開始取代批處理系統(tǒng),并且開始在微型計(jì)算機(jī)上使用定點(diǎn)設(shè)備(pointing devices)。我更喜歡交互式,但是大多數(shù)交互程序都有模式,這總是讓我出錯(cuò)。我開始分析命令語(yǔ)言,找出模式和模式錯(cuò)誤的原因。
1968年,我開始在斯坦福人工智能實(shí)驗(yàn)室(SAIL)為精神病學(xué)家和認(rèn)知科學(xué)家肯·科爾比(Ken Colby)工作。科爾比開發(fā)了一個(gè)名為PARRY的對(duì)話程序,它可以模擬一個(gè)偏執(zhí)型的病人。在為他工作期間,我認(rèn)識(shí)了艾倫·凱(Alan Kay)、唐·諾曼(Don Norman)、特里·維諾格拉德(Terry Winograd)和大衛(wèi)·坎菲爾德·史密斯(David Canfield Smith)——他們后來(lái)都成了人機(jī)交互的先驅(qū)——并且我學(xué)到了一點(diǎn)認(rèn)知心理學(xué)的知識(shí)。
1969年初,我參觀了位于加利福尼亞州門洛帕克的斯坦福研究所的道格·恩格爾巴特(Doug Engelbart)的增強(qiáng)研究中心(Augmentation Research Center)。恩格爾巴特最近首次公開展示了NLS(oN Line System)在線系統(tǒng),這是一個(gè)建立在分時(shí)系統(tǒng)基礎(chǔ)上的有遠(yuǎn)見(jiàn)的原型。這一開創(chuàng)性事件被稱為“所有演示之母”(the mother of all demos)。這些創(chuàng)新包括鼠標(biāo)、平鋪窗口、多視圖、提綱(outlining)、超文本、協(xié)作編輯和視頻會(huì)議。
從1968年到1970年,我有時(shí)會(huì)為當(dāng)?shù)氐囊患曳菭I(yíng)利組織制作一份季度目錄。在用刀片和膠水“剪切和粘貼”的時(shí)候,我設(shè)想了一個(gè)交互式的頁(yè)面合成系統(tǒng),可以簡(jiǎn)化這個(gè)過(guò)程。
在同一時(shí)期,彭蒂·卡內(nèi)瓦(Pentti Kanerva)向我展示了布萊恩·托利弗(Brian Tolliver)的全屏文本編輯器TVEDIT的PDP-10端口。卡內(nèi)瓦添加了一個(gè)簡(jiǎn)單的錯(cuò)誤恢復(fù)命令oops。他還增加了兩步移動(dòng):刪除步驟將用戶指定的文本移動(dòng)到堆棧頂部;檢索步驟將堆棧的頂部元素移動(dòng)到用戶指定的位置。在兩個(gè)步驟之間,用戶可以做任何保持堆棧完整性的事情,包括歸檔、搜索、輸入和移動(dòng)其他文本。雖然TVEDIT有模式,但在我看來(lái),兩步移動(dòng)和類似于錯(cuò)誤恢復(fù)的命令有助于使設(shè)計(jì)合理的編輯器無(wú)模式化。
二十世紀(jì)七十年代
1971年,人工智能實(shí)驗(yàn)室的主任萊斯·歐內(nèi)斯特(Les Earnest)讓我設(shè)計(jì)并實(shí)現(xiàn)一種頁(yè)面構(gòu)成語(yǔ)言(page-makeup language),這種語(yǔ)言可以對(duì)章節(jié)進(jìn)行編號(hào),并生成索引、目錄、腳注、交叉引用等。我提議讓它具有交互性,但他想要一個(gè)批處理系統(tǒng),我承認(rèn)這更容易些。
在幾個(gè)月的緊張工作中,我創(chuàng)建了PUB:文檔編譯器(The Document Compiler)。PUB是一種帶有嵌入式標(biāo)簽和腳本的標(biāo)記語(yǔ)言。它在阿帕網(wǎng)(ARPANET)連接的大學(xué)的研究生中變得流行起來(lái)。
973年,我加入了施樂(lè)帕洛阿爾托研究中心(PARC),成為帕洛阿爾托研究中心在線辦公系統(tǒng)(POLOS,PARC Online Office System)團(tuán)隊(duì)的一員,但我花了一些時(shí)間和艾倫·凱(Alan Kay)的學(xué)習(xí)研究小組(Learning Research Group)一起研究Smalltalk。我對(duì)與凱合作感興趣的一個(gè)原因是,他發(fā)明重疊窗口(overlapping windows)的動(dòng)機(jī)是希望找到模式的替代方案。
POLOS團(tuán)隊(duì)的大多數(shù)成員都是從SRI的恩格爾巴特(Engelbart)小組來(lái)到施樂(lè)的。我的經(jīng)理比爾·英格利什(Bill English)參與了鼠標(biāo)的設(shè)計(jì),合著了恩格爾巴特1968年的論文,并管理了著名的NLS演示。
從一開始,NLS主要用于構(gòu)建和修改技術(shù)規(guī)范、源代碼等。它的老用戶發(fā)現(xiàn)它很適合這個(gè)功能。但我覺(jué)得,作為編輯常見(jiàn)文檔(如信件、備忘錄和表單)的工具,它不會(huì)得到公眾的認(rèn)可。它的命令語(yǔ)言有多種模式。在文本輸入模式之外,幾乎每一次按鍵和點(diǎn)擊都會(huì)改變模式。
NLS命令語(yǔ)言的語(yǔ)法隨著時(shí)間的推移而演變,但它始終是前綴,其中動(dòng)詞在其對(duì)象之前指定。要?jiǎng)h除一個(gè)段落,你告訴NLS刪除之前,你告訴它應(yīng)該刪除什么段落。
當(dāng)指針指向某物時(shí),點(diǎn)擊鼠標(biāo)按鈕被稱為標(biāo)記(marking)。需要標(biāo)記的三個(gè)常用NLS命令是:
D(elete) W(ord) <mark affected word> <ok>
M(ove) T(ext) <mark source text start> <mark source text end> <mark destination> <ok>
I(nsert) S(tatement) <mark destination> <type text to insert> <ok>
命令-接受操作(這里用<ok>表示)可以從鍵盤或鼠標(biāo)調(diào)用。Text是任意范圍的文本。Statement通常是一個(gè)段落。
當(dāng)用戶鍵入并單擊時(shí),命令行會(huì)在一個(gè)可見(jiàn)的窗口中累積。用戶可以從窗口中刪除最新的命令行,或者刪除整行,然后重新開始。當(dāng)用戶調(diào)用<ok>時(shí),NLS會(huì)刪除整行,防止進(jìn)一步修改。然后執(zhí)行命令。
因?yàn)镸ove是單個(gè)的命令,所以在輸入“M”之前,目標(biāo)和源都必須在屏幕上可見(jiàn)。同樣的限制也適用于復(fù)制和替換??烧郫B提綱(collapsible outlines)等功能提供了規(guī)避限制的方法,但用戶必須學(xué)習(xí)更多語(yǔ)法并提前計(jì)劃。
我相信,如果我們繼續(xù)使用NLS語(yǔ)法,競(jìng)爭(zhēng)對(duì)手將在學(xué)習(xí)速度和易用性方面超過(guò)施樂(lè)(Xerox)。我的大多數(shù)同事都不關(guān)心。他們認(rèn)為NLS很直觀,因?yàn)樗恼Z(yǔ)法類似英語(yǔ)的動(dòng)賓語(yǔ)法。這種語(yǔ)法有很大的發(fā)展空間。命令行使得從舊終端使用NLS成為可能。
在我工作的第一周,比爾·英格利森(Bill English)讓我和另一位新雇員杰夫·魯利森(Jeff Rulifson)一起工作,對(duì)編輯行業(yè)的未來(lái)發(fā)展進(jìn)行展望。我和魯利森見(jiàn)過(guò)幾次,進(jìn)行頭腦風(fēng)暴。當(dāng)我向他吐露我對(duì)NLS命令語(yǔ)言的擔(dān)憂時(shí),他透露說(shuō)這是他設(shè)計(jì)的。他原本打算把它作為軟件測(cè)試的臨時(shí)工具。恩格爾巴特的團(tuán)隊(duì)進(jìn)行了可用性研究,并不斷改進(jìn),但是他們沒(méi)有認(rèn)真考慮后綴語(yǔ)法,在后綴語(yǔ)法中,動(dòng)詞是在其賓語(yǔ)之后指定的。
我向魯利森(Jeff Rulifson)介紹了后綴語(yǔ)法的錯(cuò)誤恢復(fù)優(yōu)勢(shì),即:
如果用戶在指定對(duì)象時(shí)犯了選擇錯(cuò)誤,她可以再次選擇。不需要在命令行中進(jìn)行備份。不需要顯示命令行。
如果用戶選擇了錯(cuò)誤的動(dòng)詞,其后果將立即顯現(xiàn)。為了糾正錯(cuò)誤,她可以調(diào)用一個(gè)取消命令的操作。
我以前從未見(jiàn)過(guò)比TVEDIT的oops更通用的錯(cuò)誤恢復(fù)命令。魯利森告訴我,我們的PARC同事沃倫·泰特爾曼(Warren Teitelman)在他的LISP shell中應(yīng)用過(guò)。它被恰當(dāng)?shù)孛麨槌蜂N(undo)。
我和魯利森還討論了圖形在界面中的使用。他最近讀了一本關(guān)于符號(hào)學(xué)的書,書中將圖標(biāo)定義為已標(biāo)記的象形圖,并提到了它與交互式計(jì)算的潛在相關(guān)性。
我們?cè)赑ARC分發(fā)了幾個(gè)版本的白皮書。它的標(biāo)題是“OGDEN:非程序員的通用的顯示編輯器”(OGDEN: An Overly General Display Editor for Non programmers)。我們提出了帶有桌子(desks)和文件柜的標(biāo)志性用戶界面。我們還提出了剪切和粘貼的非模態(tài)后綴語(yǔ)法。
魯利森愿意徹底改變他為NLS設(shè)計(jì)的用戶界面,這使得POLOS團(tuán)隊(duì)的其他成員更容易考慮我的建議。在芭芭拉·格羅茨(Barbara Grosz)的幫助下,我進(jìn)行了用戶研究,包括空白屏幕研究,這些研究揭示了模式帶來(lái)的問(wèn)題。然后,使用Smalltalk語(yǔ)言的早期版本,我開發(fā)了一個(gè)簡(jiǎn)單的、類似打字機(jī)的編輯器,只有很少的模式。從未接觸過(guò)電腦的人可以在五分鐘內(nèi)學(xué)會(huì)簡(jiǎn)單的編輯器。
Gypsy
比爾·英格利森(Bill English)表?yè)P(yáng)了我的工作,但讓我把注意力轉(zhuǎn)向POLOS系統(tǒng)。我剛開始這么做,就有了意外的發(fā)現(xiàn)。施樂(lè)(Xerox)旗下的教科書出版商Ginn and Company要求PARC開發(fā)兩個(gè)應(yīng)用程序,一個(gè)用于排版編輯(galley editing),另一個(gè)用于頁(yè)面布局。英格利森(Bill English)知道我會(huì)感興趣,讓我負(fù)責(zé)這個(gè)項(xiàng)目。他指派丹·斯溫哈特(Dan Swinehart)給我提建議。我在斯坦福人工智能實(shí)驗(yàn)室(SAIL)共事過(guò)的丹·斯溫哈特(Dan Swinehart)是模式的強(qiáng)烈反對(duì)者。
我建議在頁(yè)面排版系統(tǒng)和排版編輯中使用剪切和粘貼,這讓Ginn管理層很高興?,F(xiàn)在我的實(shí)驗(yàn)有了一批愿意接受的聽眾。
另一個(gè)可喜的轉(zhuǎn)變是,Ginn雇傭了一位名叫蒂姆·莫特(Tim Mott)的軟件工程師,在他們位于波士頓附近的工廠進(jìn)行人種學(xué)研究(ethnographic study)。1974年,在完成了這項(xiàng)研究之后,莫特來(lái)到PARC幫我實(shí)現(xiàn)了他稱之為Gypsy的排版編輯器。當(dāng)他到達(dá)時(shí),幾臺(tái)施樂(lè)的Alto個(gè)人電腦已經(jīng)開始工作了。查爾斯·西蒙尼(Charles Simonyi)和湯姆·馬洛伊(Tom Malloy)已經(jīng)在Alto運(yùn)行了Bravo文本編輯器的早期版本。Bravo是一個(gè)開創(chuàng)性的所見(jiàn)即所得應(yīng)用程序,是巴特勒·蘭普森(Butler Lampson)和西蒙尼的創(chuàng)意。
為了實(shí)現(xiàn)Gypsy,我們采用了Bravo的源代碼,用非模態(tài)用戶界面代替了模態(tài)用戶界面。應(yīng)Ginn的要求,我們?cè)黾恿舜煮w、斜體和下劃線,以及支持版本和草稿的歸檔系統(tǒng)。這個(gè)軟件花了幾個(gè)月才完成。
Gypsy引入了幾個(gè)非模態(tài)的用戶界面特性,這些特性現(xiàn)在是標(biāo)準(zhǔn)的。用戶可以:
在字符之間單擊,看到閃爍的插入點(diǎn)出現(xiàn),然后開始鍵入;
向下拖動(dòng)以選擇文本;
雙擊一個(gè)單詞進(jìn)行選擇;
分兩步移動(dòng)文本,稱為剪切和粘貼;
分兩步復(fù)制文本,稱為復(fù)制和粘貼;以及
需要搜索,請(qǐng)?jiān)诳删庉嬜侄沃墟I入或粘貼搜索文本。
當(dāng)我們開始實(shí)現(xiàn)時(shí),我還沒(méi)有把界面的所有細(xì)節(jié)都弄清楚。我認(rèn)為我們應(yīng)該在開發(fā)過(guò)程中進(jìn)行迭代。我沒(méi)有想到的是莫特的創(chuàng)造力,以及他對(duì)在Ginn觀察到的目標(biāo)用戶的適應(yīng)程度。例如,當(dāng)我提出的選詞建議無(wú)一奏效時(shí),是他想出了雙擊的主意。經(jīng)驗(yàn)教訓(xùn):你并不知道所有的答案。組隊(duì)。
在Gypsy的開發(fā)過(guò)程中,PARC雇傭了湯姆·莫蘭(Tom Moran)、斯圖·卡德(Stu Card)和貝弗利·麥克休(Beverly McHugh)。他們觀察到我正在進(jìn)行一項(xiàng)可用性研究,并提出為我們進(jìn)行未來(lái)的研究。貝弗利的研究對(duì)于改進(jìn)Gypsy的用戶界面非常有價(jià)值。教訓(xùn):有些人能比你做得更好。組隊(duì)。
1975年初Gypsy完成后,莫特把它帶到了Ginn。用戶喜歡它的優(yōu)點(diǎn)。但是他們不喜歡它的缺點(diǎn),尤其是幾乎完全沒(méi)有代碼維護(hù),而這是我們研究人員忽略的一個(gè)工程需求。經(jīng)驗(yàn)教訓(xùn):如果你打算把你的研究原型給那些可能會(huì)逐漸依賴它的用戶,確保有人已經(jīng)計(jì)劃好了維護(hù)。
影響
1975年6月,《商業(yè)周刊》(Businessweek)發(fā)表了一篇名為《未來(lái)辦公室》(The Office of the Future)的特稿,其中提到了Gypsy。

帕洛阿爾托研究中心的其他同事以我們的工作為基礎(chǔ)。莫特和我使用專用的按鍵進(jìn)行剪切、復(fù)制、粘貼和撤銷。部分受威廉·紐曼(William Newman)在他的Markup繪畫程序中使用彈出圖標(biāo)網(wǎng)格的啟發(fā),丹·英戈?duì)査梗―an Ingalls)在Smalltalk中實(shí)現(xiàn)了一個(gè)非常簡(jiǎn)單的彈出菜單,包含一個(gè)列清單,列出了四個(gè)命令名。這個(gè)菜單演變成了今天常見(jiàn)的右鍵上下文菜單。教訓(xùn):當(dāng)你認(rèn)為它是最簡(jiǎn)單的時(shí)候,也許有一種方法可以讓它變得更簡(jiǎn)單。
Gypsy也影響了BravoX和Xerox Star。BravoX是查爾斯·西蒙尼(Charles Simonyi)在PARC開發(fā)的Bravo的繼承者。Star是第一個(gè)帶有鼠標(biāo)、位圖顯示、窗口和文件服務(wù)器的商業(yè)辦公系統(tǒng)。Star有一個(gè)完全一致且近乎無(wú)模態(tài)的用戶界面。
BravoX和Star都支持無(wú)模態(tài)“點(diǎn)擊并鍵入”插入,但都沒(méi)有使用兩步剪切/復(fù)制-粘貼。用戶可以用比Gypsy更少的操作進(jìn)行移動(dòng)或復(fù)制——在一個(gè)版本的BravoX中是兩個(gè)操作,在Star中是三個(gè)操作,而在Gypsy中是四個(gè)操作。但是實(shí)現(xiàn)更少操作的折衷是一種模態(tài),限制用戶在源和目標(biāo)選擇之間的操作。
在20世紀(jì)80年代早期,施樂(lè)的非模態(tài)編輯器影響了蘋果的麗薩(Lisa)和麥金塔(Macintosh)電腦,以及微軟的Word、Office和Windows。微軟和蘋果產(chǎn)品的流行使得剪切/復(fù)制-粘貼和無(wú)模態(tài)文本編輯無(wú)處不在,甚至可以應(yīng)用到帶有多點(diǎn)觸摸屏的智能手機(jī)上。
現(xiàn)代的文字處理程序中仍然有一些模式,比如微軟Word中的格式刷。設(shè)計(jì)者仍然在嘗試其他移動(dòng)文本的方法,比如Word中拖放。但這些都是不感興趣的用戶通??梢院雎缘目旖莘绞?。
Post-Gypsy
莫特從Ginn回到PARC后,他加入了一個(gè)不同的項(xiàng)目。對(duì)我來(lái)說(shuō),接下來(lái)是Ginn要求的頁(yè)面排版系統(tǒng)。我使用Smalltalk構(gòu)建了一個(gè)名為Cypress的原型。用戶進(jìn)行選擇后,編輯菜單會(huì)在附近自動(dòng)彈出,就像今天的iPhone一樣。在Smalltalk-76中實(shí)現(xiàn)的Cypress原型運(yùn)行速度非常慢,為了演示它,我們以每秒三幀的速度拍攝視頻,并以每秒30幀的速度回放。
那時(shí),施樂(lè)公司的工作重點(diǎn)變了,我的個(gè)人興趣也變了。Ginn同意再等幾年,直到他們能夠在維護(hù)良好的商業(yè)系統(tǒng)上進(jìn)行頁(yè)面布局。我開發(fā)了Smalltalk Browser,它是當(dāng)今IDE(集成開發(fā)環(huán)境)的前身。工作之余,我涉足了業(yè)余愛(ài)好者計(jì)算機(jī),并為Commodore PET開發(fā)了教育應(yīng)用程序。1979年12月,史蒂夫·喬布斯對(duì)帕洛阿爾托研究中心進(jìn)行了一次改變世界的訪問(wèn),我開始重新思考我的職業(yè)生涯。
1980年代
到1980年,施樂(lè)公司的復(fù)印機(jī)專利到期,公司正在為生存而戰(zhàn)。很明顯,除了針對(duì)商業(yè)用戶的激光打印機(jī)和STAR外,我們不會(huì)將太多PARC的工作推向市場(chǎng)。
我去蘋果公司研究麗莎(Lisa)電腦的用戶界面和應(yīng)用程序。為了開發(fā)麗莎用戶界面標(biāo)準(zhǔn),我和多才多藝的比爾·阿特金森(Bill Atkinson)合作,他和我一樣堅(jiān)持簡(jiǎn)單(simplicity)。那年夏天的幾個(gè)星期里,他幾乎每天晚上都會(huì)制作一個(gè)原型,第二天早上我會(huì)進(jìn)行可用性研究。杰夫·拉斯金(Jef Raskin)當(dāng)時(shí)正著手開發(fā)他稱之為麥金塔(Macintosh)的概念,他對(duì)鼠標(biāo)持懷疑態(tài)度,但慷慨地提供了建議和支持。
麗莎(Lisa)軟件工程師將非模態(tài)編輯原則內(nèi)在化,并找到了使其應(yīng)用程序非模態(tài)化的巧妙方法。我的工作是管理,并就界面設(shè)計(jì)做出基于證據(jù)的決策。
麗莎(Lisa)對(duì)圖形用戶界面的眾多貢獻(xiàn)之一是對(duì)話框,它是為非模態(tài)命令提供參數(shù)的工具。羅德·珀金斯(Rod Perkins)設(shè)計(jì)了麗莎(Lisa)對(duì)話框。典型的對(duì)話框在打開時(shí)阻止用戶繼續(xù)工作。這使得它具有模態(tài)性。但是對(duì)話框中的小部件可以以任何順序操作,使其在本地?zé)o模態(tài)化。
在蘋果,就像在帕洛阿爾托研究中心一樣,新的用戶界面也遭到了質(zhì)疑,其中一些人更喜歡NLS風(fēng)格的界面。但蘋果想要的是產(chǎn)品?!白诮虘?zhàn)爭(zhēng)”確實(shí)爆發(fā)了,但持續(xù)不了幾天。經(jīng)驗(yàn)教訓(xùn):如果你需要打一場(chǎng)硬仗,選擇一座小山丘。
今天
在20世紀(jì)70年代,移動(dòng)(move)和復(fù)制是用戶想要執(zhí)行的編輯,剪切/復(fù)制-粘貼是用戶執(zhí)行它們的一種新方式?,F(xiàn)在這些術(shù)語(yǔ)的作用顛倒過(guò)來(lái)了。用戶不會(huì)說(shuō)他們想“移動(dòng)”(move)東西;他們說(shuō)他們想要“剪切和粘貼”它們。甚至關(guān)于Star、NLS和其他具有模態(tài)移動(dòng)的系統(tǒng)的學(xué)術(shù)著作,也常常將它們的移動(dòng)/復(fù)制操作稱為剪切/復(fù)制-粘貼。
在計(jì)算機(jī)時(shí)代之前,剪切和粘貼這個(gè)術(shù)語(yǔ)是出版業(yè)的行話。“復(fù)制和粘貼”這個(gè)術(shù)語(yǔ)似乎起源于Gypsy。這兩個(gè)術(shù)語(yǔ)今天都被廣泛理解。我不知道誰(shuí)創(chuàng)造了復(fù)制粘貼工作(copy-paste job)或復(fù)制粘貼錯(cuò)誤(copy-paste error)。但是當(dāng)我犯了復(fù)制粘貼錯(cuò)誤,不像大多數(shù)人,我沒(méi)有其他人可以責(zé)怪。
編譯自:A Personal History of Modeless Text Editing and Cut/Copy-Paste
相關(guān)閱讀:
施樂(lè)帕洛阿爾托研究中心(PARC):“信息架構(gòu)師”