di  -  venerdì 1 ottobre 2010

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).

21 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    L
     scrive: 

    “ricpesschiare”? è meglio rileggersi il post prima di pubblicarlo (soprattutto se è un articolo su un blog). e poi si dice “paste”, non past

  • # 2
    ReaToMe
     scrive: 

    Miiiiiiiiiii che pignolo.
    Ottimo articolo. Adoro l’informatica “storica”.

  • # 3
    Arunax
     scrive: 

    Interessantissimo argomento, non sapevo delle origine del Taglia-Copia-Incolla, tanto amato e tanto vituperato (dai prof che assegnano ricerche scolastiche hehehe).

    Solo un appunto linguistico per l’autore: gli strumenti “customizzati” proprio non si può leggere… perché non usare una bella parola italiana tipo “personalizzati”? ;)

  • # 4
    Rivetto
     scrive: 

    quindi dal 1980, non è cambiato nulla o quasi dal punto di vista dell’accessibilità ai comandi.. in 30 anni si continuano ad usare le combinazioni di tasti ctrl+c, ctrl+x, ctrl+v, ecc ecc.

    La mia è una vecchia polemica dovuta al fatto che il taglia/copia/incolla sono talmente usati dagli utenti, anche centinaia di volte al giorno per uno come me, che nelle tastiere odierne cresciute a dismisura con tanti inutili tasti mai usati, ancora non si prevedono dei tasti dedicati apposta per tali funzioni.. ci dessero almeno la possibilità di programmare le funzionalità di alcuni.. niente. nessuna personalizzazione è ammessa. E cosi contininuamo tutti quanti ad usare le mani come dei ragni per cercare con il mignolo il fatidico CTRL…

  • # 5
    G
     scrive: 

    @ L

    dopo il punto inizi con una minuscola? Oo

  • # 6
    Felice Pescatore (Autore del post)
     scrive: 

    @L.. sorry. Correzioni effettuate

  • # 7
    TheFoggy
     scrive: 

    @Rivetto: il fatto è che in 30anni sono state così assimilate dagli utenti che cambiarle sarebbe rischioso. Le tastiere personalizzabili, comunque, ci sono. Sono poche e costose, ma ci sono..se proprio uno sente la necessità, ne può valere la spesa (oppure usare qualcosa come sharpkeys! Ma mancherebbero i tasti comunque..). Non ho mai avuto particolari difficoltà nel trovare il ctrl (ce ne sono ben due! ;)), nonostante le mani non “alla Morandi”, ecco.. Senza contare che chi usa il pc solo per navigare o scrivere la lista della spesa e poco più..tende ad usare click destro->taglia e click destro->incolla ogni volta..

    Detto questo..bell’articolo! mi mancavano le origini del C&P! :)

  • # 8
    Luke76
     scrive: 

    Se alla xerox avessero conosciuto il concetto di brevetto il mondo informatico avrebbe un altro aspetto e probabilmente saremmo indietro di 20 anni Apple Microsoft etc.. si dovrebbero ricordare ogni tanto come hanno iniziato e grazie a chi altrimenti oggi non esisterebbero

  • # 9
    Andrea Del Bene
     scrive: 

    Credo che Xerox si meriti il premio Turing alla carriera….

  • # 10
    Gualmiro
     scrive: 

    Piccolo errore: Samlltalk invece di Smalltalk.
    Ad ogni modo, che cos’è esattamente la UI di Smalltalk? Intendi l’IDE?

    Bell’articolo comunque. Certo che io ancora oggi non riesco proprio ad abituarmi alla posizione del tasto CTRL. Vuoi mettere la facilità a fare tutto con una sola mano avendo il tasto CMD/Mela/CTRL accanto alla barra spaziatrce? :P Sarà un vezzo ma le abitudini sono abitudini.

  • # 11
    Este
     scrive: 

    Interessante articolo.

    Arrivato a leggere il paragrafo in cui si parla della funzione introdotta da Pentti Kanerva, ho deciso di cercare Oops in google: risultati di ricerca inaspettati…

  • # 12
    phabio76
     scrive: 

    Ciao, complimenti per l’ottimo articolo.
    Ero particolarmente interessato alla fonte originale da cui sono tratte le parole di Tesler e Mott.
    Con “The Humane Interface” di Jef Raskin, sono sulla buona strada?
    Online non ho trovato indizi…

  • # 13
    Felice Pescatore (Autore del post)
     scrive: 

    @Gualmiro…
    con UI intendo la User Interface, l’interfaccia utente. Non è detto che un IDE debba per forza avere una GUI, basti pensare ad alcuni tool di sviluppo Unix/Linux.

  • # 14
    Felice Pescatore (Autore del post)
     scrive: 

    @phabio76.
    Vedi “Designing Interaction” di Bill Moggridge

  • # 15
    Notturnia
     scrive: 

    bello
    io credo che la prima volta che l’ho usato fu con il Ventura della Xerox.. manco ricordo quanto tempo fa :-D

    bel programma di editoria.. ah.. quanti anni.. saran 30..

  • # 16
    The Solutor
     scrive: 

    Già che siamo di correzione errori, i desideri, di solito si esaudiscono, non si esauriscono..

  • # 17
    Zeirus
     scrive: 

    Bellissimo ed interessante quest’articolo! :) … Queste perle di storia dell’informatica mi garbano parecchio. Consiglio all’autore di fare altri articoli simili, perché un po’ tutti ci domandiamo spesso come e quando hanno avuto origine le basi dell’informatica… :)

  • # 18
    [D]
     scrive: 

    Qual’è il funzionamento di base dell’algoritmo in questione ?
    Quando scriviamo un testo grafico ci troviamo di fronte ad una matrice di caratteri, su questa agiamo magari anche attraverso tag e poi c’è un “layer di stampa” che ci fa apparire il tutto in maniera grafica, o si agisce direttamente sul testo grafico come se fosse un edit su un foglio reale destinato a diventare un collage ?

  • # 19
    Soul
     scrive: 

    Pensavo che le combinazioni di tasti CTRL+INS (copia), SHIFT+CANC (taglia), SHIFT+INS (incolla) fossero quelle originali.
    Nei vecchi programmi che usavo (es. Borland C 2.0) non credo esistessero CTRL+Z/C/V e simili.

  • # 20
    Samuel
     scrive: 

    @Rivetto

    Sulla Extendend Keyboard del Mac (la migliore tastiera mai realizzata da Apple come feedback, che se non sbaglio compie 20 anni!) potevi usare F1, F2, F3 se non ricordo male.

    Ciao!

  • # 21
    banryu
     scrive: 

    Fantastico articolo, interessantissimo!
    Mi piacerebbe davvero molto leggere altri articoli relativi alle origini e alla storia delle tecnologie per le interfacce grafiche.
    Complimenti all’autore.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.