Il “Copia e Incolla” è ormai un paradigma fondamentale nell’utilizzo dei moderni software. Tagliare, Copiare ed Incollare informazioni all’interno dello stesso applicativo, ma anche tra applicativi diversi, ci aiuta enormemente nel lavoro quotidiano.
Ma quando è nata l’idea del Cut&Paste? E, soprattutto, chi c’è dietro una delle più comuni azioni degli utenti?
Vediamo di rispondere a queste domande facendo un salto indietro di 35 anni per incontrare Larry Tesler e Tim Mott, co-inventori di tale paradigma.
Tesler e Mott
Il nostro viaggio ha inizio nei primi anni ’70 quando Xerox (e chi altri se no?) acquisisce GINN and Company, società operante nel settore editoriale con sede a Lexington nel Massachusetts. Uno dei tecnici di Xerorx, Larry Tesler, viene incaricato di realizzare un sistema di desktop publishing basato su ALTO per ottimizzare i processi editoriali. Di conseguenza si sposta a Lexington per lavoare a stretto contatto con la GINN in modo da analizzarne le necessità.
Tesler inizia il proprio lavoro e, ravvisata la necessità di assumere tecnici per il nuovo progetto, scova Tim Mott all’Oberlin College. I neo-collaboratore viene incaricato di studiare sul campo i processi degli editori, in modo da tentare di formalizzare le attività.
Mott si accorge che gli strumenti utilizzati dalla GINN sono così fortemente customizzati e specifici che nessun altro sarebbe in grado di utilizzarli. Inoltre anche per gli editori risultava difficile immaginare cosa potesse essere utile per aumentare la propria efficienza.
L’attività di analisi non era affatto banale, pensare che gli strumenti usati alla GINN erano macchine da scrivere, matite e gomme.
Mott si inventa allora la tecnica “guided fantasy”. In pratica chiede agli editori di spiegargli i processi alla base della loro pubblicazione e lui, con l’ausilio di un monitor, una tastiera ed un prototipo di mouse, immagina le azioni da compiere. Il termine “fantasy” deriva dal fatto che il monitor era spento, non esistendo nessun software da poter utilizzare, e Mott mimava ipotetiche azioni, basandosi sulla propria esperienza e sulle indicazioni del personale di GINN.
In sostanza gli editori espresso un semplice desiderio: “vorremo utilizzare il mouse per selezionare le aree dove inserire il testo”.
Semplice a dirsi, ma come realizzarlo?
Xerox aveva già realizzato un primo prototipo di bitmap display per ALTO, ma non aveva ancora sviluppato un software che potesse utilizzarlo con successo., visto che i pochi editor di testo esistenti erano pensati per schermi basati su matrici di caratteri e, per inserire del testo, ci si posizionava con la tastiera su una specifica parola.
Tim e Larry adottarono una strategia particolarmente intelligente: presero BRAVO, una sorta di wordprocessor testuale della stessa Xerox e vi applicarono una nuova User Interface grafica che venne chiamata “Gypsy”, basata sulle librerie grafiche di ALTO. Idea semplice ma complessa da realizzare, tant’è che i due lavorarono incessantemente per diversi mesi.
Gypsy Screenshot
Il desiderio degli editori fu esaudito attraverso la funzionalità “drag-through”, che permetteva loro di utilizzare il mouse per selezionare le arre di inserimento (con un click) e di selezionare il testo (muovendolo). Ma i due tecnici si spinsero oltre. Avendo a disposizione un mouse con tre pulsanti ipotizzarno di utilizzare il primo tasto per la selezione libera, il secondo per selezionare automaticamente una parola ed il terzo per una frase. Tesler non era convinto della soluzione optando per l’utilizzo di un solo pulsante, cosa che dopo un po’ di riflessione portò Mott ad esclamare:
I’ve got it; double-click! You click twice in rapid succession in the same place to get a word, and three times to get a sentence.”
ovvero utilizzare il doppio click per selezionare la parla ed il triplo per la frase. Il triplo fu immediatamente scartato.
Durante lo sviluppo di Gypsy, Larry si ricordò dell’Oops (alias UNDO), introdotto da Pentti Kanerva al porting dell’editor TVEDIT sul PDP-10 presso la Stanford University. TVEDIT era stato originariamente sviluppato da Brian Tolliver per il PDP-1, sempre presso la Stanford. L’idea era geniale: prima si selezionava il testo (con la tastiera), poi si premeva escape-d [invio] per cancellare il testo, inserendolo in un buffer temporaneo. Se ci si accorgeva di aver commesso un errore si poteva annullare l’operazione con escape-o [invio] (dove la “o” stava per opps) ed il testo veniva reinserito nella posizione originale. Ma la “magia” era nella “L” che una volta premuta inseriva il testo cancellato nella posizione corrente del cursore.
Questa modalità di gestione fu inserita in Gypsy ma la terminologia utilizzata fu cambiata per rispecchiare le attività di publishing di Ginn. Infatti i termini “cut” e “paste” derivano dall’azione degli editori di riarrangiare manualmente manoscritti sul foglio utilizzato per l’impaginazione e per la simulazione della bozza di stampa.
Oltre al cut-and-paste fu implementata la possibilità di effettuare il copy-and-paste che non cancellava il testo selezionato ma, semplicemente, lo copiava nel buffer.
Gypsy introdusse anche la prima dialog box, sotto forma di una piccola barra per la ricerca, e gli elementi minimali di formattazione al testo (grassetto, italico, ecc.)
Nella primavera del 1975 il sistema era pronto per essere testato sul campo e Tim torna a Lexington chiedendo al senior editor di utilizzarlo per il proprio lavoro. Dopo un intero giorno di lavoro Mott ricevette la seguente affermazione:
“You know, I think the quality of my work will be better going forward, because it’s just so much easier to edit with this than it is with a typewriter and a pencil!”, ovvero: “I risultati del mio lavoro da qui in avanti saranno migliori, perchè è più semplice ediatare con questa [tecnologia] che con una macchina da scrivere ed una matita!”
Le funzionalità e le peculiarità di Gypsy furono successivamente adottate nel Browser (la UI) di Smalltalk, visto l’ingresso di Tesler nel team di sviluppo guidato da Alan Kay.
Quando nel 1980 Tesler migrò alla Apple per il progetto LISA, decise di assegnare le funzionalità di taglia/copia e incolla a combinazioni di tasti conformi con la UI del nuovo sistema. Scelse allora i tasti Z/X/C/V (in combinazione con il tasto mela/command/ctrl) sia per la posizione contigua sulla tastiera QUERTY, sia per assegnare loro un valore mnemonico: X a ricordare la classica croce che si utilizza per “annullare” del testo su un foglio, V un cursore che punta in basso nella posizione di inserimento, C la prima lettera di “copy” e Z per ricordare il “tracciato” di un percorso all’indietro (undo).