LANGUAGES
Interactive online museum of man-machine languages Fosca Salvi
1
Sessione di laurea Aprile 2012 Relatori Philip Tabor e Gillian Crampton Smith
LANGUAGES
Tesi di laurea UniversitĂ Iuav di Venezia FacoltĂ di Design e Arti Corso di Laurea Magistrale in Design (Comunicazioni Visive e Multimediali)
Interactive online museum of man-machine languages Fosca Salvi | matr. 269585 | a.a. 2010/2011
4
Tesi di laurea Corso di laurea specialistica o magistrale in
Titolo tesi di laurea
Languages: Interactive online museum of man-machine languages
Cognome e nome
Salvi Fosca
Matricola n.
269585
Anno accademico
2010/2011
Relatore
Philip Tabor
Firma
Correlatore
Gillian Crampton Smith
Firma
Sessione di laurea
III sessione, aprile 2012
Abstract (it) Languages è una piattaforma online che racconta la storia del computing dagli anni quaranta a oggi. Si tratta di una web app, cioè un sito internet con le caratteristiche dell'applicazione, rivolta a persone relativamente giovani, che cioè non hanno assistito alla storia del informatica in prima persona, o che semplicemente non vi si sono mai interessati. Languages si rivolge ai sui utenti con un discorso semplice, basato sulle routine di utilizzo delle varie macchine e dispositivi di cui tratta, cioè la storia non viene spiegata attraverso le caratteristiche tecniche dei suddetti macchinari, che apparirebbero troppo complesse e incomprensibili a chi non è abituato a "masticare" tecnologia, ma bensì attraverso esempi di come questi computer venivano utilizzati. Il mio obiettivo è quello di mescolare una consultazione tradizionale delle informazioni fornite, cioè puramente enciclopedica e teorica, ad una più pratica. Per raggiungere questo obiettivo ho basato la costruzione del website su due elementi principali: la timeline e gli emulatori. La timeline è la prima cosa che il visitatore incontra accedendo al sito internet e, come si può immaginare, è una linea del tempo che nella sua lunghezza raccoglie avvenimenti legati al mondo del computing tra gli anni quaranta e il duemila. I vari elementi vengono suddivisi in categorie più specifiche, come per esempio "input" e "output", poi analizzati per la durata della loro presenza sulla scena dell'informatica. La timeline è interattiva,
6
Languages | abstract
può essere interrogata dall'utente, egli può scegliere quale livello informativo raggiungere, essendo l'informazione proposta in diverse modalità e diversi livelli. Gli emulatori corrispondono al secondo passo all'interno del sito internet, possono essere raggiunti attraverso la linea del tempo. Non si tratta di emulatori nel senso tradizionale del termine, a cui normalmente ci si riferisce del campo dell'informatica, ma bensì vedute più ampie di quella che è l'interazione con la macchina analizzata. L'emulatore può comprendere e rappresentare tutte le componenti, anche hardware, di un computer, e proporre all'utente un esempio d'uso, che sottolinea i caratteri principali dell'esperienza, tralasciando forse i dettagli più tecnici. In Languages sono presenti cinque emulatori che vanno a rappresentare cinque computer distribuiti su tutto il periodo analizzato.
Abstract (en) Languages is an online platform which tells the history of computing from the forties till nowadays. It is a web app, a common website with characteristics of the application, Languages is addressed to relatively young people who haven't lived in first person the history of computing, or who never had interest in it. Languages "talks" with a simple tone, based on the usage routines of the analyzed machines: the history is not explained through the technical characteristics of these machines —which would appear too complex and incomprehensible to those not used to "crunch" technology— but it uses examples of how the machines were really used. My goal is to mix a traditional way of consulting the provided information —i.e. purely encyclopedic and theoretical— with one more practical. To achieve this goal I chose to build the website based on two principal elements: the timeline and the emulators. The timeline is the first thing the user meets when he or she accesses the website. It is —of course— a temporal line which in its length gathers facts about the computing world between the 1940s and the 2000s. The different items are divided in more specific categories, such as "input" and "output", then analyzed through their presence in the computing scene. The timeline is interactive: it can be questioned by the user, who can choose which information level he wants to reach, since the information is available in different modes and layers.
The emulators are the second step that users interact with in the website; they can be reached from the initial timeline. These are not the kind of emulators commonplace in the computing field, but they are wider views of the interaction with the analyzed machine. The emulator could include and represent all the parts —even hardware— of a computer, and it presents an example of the usage of that computer; this will highlight the most important aspects of the experience, instead of the more technical ones. Languages includes five emulators which represent five computers spread over the time period analyzed.
7
8
Languages | indice
Indice Abstract 1. Introduzione 2. Ricerca
6
3. Sviluppo progettuale
43 45 45 47 48 52 53 55 56
4. Il progetto finale
59 61 62 70 70 71 71 72 72
5. Conclusioni Fonti Ringraziamenti
74
2.1 Linguaggi dimenticati,le ispirazioni 2.2 Linguaggi dimenticati,le lingue 2.3 Celebrazione tecnologica 2.4 Musei e simili 3.1 Come si comincia? 3.2 Le prime idee 3.3 Scavando, chiedendo, indagando 3.4 Cosa è già stato fatto sul tema? 3.5 Come iniziare a progettare? 3.6 Per chi progettare? Utenti e scenari 3.7 Che linguaggio/strumenti usare? 3.8 I tentativi 4.1 Costruzione del museo virtuale 4.2 Il prototipo 4.3 La linea del tempo 4.4 L'evoluzione del computing 4.5 L'ulteriore livello 4.6 Gli emulatori 4.7 Languages/linguaggi 4.8 La programmazione
11 13 16 28 34 36
78 83
9
10
Languages | introduzione
1. Introduzione Il report cartaceo o digitale che state leggendo è il fascicolo che si va ad affiancare al mio progetto di tesi, Languages. In quanto testo scritto di accompagnamento ad un progetto di interaction design, il suo compito è quello di motivare le scelte di design fatte durante lo sviluppo progettuale. Nello specifico la mia tesi si suddivide in tre capitoli: ricerca, sviluppo progettuale e progetto finale. Il primo capitolo di ricerca corrisponde ai primi passi fatti per raggiungere quello che è il progetto finale; si è trattato in un primo momento di una ricerca ampia, di esplorazione, senza aver alcun obiettivo specifico prefisso. Il campo prescelto è stato quello del computing, o meglio della sua storia, a me piuttosto ignota fino a quel momento. Durante questa fase di esplorazione ho scoperto alcune cose molto interessanti, che in qualche modo hanno poi aiutato la riuscita progettuale; ho analizzato alcuni dei precursori dell'informatica, e in più generale personaggi e avvenimenti che hanno segnato questa storia, senza essere però dovutamente ricordati, come invece avviene per più popolari eroi moderni. Ho quindi dedicato la prima parte del mio capitolo di ricerca a queste eccezioni alla storia tradizionale, cercando di comprendere perchè si trattasse di tali o se il loro ruolo nell'informatica fosse stato significativo o meno. Nella seconda parte del capitolo di ricerca ho invece raccolto alcuni progetti contemporanei di arte/design il cui intento è quello di celebrare la pura tecnologia con mezzi di comunicazione più vicini alla facile fruizione, rispetto ad un trattato di informatica, per esempio. Questi progetti non sono esattamente vicini a quello che è il mio risultato progettuale, ma i loro intenti li accomunano alla mia tesi, perchè anche il mio lavoro vuole andare a celebrare la parte di tecnologia rappresentata dal computing. Anche in questo caso gli esempi presentati mi
sono serviti per rafforzare la mia idea, per capirne la fattibilità o l'interesse che avrebbe scaturito negli utenti futuri. La terza parte della ricerca affronta invece il tema del museo, virtuale o reale, e analizza le varie modalità con cui, in progetti di altri, il museo è stato reso. Ciò che più mi ha affascinato in questo caso sono i diversi medium utilizzati per trasmettere il messaggio, infatti nei progetti che ho riportato, non ve ne è quasi nessuno che possiamo chiamare "museo", nella tradizionale accezione del termine; ma è anche vero che tutti questi progetti, appoggiati a piattaforme di diverso tipo, si comportano come musei veri e propri. Essi presentano "collezioni" diversamente fruibili, che mettono in mostra oggetti che non possiamo trovare altrove. Il secondo capitolo introduce il lettore a quello che è il progetto vero e proprio, lo fa attraverso la presentazione del procedimento progettuale, del modo in cui Languages è stato generato, a partire dalle prime "ampie" idee, fino a restringere il campo sulle caratteristiche più specifiche del progetto. Anche in questo capitolo è presente una brevissima ricerca che comprende solo quei progetti a cui mi sono direttamente ispirata per realizzare Languages, sia ad livello concettuale che ad livello puramente tecnico. Il capitolo prosegue parlando principalmente dei vari passaggi che mi hanno portato a realizzare il progetto così come appare oggi. Il terzo capitolo della tesi è atto a presentare il progetto nella sua forma finale, nei sui dettagli tecnici, nelle sue caratteristiche di fruizione e nelle sue qualità informative. In questa ultima parte ho raccolto le descrizioni di tutti i particolari di Languages, sia dal punto di vista del designer che da quello dell'utente, proprio questa è la parte che si può considerare più di "accompagnamento" al progetto, in quanto ne descrive ogni parte e motiva tutte le scelte progettuali fatte.
11
12
Languages | 2. ricerca
2. Ricerca 13
2. Ricerca 2.1 Linguaggi dimenticati, le ispirazioni
2.1.1 Memex 2.1.2 As We May Think 2.1.3 Man-Computer Symbiosis 2.1.4 The computer as a Communication Device 2.1.5 The mother of all demos 2.1.6 What the Dormouse Said
2.2 Linguaggi dimenticati, le lingue 2.2.1 Sketchpad 2.2.2 Eliza 2.2.3 GRAIL 2.2.4 Smalltalk 2.2.5 PostScript
2.3 Celebrazione tecnologica
2.3.1 Bicycle for two thousand 2.3.2 The Binary Counter 2.3.3 Wikipedia 10th anniversary
2.4 Musei e simili
2.4.1 Computer History Museum 2.4.2 Adobe interactive timeline 2.4.3 History of programming languages 2.4.4 Museum of Obsolete Objects 2.4.5 History of the iPhone 2.4.6 History of the iPhone 2.4.7 The Museum of Me 2.4.8 Adobe Museum of Digital Media
14
Languages | 2. ricerca
15
2. Ricerca 2.1 Linguaggi dimenticati, le ispirazioni Tutto ha avuto inizio qualche mese fa, esattamente quando è stato il momento di scegliere un argomento per la mia tesi. Mi sono immediatamente resa conto che non avrei potuto fare una tesi di interaction design senza indagare questa disciplina partendo dal suo inizio, o senza almeno provare a farlo. Ho così realizzato che la necessità di interagire con le macchine, necessità su cui questa disciplina si basa, è dovuta alla volontà di capire le macchine e di “parlare” la loro stessa lingua. Sin dagli inizi della computerizzazione, sin da quando i computer hanno fatto la loro comparsa nelle nostre vite, si è cercata una maniera per renderle più simile a noi, quindi più utili nell’aiutare le nostre attività quotidiane. Più nello specifico, molti sforzi sono stati dedicati al tentativo di elevare i computer ad una sorta di sintonia ideale con la mente umana. In questa sezione ho deciso di raccogliere alcune delle storie "alternative" alla tradizionale storia dell'informatica, quelle eccezioni che, se non hanno segnato drasticamente l'andamento di questa storia, ha certamente aperto gli occhi a molti di coloro che la storia l'hanno effettivamente scritta. 2.1.1 Memex, Vannevar Bush, 1930 Bush (1890-1974), ingegnere americano noto per il suo ruolo politico nello sviluppo della bomba atomica durante la seconda guerra mondiale, introduce il concetto di Memex(1) (probabilmente derivazione di memory extension) negli anni ‘30. Egli immaginò il Memex come uno strumento atto ad agevolare l'archiviazione e la consultazione di materiali di diversa natura, dalle fotografie ai documenti; esso sarebbe dovuto essere basato sull’utilizzo di microfilm per catalogare i vari materiali, meccanizzato per essere consultato con straordinaria velocità
16
Languages | 2. ricerca
e flessibilità. Egli voleva che il Memex si emulasse l’intricata rete di impulsi trasportati dalle cellule del cervello, quindi doveva essere molto simile alle funzioni del cervello umano. Era molto importante che questo strumento fosse anche estremamente accessibile, un dispositivo del futuro per utilizzo individuale, una sorta di libreria/archivio meccanizzato sotto forma di scrivania. Ogni elemento è immediatamente collegato ad un altro. Bush spiega come la mente umana sia diversa dai tradizionali paradigmi di archiviazione. Per esempio, i dati sono spesso archiviati in ordine alfabetico, e per fruirne l’utente deve risalire attraverso intricati percorsi sottocartelle di sottocartelle. Il cervello, dice Bush, funziona per associazione invece che per indice. Con questo progetto futuristico mai realizzato Bush introduce alcuni dei concetti sui cui si basa il computing dei giorni nostri, come per esempio l'ipertesto, alla base del World Wide Web, e la fruizione del dispositivo da parte di un singolo individuo, il personal computer. 2.1.2 Memex Demonstrator, Dynamic Diagrams, 1995 Nel 1995 in occasione del cinquantesimo anniversario della pubblicazione di As we may think(2), Dynamic Diagrams(3) (studio americano di design specializzato in architettura dell’informazione e infografica) produsse un’applicazione che riproduceva nel dettaglio quello che doveva essere il funzionamento di un Memex. La demo interattiva venne distribuita ai partecipanti della conferenza ACM SIGIR (Association for Computing Machinery’s Special Interest Group on Information Retrieval). L’applicazione, realizzata con Macromedia Director, non è più utilizzabile oggi, a causa della nuova generazione di processori non più compatibili con applicazioni prodotte per la generazione precedente; ne rimane solo un video dimostra-
Fig. 2.1 Uno scienziato del futuro registrerà esperimenti attraverso una piccola telecamera munita di lente universale. Il piccolo rettangolo sulla sinistra degli occhiali “vede” l’oggetto. (Didascalie e immagini presenti in questa pagine sono tratte dalla ristampa di As we may think su Life Magazine, del settembre 1945).
Fig. 2.2 Memex sotto forma di scrivania richiamerà immediatamente materiali relativi ad ogni soggetto al tocco delle dita dell’operatore. Schermi inclinati e traslucidi ingrandiranno supermicrofilm archiviati attraverso codici numerici. A sinistra un meccanismo che fotografa automaticamente note scritte a mano, figure e lettere, quindi ,e archivia nella scrivania per riferimenti futuri.
Fig. 2.3 Memex in uso, su uno degli schermi trasparenti l’operatore del futuro scriverà note e commenti utilizzando come riferimento il materiale che sarà proiettato sullo schermo di sinistra. L’inserimento del relativo codice, in basso nello schermo di destra, richiamerà immediatamente un nuovo elemento e le note verranno fotografate su supermicrofilm.
Fig. 2.4 Alcuni fotogrammi dell’applicazione realizzata da Dynamic Diagrams nel 1995, in occasione dei cinquant’anni dalla pubblicazione di “As we may think”. L’applicazione da vita agli schizzi di Vannevar Bush riguardanti il concetto di Memex.
Fig. 2.5 L’avvocato bibliotecario belga Paul Otlet ( 1868 – 1944) sognò un “cervello collettivo meccanico”, diede il via ad una gigantesca catalogazione della storia del mondo, un’enciclopedia universale che comprendeva milioni di schede dedicate ai vari argomenti. Il sistema di archiviazione Otlet ebbe inizio nel 1895 e fu portato avanti fino 1930. Otlet progettò anche un sistema di mobili speciali atti a contenere le schede, il Mundaneum appariva come una serie infinita di schedari in legno muniti di migliaia di piccoli cassetti atti a contenere le schede indicizzate.(4)
tivo, che però rende molto bene ciò che Bush aveva in mente per il Memex; probabilmente egli stesso era cosciente che si trattasse principalmente di un concept difficilmente realizzabile; che la descrizione dei dettagli tecnici era un po’ debole, probabilmente ipotizzò che il tutto si basasse sull’utilizzo di microfilm perché era la tecnologia più avanzata del momento, anche se i problemi legati ai microfilm erano visibili già allora. Ma è subito evidente quanto l’idea di Bush fosse forte e come rappresentasse le necessità del suo tempo. Sin dalla fine dell’Ottocento, sin da Paul Otlet(4) e il suo Mundaneum (progetto di un complesso sistema di indicizzazione che comprendeva sedici milioni di schede, relative ad altrettanti argomenti), molti sforzi vennero dedicati alla questione della catalogazione, l’importanza del collegamento nei sistemi di documentazione e l’idea di ipertesto. Perciò il Memex, anche se irrealizzabile, segnò la storia della computerizzazione, perchè fu un progetto che guardava al futuro, aldilà delle capacità tecnologiche contemporanee. 2.1.3 As We May Think, Vannevar Bush, 1945 Articolo scritto da Vannevar Bush per la rivista The Atlantic Monthly nel luglio del 1945 che ispirò molti e fu in parte responsabile di alcuni dei più importanti successi tecnologici della seconda metà del Novecento. Bush, allora direttore dell’Office of Scientific Research and Development (OSRD), dipartimento che coordinò la ricerca scientifica statunitense durante la seconda guerra mondiale, sottolineò come l’unità di intenti degli scienziati alleati nella seconda guerra mondiale dovesse essere protratta anche in tempo di pace. Se gli scienziati avevano avuto compiti ben precisi durante la guerra, ora, a conflitto finito, dovevano impiegare la competenza ottenuta in nuovi compiti. Se gli uomini di scienza americani erano stati in grado di collaborare per una causa comune durante la guerra, ora, a combattimenti cessati, dovevano ancora più saldamente unire le proprie forze. Nell’articolo Bush presenta per la prima volta il concetto di Memex, idea avuta diversi anni prima: Questa non è stata una guerra degli scienziati; è stata una guerra in cui tutti hanno preso parte. Gli scienziati, dimenticando la loro antica competizione professionale per la necessità di una causa comune, hanno condiviso molto e imparato altrettanto. È stato l’incredibile lavoro di un’efficace collaborazione. Ora, per molti, tutto questo sembra stia finendo. Cosa faranno gli scienziati dopo? Questo articolo fu illuminante per molti, se non tutti, gli scienziati e ingegneri che operarono negli anni successivi alla guerra, gettando le basi per la computerizzazione così come la conosciamo oggi. Il pensiero di Bush era molto chiaro e diretto, e rileggendo oggi il suo articolo lo si trova ancora attuale e d'ispirazione. Per anni le invenzioni hanno potenziato le capacità fisiche dell’uomo piuttosto che le sue capacità mentali. E se ora il tutto cambiasse?
20
Languages | 2. ricerca
Sarà mai possibile fare fotografie a secco? Spesso si vorrebbe poter scattare una foto e avere la possibilità di vedere immediatamente la fotografia. Per registrare un’informazione oggi si scrive con una penna o si batte a macchina. L’autore del futuro sarà capace di parlare direttamente con la registrazione? Ci saranno sempre un’infinità di cose da automatizzare nell’intento di semplificare azioni complicate che milioni di persone compiono. In qualunque operazione in grado di seguire una guida prefissata c’è una possibilità per la macchina. Un giorno potremo forse selezionare argomenti su una macchina con la stessa precisione con cui oggi inseriamo i prezzi in un registro di cassa. L’azione principale è la selezione. Semplice selezione: si procede esaminando a turno ogni articolo di una lunga lista, scegliendo quelli che possiedono determinate caratteristiche. Esiste però un’altra forma di selezione meglio illustrata dal funzionamento di un centralino telefonico. Si compone un numero e il centralino seleziona solo una destinazione tra milioni di altre possibili (il telefono come processore meccanico di informazioni). Il centralino presta attenzione solo a una classe determinata dalla prima cifra, dopodiché solo alla sua sottoclasse definita dalla seconda cifra, e così via. Questo sistema potrebbe tranquillamente funzionare anche per la selezione di argomenti. La mente umana funziona per associazione. Dopo avere “afferrato” un argomento, scatta istantaneamente a quello successivo, suggerito da un’associazione di pensieri, secondo un’intricata rete di impulsi trasportati dalle cellule del cervello. Selezione attraverso associazione invece che per indicizzazione. Considerando un dispositivo futuro per uso individuale, una sorta di libreria/archivio personale. Questo dispositivo ha bisogno di un nome “memex”, uno fra tanti possibili, assolverà questo compito. Un Memex è un dispositivo dove un individuo potrà immagazzinare i suoi libri, le sue registrazioni e le sue discussioni, sarà meccanizzato e potrà essere consultato con estrema velocità e flessibilità. Si tratta di un personale supplemento alla sua memoria. Il Memex consiste in una scrivania, è principalmente un elemento di arredamento su cui egli lavora. Sul piano di scrittura sono posizionati tre schermi traslucidi, un materiale su cui è possibile proiettare materiali per la lettura. E’ presente anche una tastiera e un set di leve e pulsanti, senza i quali sembrerebbe una normale scrivania. I vari materiali vengono archiviati come microfilm. L’utente ha la possibilità di creare una sequenza di diversi materiali che nella sua mente sono collegati, alla sequenza viene dato un codice, richiamando questo codice egli richiama tutti i materiali ad esso connessi. Un documento può fare parte di varie sequenze. Forme completamente nuove di enciclopedie appariranno, semplicemente create dall’utente attraverso una rete di percorsi associativi che vi corrono attraverso. Idee visionarie che hanno guidato un’intera generazione di scienziati e ingegneri. Bush vedeva in ogni lavoro ripetitivo, come per esempio quello impiegatizio, grandi possibilità per la ricerca scientifica, e a buon ragione.
Fig. 2.6 Vannevar Bush sull’Atlantic Monthly. Dopo aver giocato un ruolo fondamentale per quanto riguarda la tecnologia bellica utilizzata dall’esercito americano durante la seconda guerra mondiale, Bush scrisse alcuni articoli che segnarono il conseguente sviluppo tecnologico.
2.1.4 Man-Computer Symbiosis, J. C. R. Licklider, 1960 Joseph Carl Robnett Licklider (1915–1990), psicologo e informatico americano, interessato nella tecnologia dell’informazione e parte del progetto ARPA per alcuni anni. ARPANET (Advanced Research Project Agency Network) fu un progetto sponsorizzato dal Dipartimento di Difesa degli Stati Uniti, di cui si iniziò a gettare le basi nel 1967, e dove per la prima volta si iniziò a discutere di una possibile rete di connessione tra computer disposti in diversi luoghi del paese. In seguito ARPANET fu il primo network tra computer, basato su un sistema di nodi, ad ogni nodo era presente un computer che avrebbe fatto da server, la rete utilizzava la linea telefonica per la condivisione di file di grosse dimensioni e per lo scambio di "corrispondenza elettronica". Questo sistema era estremamente costoso, per via del gran numero di computer utilizzati per dar vita alla rete, per questo non si diffuse mai al di fuori delle università o dei dipartimenti militari; si può dire che fu un antenato del World Wide Web che conosciamo oggi, ma non così diretto come si immagina; il progetto venne chiuso nel 1989. Come già avvenne con Vannevar Bush, il contributo di Licklider allo sviluppo di internet, o meglio dell’utilizzo della tecnologia, è composto da più idee che invenzioni. Idee su come i computer avrebbero potuto amplificare la capacità umana nella risoluzione di problemi: tanto tempo fa, per far eseguire al computer un comando c'era bisogno di praticare dei fori su schede o nastri d carta, consegnare questi a qualcuno che li avrebbe inseriti nella macchina e quindi aspettare il risultato per ore o addirittura giorni. Licklider era convinto che si sarebbe potuto fare di meglio e, più di chiunque altro, vide in anticipo quello che poi sarebbe successo. La simbiosi uomo-computer(5) è una strada già segnata per lo sviluppo dell'interazione cooperativa tra gli uomini e i calcolatori elettronici. Coinvolgerà una congiunzione molto stretta tra gli esseri umani e i membri elettronici di questa società. I principali intenti sono 1) permettere ai computer di facilitare il pensiero formulato come ora facilitano la soluzione di problemi formulati, e 2) lasciare che gli uomini collaborino con i computer nel prendere decisioni e nel controllare complesse situazioni, senza essere dipendenti in maniera inflessibile da programmi predeterminati. Nella cooperazione simbiotica di cui sopra, gli uomini stabiliranno gli obiettivi, formuleranno le ipotesi, determineranno le regole e prenderanno le decisioni. Le macchine faranno tutto il lavoro di routine atto a preparare la via per intuizioni e decisioni nel mondo tecnico e scientifico. Analisi preliminari dimostrano che l'associazione simbiotica farà eseguire operazioni intellettuali in maniera molto più efficace rispetto a quello che l'uomo sarebbe in grado di fare da solo. Tra i prerequisiti per la realizzazione di una efficace associazione cooperativa sono inclusi ulteriori sviluppi della tecnologia time-sharing e dei dispositivi di input e output. La profonda diversità tra i linguaggi dell'uomo e i linguaggi della macchina potrebbe essere l'ostacolo più serio per questa simbiosi. E' comunque rassicurante notare i grandi passi che sono già stati fatti, con programmi interpretativi e in particolare assembly e programmi di compilazione che avvicinano i
22
Languages | 2. ricerca
computer ad una forma di linguaggio più umana. Gli uomini sembrano pensare in maniera più naturale in termini di obiettivi più che in termini di processi. Certamente normalmente sanno qualcosa della direzione che verrà presa o delle guide lungo le quali lavorare, ma davvero in pochi iniziano qualcosa con un'idea precisa dell'itinerario. Paragonando ordinarie le istruzioni rivolte ad un essere umano pensante e quelle rivolte ad un computer, le seconde specificheranno sempre tutti i precisi passaggi e il loro ordine predefinito. Le prime istruzioni presenteranno alcune note incentive e di motivazione. Istruzione rivolte ad un computer specificheranno i processi; istruzioni rivolte ad un uomo preciseranno gli obiettivi. Istruzioni per le machine attraverso la definizione di obiettivi vengono attenuate attraverso due procedimenti. 1) Soluzione di problemi. 2) Concatenazione in tempo reale di segmenti pre-programmati e di predefinite sotto-classi che l'operatore umano più richiamare all'azione digitando un semplice nome. Le parti meccaniche di cui l'uomo si è servito nel corso del tempo sono sempre servite da estensioni, prima delle sue braccia, poi dei suoi occhi. Ai giorni nostri i computer sono progettati per risolvere problemi preformulati, tutte le possibili alternative vanno dichiarate in anticipo. Uno degli obiettivi futuri principali è quello di elevare i computer a macchine capaci anche di formulare problemi. Appare evidente che questa azione cooperativa migliorerà largamente il processo di pensiero. Paragonate agli uomini, le macchine sono molto più veloci e precise, ma le loro capacità sono ridotte allo svolgimento di poche operazioni elementari per volta. Gli uomini sono flessibili, capaci di "programmare" loro stessi. Gli uomini stabiliranno gli obiettivi e forniranno le motivazioni, per lo meno nei primi anni. Formuleranno ipotesi, porranno domande, inventeranno i meccanismi, le procedure e i modelli. In generale loro daranno un contributo approssimativo e imperfetto, ma primario, guidando il corso generale dei pensieri. 2.1.5 The Computer as a Communication Device, J. C. R. Licklider, 1968 Era il 1968, Douglas Engelbart non aveva ancora fatto la sua futuristica dimostrazione utilizzando un proto-internet e un proto-Skype, e Licklider stava già immaginando le macchine del futuro, con idee vicine in maniera impressionante a quello che poi sarebbe realmente successo. Egli vedeva una comunità online diffusa nello spazio che condivideva informazione di comune interesse; vedeva persone che durante una conferenza, controllavano dati relativi alla presentazione a cui stavano assistendo; immaginava che un giorno sarebbe stato più facile comunicare attraverso lo schermo di un computer che parlare faccia a faccia(6). In pochi anni, gli uomini saranno in grado di comunicare più efficacemente attraverso le macchine che faccia a faccia. Comunicare è più che mandare e ricevere. Ogni conversazione tra due persone a proposito di un'esperienza comune fa uso
di modelli informativi relativi a quello stesso argomento. Ogni modello è la struttura concettuale di astrazioni formulate inizialmente nel pensiero di una delle due persone che comunicano, non ci sono modelli comuni. Una visione futura del sistema comunicativo permette ad ogni partecipante alla conversazione di sfogliare i file relativi al discorso che viene ascoltato, e quindi verificare importanti questioni senza bisogno di interrompere la presentazione. Le contemporanee comunità on-line sono separate sia operativamente che geograficamente, ogni membro può consultare solo il materiale in possesso della sua comunità. Il prossimo passo è quello di interconnettere le distinte comunità trasformandole quindi in una supercomunità. Queste comunità ne faranno parte non grazie ad una posizione comune, ma bensì grazie ad interessi comuni. Cosa farà parte della memoria comune? Ogni documento battuto, ogni strumento di raccolta dati, ogni testo dettato registrato nutrirà il network.
Fig. 2.7 Disegni fatti dallo stesso Licklider per dimostrare la sua idea di web. Fig. 2.8 Illustrazioni di Roland B. Wilson che accompagnarono la pubblicazione originale di The Computer as a Communication Device. 23
2.1.6 The mother of all demos, Douglas Engelbart, 1968 La madre di tutte le dimostrazioni(7) è una presentazione fatta da Douglas Engelbart, inventore americano, il 9 dicembre 1968 alla Fall Joint Computer Conference, a San Francisco. La dimostrazione trattò di tecnologie sperimentali sviluppate da lui e il suo team all’ARC (Augmentation Research Center) nei 6 anni precedenti. Durante la conferenza tenutasi al Convention Center a San Francisco, Engelbart, con l’aiuto della sua squadra schierata nel loro laboratorio a Menlo Park, dimostrò l’operato del NLS (oN-Line System). Questo fu il debutto in pubblico per il mouse da computer, ma il mouse era solo una delle molte innovazioni presentate quel giorno, tra cui link ipertestuali, object orienting e dynamic file linking, come anche condivisione collaborativa dello schermo tra due persone in due punti differenti dello stato che comunicano attraverso un network con interfaccia audio e video. Durante la Seconda guerra mondiale, quando prestò servizio come tecnico radio per la Marina Militare nelle Filippine, Engelbart fu ispirato dall’articolo scritto da Bush, As We May Think, e decise, dopo aver conseguito una laurea in ingegneria elettronica, che le sue capacità e la sua conoscenza dovevano essere utilizzate per una causa comune. La carriera di Engelbart ebbe uno slancio nel 1951 quando realizzò che la sua carriera non aveva nessun obiettivo se non quello di ottenere una buona educazione e un lavoro rispettabile. Nel corso alcuni mesi elaborò che: 1) avrebbe utilizzato il suo lavoro per fare del mondo un luogo migliore; 2) ogni sforzo per rendere il mondo migliore richiede una certa organizzazione; 3) sfruttare l’intelligenza collettiva di tutte le persone che potessero contribuire a soluzioni effettive era la chiave. 4) se è possibile migliorare drasticamente la maniera in cui ciò viene fatto, ogni sforzo per migliorare il pianeta verrà amplificato; 5) i computer avrebbero potuto essere il mezzo per raggiungere questi obiettivi. Per ottenere i risultati che si era prefissato Engelbart reclutò una squadra di ricerca per il suo nuovo ARC, laboratorio che formò allo Stanford Research Institute a Menlo Park, California. l'ARC fu uno dei primi laboratori a ricevere fondi dal progetto ARPA(8) nel 1962, dove al momento si trovava J. C. R. Licklider i quale indirizzò Engelbart verso il miglioramento della comunicazione tra esseri umani e macchine, al tempo limitata all'assolutamente non-interattivo batch processing e al fintamente interattivo time-sharing. Queste idee diventarono la forza trainante dietro alla progettazione e lo sviluppo dell’oN-Line System. A partire dal 1962 Engelbart e un gruppo di 17 ricercatori lavorarono all’ARC sul progetto. Durante i sei anni di lavoro l’NLS assunse una forma strabiliante, tanto da non differire di molto dalla tecnologia di cui facciamo uso oggi, più di quarant’anni dopo. Guardando Engelbart durante la dimostrazione che, con incredibile dimestichezza e tranquillità, dimostra il funziona-
24
Languages | 2. ricerca
mento del suo sistema, parlando in un futuristico mini-microfono con auricolare incorporato e dirigendo allo stesso tempo la sua squadra a Menlo Park, la prima cosa che ci viene in mente è una conversazione su Skype con condivisione dello schermo. Ma se l’oN-Line System era l’obiettivo principale dell’ARC non fu di certo il solo progetto che ne risultò, durante quei sei anni il gruppo di ricerca “incappò” nell’invenzione di svariati oggetti oggi di uso comune, uno per tutti il mouse. Davvero impressionante è il modo del tutto naturale in cui Engelbart parla di queste cose; quando nel corso della dimostrazione gli capita di nominare il mouse, ridacchiando per via del nome, spiega che dopo un po’ di tempo che ne facevano uso a qualcuno venne in mente di chiamarlo così, per l’innegabile somiglianza con un topo, con coda e tutto il resto, e poi hanno semplicemente continuato ad usare quel nome, quando a quel tempo muoversi attraverso lo schermo era un problema non da poco.
Fig. 2.9 Programma della conferenza tenuta da Douglas Engelbart nel 1968.
Fig. 2.10 Copia di As we may think proprietà di Douglas Engelbart.
Fig. 2.11 Engelbart e la sua squadra durante la dimostrazione. L’intera regia, la condivisione dello schermo, l’utilizzo di diverse telecamere, ogni cosa che venne proiettata quel giorno sul megaschermo fu gestita dagli ingegneri dell’ARC.
2.1.7 What the Dormouse Said, John Markoff, 2005 John Markoff, scrittore e giornalista americano, specializzato in trattati di informatica, nel suo What the Dormouse said: How the Sixties Counterculture Shaped the Personal Computer Industry(9) unisce tutti i punti e spiega come il clima politico degli anni ‘60, l’utopico stato mentale della controcultura, la sperimentazione di droghe psichedeliche, la ricerca finanziata dall’esercito e le battaglie per il futuro dell’intelligenza artificiale che ebbero luogo nella Bay Area, giocano un ruolo significativo nel susseguente sviluppo dell’industria del computer. Doug Engelbart seduto al di sotto di uno schermo alto sei metri mentre incanta il pubblico e controlla l'attenzione dell'audience a due mani. Per lo meno questo è quello che parse a Chuck Thacker, un giovane designer dello Xerox PARC il quale vide alcuni anni dopo il video della dimostrazione che cambiò il corso dell'intero mondo dei computer. Il 9 dicembre 1968 l'oNLine System venne mostrato al mondo per la prima volta. Engelbart scelse il Fall Joint Computer Conference, dove annualmente si radunavano alcune delle più prestigiose firme del settore, per il debutto pubblico dell'Augmentation Research Center. Nell'oscurato auditorium Brooks Hall di San Francisco tutte le sedie erano occupate e altri spettatori ancora si allineavano in piedi lungo le pareti. Sul gigantesco schermo alle sue spalle, Engelbart dimostrò un sistema che parve pura fantascienza al pubblico formato da programmatori cresciuti a schede perforate e terminali con possibilità di sola scrittura. In novanta minuti di sessione mozzafiato, egli mostrò come era possibile modificare un testo su uno schermo, creare link ipertestuali tra un documento elettronico e l'altro, come mescolare testo e grafica e addirittura come mischiare video e grafica. Abbozzò anche una visione di computer network sperimentale, che sarebbe poi stato chiamato ARPAnet, e ipotizzò che nel giro di un anno sarebbe stato in grado di fare la stessa dimostrazione a distanza, mostrandola in tutta la nazione. In pratica ogni aspetto significativo dei computer di oggi venne rivelato in quella magnifica ora e mezza. Vi furono due dettagli che abbagliarono particolarmente il pubblico durante quel piovoso lunedì mattina: per prima cosa il computer da macina-numeri quale era divenne strumento di informazione e comunicazione. Secondo: la macchina veniva usata in maniera interattiva e tutte le sue risorse erano dedite ad un singolo individuo. Era la prima volta che veniva visto un vero personal computer. Engelbart parlava dolcemente con voce monotona, la quale aveva una nota leggermente inquietante data dal riverbero nella grande sala conferenze. Indossando cravatta e camicia bianca a maniche corte, seduto su una sedia Herman Miller con scrivania su misura, introdusse il mondo intero al cyberspazio. Mostrò ai migliori ingegneri informatici della nazione come le persone avrebbero lavorato nel futuro, condividendo complesse informazioni digitali in tempo reale, anche ai due capi opposti del mondo. Per molti che assistettero quello fu più che un fulmine a ciel sereno: fu un'esperienza religiosa che ispirò quella generazione di
26
Languages | 2. ricerca
scienziati allo stesso modo in cui il Memex di Vannevar Bush ispirò Engelbart ventitré anni prima. Engelbart rubò letteralmente la scena, durante i giorni successivi non si parlò d'altro. Anni dopo la sua dimostrazione divenne "la madre di tutte le dimostrazioni", dalle parole di Andries van Dam, uno studente di informatica della Brown University che poi collaborò con il team Apple per lo sviluppo dell'applicazione HyperCard nel 1987. In molti aspetti è ancora la più eccezionale dimostrazione che il mondo dell'informatica abbia mai visto. "Il mondo fantastico dei computer di domani" titolava il San Francisco Chronicle, il quale scrisse che Engelbart sapeva che il suo gruppo di lavoro stava coscientemente puntando ad un'intelligenza artificiale chiamata computer. Non esisteva più la minima distinzione tra "augmentation" ed "automation" per il giornalista, ma questo era anche il cuore della dimostrazione. Engelbart mise al centro di tutto l'azione dell'uomo, andando contro quelle che erano le convinzioni degli informatici dell'epoca. Era praticamente eresia, ma da questa eresia nacque e si sviluppò il personal computer come lo conosciamo oggi. (tradotto personalmente)
Fig. 2.12 Community Memory, terminal al Leopold’s Records, Berkeley, California, 1975. Tutti potevano usare questo terminale per lasciare messaggi, connesso ad un computer mainframe che utilizzava una rete time-sharing. Questa fu un’idea radicale di un tempo in cui quando la controcultura paventò che i computer divenissero strumenti del potere industriale.
27
2.2 Linguaggi dimenticati, le lingue A partire dagli anni ‘60 si è assistito ad un interminabile fiorire di linguaggi di programmazione e di sempre nuove maniere per comunicare con le macchine. Quello che mi affascina principalmente sono i tentativi, spesso non andati a buon fine, i progetti molto innovativi, ogni volta definiti precursori di qualcosa o primi esempi di qualcos’altro, ma che non hanno poi trovato il giusto spazio per crescere. Tutte queste prove potrebbero essere rappresentate come i piccoli affluenti di un grande fiume, alla cui foce sta lo stato dell’arte della tecnologia contemporanea, pressoché perfetta, la quale ha avuto bisogno di questi incerti tentativi per diventare così come la conosciamo oggi. 2.2.1 Sketchpad, Ivan Sutherland, 1963 Ivan Sutherland è un ingegnere informatico americano e un pioniere dell'informatica, fu professore alla Utah University e co-fondatore della compagnia Evans & Sutherland, azienda specializzata nella produzione di simulatori di vario genere principalmente per l'esercito militare; molti dipendenti dell'azienda furono ex-studenti della Utah University ed in seguito parteciparono attivamente nella scrittura un pezzo di storia della tecnologia, fondando aziende come Adobe, Pixar e Silicon Graphics. Anche Sutherland dichiara che la sua carriera fu largamente ispirata da As We May Think scritto da Bush, così come avvenne per Engelbart. Durante il suo dottorato al MIT, Sutherland inventò Sketchpad(10), un programma innovativo che senza dubbio influenzò alcune delle principali forme di interazione con i computer. Antenato dei moderni CAD (Computer-Aided Drafting) segnò lo sviluppo di una vera e propria interfaccia grafica per i computer. Sketchpad, programmato per il Lincoln TX-2, main-
28
Languages | 2. ricerca
frame costruito nel 1958 al MIT, usa il disegno come un nuovo mezzo per comunicare con la macchina. In un tempo in cui, per mandare un qualunque comando alla macchina, era indispensabile saper scrivere il codice relativo a quel comando o addirittura imprimerlo in una scheda perforata, il sistema di Sutherland permetteva all’utente di disegnare semplicemente i propri comandi. Comprendeva input, output e compilatori che consentivano alla macchina di interpretare le informazioni disegnate e mostrarle semplicemente sullo schermo, uno schermo a tubo catodico con oscilloscopio, senza bisogno di alcun tipo di codice o coordinata. Sutherland progettò anche gli strumenti con cui era possibile utilizzare il programma: una penna luminosa con cui tracciare i segni direttamente sullo schermo e una consolle di leve e pulsanti con cui richiamare le varie funzioni, i disegni fatti venivano poi salvati su nastri magnetici; quattro manopole alla base dello schermo permettevano di muoversi all’interno del “foglio da disegno”. Con Sketchpad era possibile disegnare qualcosa, salvarlo, copiarlo, incollarlo altrove, modificare il simbolo sorgente e, a cascata, modificare tutte le sue copie posizionate in diversi disegni; si poteva tracciare qualcosa a mano libera e servirsi poi di vincoli per assicurasi che le linee fossero dritte. In un filmato girato all’epoca, Sutherland mostra addirittura la possibilità di utilizzare la terza dimensione per costruire i propri disegni, mostrando Sketchpad in una modalità con vista molteplice. Tutto questo è molto impressionante se si pensa che era il 1963, ma ancora più impressionante e significativo, è il punto del filmato in cui Sutherland quasi si lamenta delle condizioni della macchina su cui programmò Sketchpad: se non fosse stato per la memoria limitata, per lo schermo troppo piccolo e a bassa definizione, se non fosso stato per i nastri magnetici di cui doveva servirsi per salvare i vari file, il suo programma sarebbe stato perfetto, praticamente AutoCAD fatto e finito.
E questo avvenne durante il suo dottorato, c’erano tutte le promesse per una carriera strabiliante. Ma Sketchpad ebbe una distribuzione molto limitata, se non nulla, questo non gli impedì di influenzare molti dei programmi che gli succedettero, ma senza dubbio Sutherland non diventò lo Steve Jobs del disegno geometrico. Sketchpad fu un fulmine a ciel sereno, nessuno era ancora pronto per qualcosa di così avanzato, tanto meno la tecnologia del tempo, che non era assolutamente all’altezza. Si dovettero aspettare altri 20 anni prima di vedere veramente commercializzato il primo computer con interfaccia grafica, il Macintosh nel 1984.
“You will see a man actually talking to a computer. The computer is not anymore a number-crunching machine, it’s a human assistant” Steven Koons, professore di ingengeria meccanica al MIT
Fig. 2.13 Sezione del puntatore luminoso.
Fig. 2.14 Dettaglio della penna luminosa usata in Sketchpad. Fig. 2.15 Studente del MIT mentre usa Sketchpad in modalità 3D con vista multipla.
29
2.2.2 Eliza, Joseph Weizenbaum, 1964-66 Eliza(11) è un programma, uno dei primi esempi di elaborazione del linguaggio naturale, sviluppato al MIT da Joseph Weizenbaum. Eliza funziona trasformando le risposte dell’utente in un codice poi utilizzato dalla macchina per rispondere a sua volta. La versione più famosa di questo programma è DOCTOR, la simulazione di uno psicoanalista che fa uso del metodo descritto sopra ma che non è a disposizione di alcun genere di informazione sui comportamenti umani, ma rimane comunque in grado di dare risposte che sembrano umane. DOCTOR fu uno dei primi chatterbot mai esistiti. Eliza mi interessa in quanto esempio principe della volontà dell’uomo di trovare un metodo per cui comunicare con le macchine diventi il più simile possibile a quello usato tra esseri umani. Weizenbaum progettò Eliza quasi per gioco, ciò che credeva ne sarebbe risultato era la parodia di uno quei terapisti pazientecentrici, tanto di moda allora. Ma a progetto finito si rese conto che Eliza non era affatto una parodia, che il semplice fatto di fare delle domande la rendeva quasi umana, anche se queste domande erano evidentemente generate da un algoritmo basato su ciò che l’utente aveva scritto in precedenza; in particolare, Weizenbaum rimase scioccato quando un giorno la sua segretaria, mentre stava provando il programma, gli chiese di lasciare la stanza. Dopo Eliza si sono susseguiti innumerevoli chatterbot e simili, uno per tutti Cleverbot. Un’applicazione web progettato dallo scienziato Rollo Carpenter che si basa, come Eliza, su un sistema di domanda-risposta, ma in questo caso il robot, pressoché come un essere umano, è in grado di imparare. Ogni volta che viene digitato qualcosa di nuovo nella casella di testo, Cleverbot lo apprende e lo memorizza in relazione al contesto in cui questa risposta è stata data. In seguito Cleverbot sarà in grado di utilizzare quella stessa battuta in altre conversazioni. Cleverbot è stato lanciato per la prima volta nel 1988 e, se oggi è in grado di sostenere una conversazione quasi ragionevole, è perché moltissime persone hanno passato ore e ore a parlare con lui, pur sapendo benissimo che si trattava di un robot.
Fig. 2.16 Simulatore di DOCTOR presente sul Terminale di ogni sistema operativo Mac OS X. 30
Languages | 2. ricerca
2.2.3 GRAphical Input Language, Rand Corporation, 1969 GRAIL(12) è un flowchart language sviluppato alla RAND (Research ANd Development) nel 1969, che, permetteva di disegnare elaborati grafici. L’utente, disegnando su una tavoletta grafica, per esattezza la prima tavoletta grafica in grado di comunicare con un computer, progettata anch’essa alla RAND Corporation, poteva vedere in tempo reale ciò che stava creando su un semplice schermo a tubo catodico. Il dettaglio più impressionante di questo linguaggio era la capacità di riconoscere la segno a mano libera come input, distinguendo quindi i vari simboli e lettere dell'alfabeto. Il sistema era altamente reattivo e semplice da comprendere con un’interfaccia grafica per l’interazione uomo-macchina. La macchina utilizzata era un IBM System/360, dedicato completamente al supporto di un singolo GRAIL, divenendo così un personal computer molto costoso. Forse era un programma molto pesante per i computer dell’epoca, ma il risultato era qualcosa di magico, qualcosa di talmente semplice che, guardando uno dei filmati dimostrativi girati al tempo, non c’è quasi bisogno di alcuna spiegazione. L’utente deve semplicemente disegnare o scrivere ciò che desidera e il programma è in grado di riconoscere di cosa si tratta. Anche in questo caso si tratta di uno strabiliante progetto, non solo per l’epoca, che non ha poi avuto significativi successori. Sono passati decenni prima che si potesse realmente usare un programma per il riconoscimento della scrittura manuale, anni prima di poter utilizzare ragionevolmente una tavoletta grafica.
Fig. 2.17 Simboli di cui l’utente si poteva servire per costruire i grafici. Immagine tratta dalle documento pubblicato dalla RAND Corporation nel 1969. Fig. 2.18 GRAIL così come appariva nel 1969 sull’IBM System/360. 31
2.2.4 Smalltalk, Alan Kay Adele Goldberg e altri, 1972 Smalltalk(13) è un linguaggio di programmazione object-oriented con analisi dinamica del codice scritto dall'utente e paradigma di programmazione riflessivo. Chiaro esempio di una nuova man-computer symbiosis (vedi pag. 22). Smalltalk è stato sviluppato negli anni settanta allo Xerox PARC (Palo Alto Research Center) (14). Lo Xerox PARC fu una sorta di paradiso/inferno per i ricercatori informatici. Sorto nel 1970 all'interno della Xerox Corporation, un'azienda che produceva principalmente fotocopiatrici e stampanti che, arrivando alla conclusione che i computer atti a produrre il materiale che sarebbe stato poi stampato con una Xerox non erano all'altezza delle loro stampanti, decise di creare un proprio laboratorio di ricerca atto a migliorare questi computer. Il compito assegnato ai neoassunti ingegneri e scienziati era "semplicemente" quello di creare l'ufficio del futuro. In più in quel periodo iniziava a girare una voce che prevedeva l'avvento di "uffici senza carta", questo non poteva che innervosire un'azienda che produceva stampanti e fotocopiatrici. Qundi il PARC sarebbe servito anche ad aiutare Xerox nel superare questa fase di cambiamento. Il PARC fu paradiso e inferno allo stesso tempo perché era sì il luogo perfetto dove inventare la tecnologia del futuro e dove tutti i migliori ricercatori erano concentrati, ma allo stesso tempo aveva una libertà d'azione solo apparente. Infatti, nonostante le invenzioni fatte al PARC furono le "prime" in molti campi, non venne permesso loro di avere successo come prodotti commerciali, molte idee non vennero mai rese pubbliche, probabilmente per decisione dell'azienda madre Xerox. Anche Smalltalk fa parte di questo mondo di idee brillanti che non raggiungono mai il pieno successo. Smalltalk-72, la prima versione, fu troppo innovativa e non venne adottato dai programmatori dell'epoca, quando Smalltalk-80 fu disponibile per il pubblico nel 1980, molti altri sistemi operativi erano già sul mercato o pronti ad invaderlo, non lasciando molto spazio per Smalltalk. L'obiettivo del software fu quello di cambiare il paradigma di programmazione usato fino a quel momento. Se fino ad allora si era programmato separando nettamente quello che era programma e quello che era dato/informazione, Smalltalk propose di cancellare questa separazione, concentrandosi principalmente sull'oggetto, che contiene sia dati che programma. Quindi l'utente non modificherà più il programma per ottenere risultati sugli oggetti, ma modificherà gli oggetti stessi. Con Smalltalk era possibile programmare a tutti i livelli della macchina, si trattava di un software, un sistema, che avvicinava la programmazione anche alle persone comuni, permettendo loro di creare applicazioni di varia complessità, a seconda della loro conoscenza personale.
“We came up with a software idea that allowed you to program at all levels of the machine. We called it programming system. We wanted to make sure that people could build applications that represented their own understanding." Adele Goldberg intervistata dal Computer History Museum(15)
Fig. 2.19 Beanbag conference room allo Xerox PARC, 1970. 32
Languages | 2. ricerca
2.2.5 PostScript, John Warnock, 1976 Questo ultimo esempio di linguaggio è il più (e pressoché unico) fortunato a livello commerciale in questo elenco. L'idea che generò PostScript(16) iniziò a prendere forma nel 1976 quando John Warnock era dipendente della compagnia Evans & Sutherland (lo stesso Sutherland che inventò Sketchpad). Warnock lavorava in una succursale della E&S nella Bay Area, incentrando il suo lavoro soprattutto su materiale grafico di vario tipo, fu così che gli venne l'idea di creare un linguaggio capace di processare in modo soddisfacente questo genere di materiale. Dopo questo inizio passarono ancora anni prima che il vero e proprio PostScript venisse sviluppato e distribuito. Nel 1982 Warnock fondò la Adobe Systems insieme a Chuck Geschke, che lasciò lo Xerox PARC proprio a questo scopo; i due programmarono la prima versione di PostScript e la commercializzarono nel 1984. Lo scopo principale di PostScript, linguaggio di descrizione pagina interpretato, era quello di permettere agli utenti di mandare in stampa un documento prodotto da un computer con la stessa qualità di uno prodotto in maniera tradizionale, utilizzando a pieno le potenzialità della stampante, sempre maggiori di quelle di un monitor per computer. Un file PostScript può essere visualizzato e stampato alla massima risoluzione su qualunque piattaforma compatibile.
In quegli anni in molti stavano lavorando a progetti simili, ne risultano linguaggi come HPGL (Hewlett Packard Graphics Language)(17) che fu forse il primo linguaggio grafico creato specificatamente per una stampante, sviluppato dalla HewlettPackard, compagnia che è simbolicamente la pietra miliare della Silicon Valley, nonostante non produca effettivamente semiconduttori. HPGL era però estremamente complesso e veniva "compreso" solo da stampanti HP. Ci fu anche il software Bravo, nato allo Xerox PARC nel 1974, definito il primo programma per scrittura a computer con modalità WYSIWYG (What You See Is What You Get). Bravo fu concepito per poter usare al meglio le stampanti Xerox, nonostante la bassa qualità del monitor utilizzato per visualizzare i documenti, al tempo la risoluzione massima per uno schermo era di 72 ppi; quello fu il periodo in cui Xerox sviluppò la prima stampante laser con una risoluzione di 300 ppi. PostScript, diversamente dai precedenti linguaggi per il controllo di stampanti, è un linguaggio completo, è in grado di descrivere il contorno dei caratteri tipografici, permettendo quindi ampia libertà per quanto riguarda la dimensione, la rotazione e la posizione di questi. Può maneggiare con la stessa dimestichezza immagini bitmap o vettoriali, la libertà viene limitata solo dalla dimensione della memoria RAM dell'interpretatore, usato per visualizzare sullo schermo quello che verrà poi stampato. La ragione per cui PostScript (e nessun altro dei linguaggi sopra descritti) portò la Adobe Systems a diventare la potenza che è oggi fu anche una buona strategia commerciale. Infatti poco dopo il lancio di PostScript al pubblico, Steve Jobs visitò la Adobe necessitando di un linguaggio grafico da installare sulle stampanti Apple; nel 1985 la Apple LaserWriter fu la prima stampante ad essere venduta con PostScript incorporato, quest'ultimo ulteriormente implementato ed in grado di elaborare anche immagini. Nel 1984 uscì anche il primo Macintosh, il primo personal computer commercializzato provvisto di mouse e di interfaccia grafica, su di esso poteva essere installato PageMaker interpretatore per PostScript, introdotto anch'esso nel 1984 dalla Aldus Corporation ed in seguito acquisito dalla stessa Adobe, poi evolutosi nell'InDesign che conosciamo oggi. Si può dire che nel 1985 il mondo dell'editoria era stato portato con successo anche all'interno dei computer.
Fig. 2.20 Sopra PageMaker prodotto dalla Aldus Corporation. Fig. 2.21 Sotto Prima versione Adobe Illustrator, 1987. 33
2.3 Celebrazione tecnologica In questo capitolo ho raccolto alcuni interessanti progetti di interaction design che, mi è parso, avessero la volontà di celebrare la tecnologia pura e semplice. Pur non facendo parte della categoria "musei e simili", questi progetti possiedono quella nota nostalgica tipica dei musei; nostalgia nei confronti di una tecnologia passata, forse più semplice e onesta di quella presente, ma soprattutto vogliono sottolineare l'importanza di ricordare. Nonostante si tratti di tecnologia, quindi di qualcosa che oggi diamo per scontato, essa si merita di essere celebrata e di avere una propria storia, così da non essere dimentica. Ho raccolto quindi una breve lista di non-musei perchè questi progetti, forse ancora più di quelli che assolvono il compito di musei a tutti gli effetti, si avvicinano all'idea che c'è alla base di Languages che, sì è un museo virtuale, ma non è statico, vi si può interagire, e soprattutto il suo intento principale è quello di celebrare un pezzo di storia della tecnologia, proprio come le installazioni che vado a proporre fanno. 2.3.1 Bicycle Built for Two Thousand, Aaron Koblin e Daniel Massey, 2009 Bicycle Built for Two Thousand è la registrazione di 2.088 voci registrate raccolte attraverso il servizio web Mechanical Turk fornito da Amazon. Venne chiesto alle persone, lavoratori online all'interno del sistema di Amazon, di ascoltare un breve pezzo di una traccia audio e di registrare loro stessi mentre cercavano di imitare ciò che avevano sentito. La canzone da cui erano tratte tutte le varie clip audio era "Daisy Bell", canzone divenuta famosa nel mondo della tecnologia perché fu la prima ad essere "cantata" da un computer. Nel 1961 John Kelly e Max Mathews, nei Bell Labs(18), scrissero un programma per un IBM 7094 che, cantando Daisy Bell, lo fece diventare
34
Languages | 2. ricerca
la prima macchina in grado di produrre una voce sintetizzata. La canzone raggiunse popolarità stellare quando fu cantata dal Hal 9000 in "2001: Odissea nello spazio", film del 1968 diretto da Stanley Kubrick. In contrasto con la versione sintetizzata della canzone del '62, Aaron Koblin e Daniel Massey utilizzarono un sistema di voci umane distribuite in 71 paesi del mondo ma rese "artificiali" dal contesto, cioè il Mechanical Turk di Amazon, altra citazione di una delle più famose leggende del mondo della tecnologia. Il turco meccanico(19) è una "macchina" inventata nel 1769 per simulare un giocatore di scacchi; questa macchina appariva come un automa dalle sembianze umane, ma la parte più affascinante è che l'automa era manovrato da un vero essere umano nascosto al suo interno, una sorta di senso-contro-senso che passò alla storia. 2.3.2 Binary Counter, Lyckegaard, Bierbower e Noble, 2011 Progetto di tre studenti del CIID (Copenhagen Institute of Interaction Design) realizzato durante un workshop tenuto da Massimo Banzi, David Mellis e David Gauthier. Si tratta di un display interattivo e di uno strumento educativo per bambini, il quale li aiuta a comprendere gli elementi fondamentali dell'informazione digitale: gli zero e gli uno. Un byte viene suddiviso in 8 bit a ciascuno dei quali viene rappresentato fisicamente e visualmente attraverso servomotori e luci LED. The Binary Counter usa i movimenti generati dai motori per mostrare il cambiamento dei valori in ogni diversa posizione all'interno del byte. I bambini possono veder sollevarsi la scheda relativa ad ogni bit mentre ruotano un disco atto ad incrementare i numeri decimali sullo schermo. Appena iniziano a comprendere il funzionamento, sono in grado di fare calcoli premendo direttamente i pulsanti corrispondenti ai vari bit. Progetto molto interessante per la sua semplicità, per come semplicemente funziona.
2.3.3 Wikipedia's 10th Anniversary, Dean McNamee e Tim Burrell-Saward, 2011 Installazione progettata per i festeggiamenti del decimo anniversario dalla fondazione ufficiale di Wikipedia, tenutasi alla Louise T. Blouin Foundation di Londra l'11 settembre 2011. Un sistema di travatura reticolare metallica correva sopra l'ingresso della fondazione, questa struttura sorreggeva una serie di 18 stampanti sospese connesse a internet, esse stampavano un articolo tratto da Wikipedia ogni volta che questo veniva modificato o creato. Il risultato era un flusso continuo di pagine che, dopo essere state stampate, cadevano dolcemente sul pavimento, sino a ricoprirlo completamente. L'installazione dimostra pienamente la devozione della comunitĂ di utenti che sta dietro a Wikipedia, lo strumento per antonomasia della conoscenza collettiva.
Fig. 2.22 Wikipedia 10th Anniversary. Fig. 2.23 A Bicycle for Two Thousand. Fig. 2.24 Binary Counter.
2.4 Musei e simili Questa è la sezione della ricerca che si avvicina di più al mio progetto di tesi in quanto vengono raccolti alcuni progetti che in diversi modi voglio omaggiare un pezzo di storia più o meno contemporanea. Si tratta di musei, con una reale posizione geografica o collocati semplicemente nel web, linee del tempo, interattive o meno, che raccolgono informazioni relative ad una parte di storia della tecnologia. 2.4.1 Computer History Museum, Mountain View, California Il CHM(20) è l'istituzione leader nel mondo per quanto riguarda la storia dell'informatica, è dove sono collocate le più grandi collezioni di artefatti della computerizzazione, tra hardware, software, documentazione, fotografie ed immagini in movimento. Il museo porta la storia dei computer alla vita, una perla preziosa della museografia. Diverso da altri musei di informatica e computerizzazione perché attraverso il suo sito internet mette a disposizione di tutti, anche coloro che non possono permettersi un viaggio in California per visitare il museo, i suoi materiali d'archivio, molto apprezzabili per la loro ricchezza e ottima catalogazione. Proprio la parte del sito internet è quella che mi interessa di più. Il sito si chiama Revolution: The First 2000 Years of Computing ed è proprio così, sia attraverso la linea del tempo interattiva, che navigando tra le varie "exhibit" proposte. "Exhibit" è il nome con cui le varie sezioni del sito vengono chiamate, come se navigare all'interno del sito fosse un po' come aggirarsi tra le sale del museo. Ed è davvero aggirarsi nei primi 2000 anni della computerizzazione. Qui sono raccolte le migliori foto relative all'argomento che si possono trovare online, la timeline è anche arricchita da molti video, tra cui interviste fatte ad alcuni dei miti dell'informatica. Ma è soprattutto importante il modo in cui il sito
36
Languages | 2. ricerca
riesce a dare una chiara vista d'insieme di quella che è considerata la storia del computing, diversamente da ciò che viene offerto da altri website e, se vogliamo, da Wikipedia, dove è sempre difficile riuscire a farsi un'idea di come andarono le cose, anche se parliamo solo di alcuni decenni fa, le informazioni sono sempre un po' confuse, rimescolate o non riportate completamente. 2.4.2 Adobe Interactive Timeline, www.adobe.com, 2007 Timeline realizzata nel 2007 in occasione del venticinquesimo anniversario dalla fondazione di Adobe Systems. Si tratta di una linea del tempo interattiva che illustra la storia dei primi venticinque anni di Adobe, azienda che ha segnato indelebilmente il modo in cui oggi ci si serve di un computer, soprattutto nel mondo del design. La timeline interattiva, realizzata in Flash, suddivide gli avvenimenti tra quelli propriamente relativi all'azienda, le persone che hanno reso possibili questi avvenimenti, i prodotti via via commercializzati da Adobe e quello che era il panorama dei prodotti rivali, molti dei quali sono poi stati acquisiti da Adobe stessa. Tutto ciò è molto interessante ma la navigazione della timeline non è ottimale, ben diversa da quella del CHM. Impossibile avere una vista d'insieme di tutti gli avvenimenti, difficile ottenere informazioni approfondite, tutti i testi sono semplici immagini non cliccabili che non vanno oltre ad un titolo e sottotitolo. 2.4.3 History of Programming Languages, O'Reilly, 2004 Si tratta di un poster prodotto dalla casa editrice specializzata in trattati di tecnologia O'Reilly. Il poster celebra cinquant'anni di programmazione durante i quali sono stati sviluppati più di 2,500 linguaggi, O'Reilly vuole tirare le somme di questi chilometri di codice scritto da programmatori, evidenziando i cinquanta più importanti linguaggi. Il poster è stato in parte
Fig. 2.25 Screenshot dal sito del Computer History Museum.
Fig. 2.26 Adobe interactive timeline.
Fig. 2.27 Dettaglio del poster History of Programming Languages di O'Reilly.
tratto dal diagramma di Éric Lévénez History of Programming Languages(21), diagramma molto dettagliato, ma non completamente comprensibile. Dunque O'Reilly decise di utilizzare quella ricchezza di informazioni ma rendendola più leggibile. Vennero stabilite delle misure precise, non più i 5,5 metri di lunghezza del poster di Lévénez , ma 45x100 centimetri con linee del tempo multilivello, connessioni fra i vari linguaggi e un chiaro codice colore. Ovviamente questa non è una storia della programmazione né definitiva né assoluta, ma la casa riconosce che comprendere tutti i linguaggi esistenti in un unica visualizzazione sarebbe stato impossibile e illeggibile, decidendo così di selezionare solo i più significativi. 2.4.4 Museum of Obsolete Objects, Jung von Matt/Next, 2011 MOOO è un canale di YouTube realizzato dall'agenzia di comunicazione tedesca Jung von Matt/Next e raccoglie video relativi a tutta una serie di oggetti che sono diventati obsoleti nel corso degli anni. Partendo da penna e calamaio, obsoleti dal 1860, passando per il floppy disk, obsoleto dal 1995, fino ad arrivare a prevedere che il mouse da computer diventerà obsoleto nel 2015. Si inizia questa esplorazione navigando una timeline interattiva dalla grafica molto curata, selezionando poi l'oggetto interessato, facendo così partire il relativo video. Il video inizia con una musica che sembra venuta da programma tv degli anni '70 e introduce l'oggetto in questione, l'anno in cui è stato inventato e l'anno in cui è divenuto obsoleto. Dopodiché una voce dalle sonorità elettroniche ne spiega la funzione. Impressionante l'accuratezza con cui i video sono realizzati e l'ironia coi ogni oggetto viene rappresentato. La collezione di oggetti comprende solo poche decine di esemplari per questo il canale permette anche agli utenti di suggerire ulteriori oggetti secondo loro obsoleti non ancora compresi nel MOOO. 2.4.5 History of the iPhone, CNET UK, 2011 Video che racconta la storia del telefono cellulare a partire dal primo modello disponibile, nel 1983, sino ad arrivare all'iPhone 4S del 2011. Il video, presentato pochi giorni prima del lancio mercato dell'iPhone 4S, vuole posizionare lo stesso iPhone all'interno di un contesto più ampio e per farlo utilizza un'infografica animata. L'iPhone viene suddiviso nelle parti che lo compongono e, parte per parte, viene analizzato come lo sviluppo nella tecnologia o del design dei passati decenni abbia influenzato l'aspetto e il funzionamento dei vari modelli di iPhone. Il risultato del video è una panoramica totale degli avvenimenti che portarono l'iPhone a essere quello che conosciamo, passando per il Motorola DynaTAC (primo esempio di telefono cellulare), ARPANET (prima connessione via internet) e il design di Dieter Rams (da cui l'aspetto di alcuni prodotti Apple ha senza dubbio prese ispirazione). Però il video non è ricchissimo di dettagli, gli avvenimenti scorrono troppo veloci per essere compresi a pieno e l'aspetto grafico non è ben curato, come potrebbe essere quello del Museum of Obsolete Objects
38
Languages | 2. ricerca
descritto sopra. Ma diciamo che assolve bene il suo compito di incasellare l'iPhone all'interno di un sistema più ampio. 2.4.6 The Museum of Me, Intel, 2011 Intel trasforma le memorie virtuali raccolte nel nostro profilo di Facebook in un museo personale. Il tutto è dovuto all'uscita dell'ultimo processore Intel, Core i5(22), per il quale l'azienda ha pensato di fare pubblicità attraverso una applicazione per Facebook. Sembra fatta su misura per tutto quell'esercito di narcisisti che popolano i social network. Vi sia accede attraverso una sezione dedicata del website Intel, si acconsente che l'applicazione si connetta al nostro profilo di Facebook, assicurandoci che le nostre informazioni non verranno salvate o utilizzate in alcun altro modo. Si attende per alcuni istanti che l'applicazione raccolga tutte le mostre informazioni, dopodiché
Fig. 2.28 Screenshot dal Museum Of Obsolete Objects. Fig. 2.29 Alcuni fotogrammi del video History of the iPhone.
l'esperienza inizia: un video 3D che ci porta all'interno di un ipotetico museo alle cui pareti sono appese le nostre fotografie pubblicate su Facebook, i nostri amici e i nostri commenti. Il video è ben fatto, di stile, perché non esagera né nella durata, appena due minuti, né nel modo in cui tratta i contenuti e la musica che lo accompagna ha il compito di lavare via quella nota dozzinale che accompagna un po' sempre le cose relative a Facebook. Di stile ma forse un poco limitato nell'interattività, in fondo si tratta semplicemente di un video, che non ha nemmeno la possibilità di essere salvato, con il quale non possiamo interagire in tempo reale, se non cambiando i contenuti del nostro profilo di Facebook, non possiamo scegliere dove o cosa "guardare" durante la visita nel nostro museo. Ma l'idea rimane interessante, un modo interessante di sviluppare l'idea del museo virtuale. 2.4.7 Art Project, Google, 2011 "Side project" di un gruppo di sviluppatori Google e passato relativamente inosservato, permette di visitare virtualmente 17 dei migliori musei al mondo. La popolare leggenda relativa all'ambiente lavorativo dell'azienda Google dice che tutti i dipendenti hanno la possibilità di utilizzare il 30% dell'orario lavorativo per sviluppare le proprie idee personali, ed è proprio da questo tempo "rubato" che nascono alcune dei migliori progetti che Google ha realizzato negli ultimi anni. Art Project è uno di questi. L'idea principale era quella di utilizzare l'avanzata tecnologia di cui dispone Google per rendere alla portata di tutti importanti opere d'arte. Per questo progetto la squadra di Street View ha sviluppato un novo veicolo chiamato "trolley" in grado di fare fotografie a 360° all'interno di musei, in questo modo è possibile visitare questi 17 importanti musei stando semplicemente seduti davanti al computer. Ma la parte migliore del progetto è la tecnologia "gigapixel"(23) con la quale sono state fotografate le opere. Ogni immagine contiene 7 miliardi di pixel, si può zumare al punto di vedere la pennellate del pittore nel minimo dettaglio. Proprio questo è sorprendente, rimane sì interessante girovagare per le sale di un museo, magari all'altro capo del mondo, ma durante questo tour ci vengono mostrate le abituali immagini da Google Street View(24) a bassa definizione, ci viene quasi difficile proiettarci all'interno del museo. Ma è quando poi scegliamo di guardare un'opera che rimaniamo strabiliati, è possibile vedere tutto fino al minimo dettaglio, quasi meglio che vedendola dal vivo, con il riverbero della luce che ci disturba e la distanza di sicurezza che dobbiamo sempre mantenere per non far scattare nessun allarme. Ultimo aspetto del progetto, a fare un po' da ciliegina sulla torta, è la possibilità di creare la propria collezione d'arte, selezionando le opere che più ci piacciono e raccogliendole in una sorta di galleria personale. Il museo al momento comprende più di mille opere d'arte, ma l'obiettivo del progetto è quello di ingrandire sempre di più la sua collezione virtuale.
40
Languages | 2. ricerca
2.4.8 Adobe Museum of Digital Media, Adobe, 2011 In questo caso si tratta di un museo interamente virtuale, un luogo che non esiste geograficamente, dove vengono raccolte innovative opere d'arte digitale, quindi anch'esse "inesistenti" in un certo senso. Il museo è stato creato per spingere le persone a una riflessione sui nuovi trend culturali, su come le persone vivono e comunicano oggi, come l'impatto dei digital media ha influenzato le nostre vite. L'AMDM come ogni museo tradizionale presenta diverse collezioni aggiornate nel corso del tempo, ma qui finisce ogni connessione con i musei tradizionali. L'AMDM sfrutta a pieno ogni possibilità del mondo virtuale; il museo di per se è un modello 3D sviluppato dall'architetto italiano Filippo Innocenti(25); il risultato è una futuristica struttura interamente visibile, che appare forse un poco disabitata e oscura, dato che nel museo non ci son né oggetti reali né persone reali. Le mostre appaiono come guizzanti fasci di luce nel mezzo dello spazio; quando poi selezioniamo una delle mostre, quello che ci viene mostrato va dall'animazione 3D alla video-intervista al tour virtuale attraverso virtuali opere d'arte. La collezione è ancora un po' povera, non è davvero interessante quello che ci viene mostrato, ma il modo in cui questo ci viene mostrato sembra adattarsi perfettamente allo scopo. L'accuratezza dei dettagli dello spazio e degli elementi di navigazione è quello che più colpisce in questo museo digitale.
Fig. 2.30 Alcuni frammenti del tour attraverso il Museum Of Me, Intel.
Fig. 2.31 Dettaglio dell'opera I mietitiori di Pieter Bruegel, 1565, compresa nel Art Project.
Fig. 2.32 Dettagli del Museum of Digital Media di Adobe.
42
Languages | 2. ricerca
3. Sviluppo progettuale
3. Sviluppo progettuale 3.1 Come si comincia? 3.2 Le prime idee 3.3 Scavando, chiedendo, indagando 3.4 Cosa è già stato fatto sul tema?
3.4.1 The Evolution of the Web 3.4.2 Jed's Other Poem (Beautiful Ground) 3.4.3 Once Upon a Time 3.4.4 The Restart Page
3.5 Come iniziare a progettare? 3.6 Per chi progettare? Utenti e scenari 3.7 Che linguaggio/strumento usare? 3.8 I tentativi
44
Languages | 3. sviluppo progettuale
3. Sviluppo progettuale 3.1 Come si comincia? Una precisa domanda è stata la scintilla a far scattare le prime idee progettuali: come si fa a parlare con una macchina? E' sempre stato usato il linguaggio ultra-intuitivo dei giorni nostri, o prima le cose erano diverse? Stando seduta di fronte allo schermo 15 pollici LCD del mio laptop, interagendo fulmineamente con esso, senza quasi la necessità di pensare a come "spiegare" al computer cosa voglio fare, ma semplicemente facendolo, insomma, di fronte a queste magie quotidiane mi sono chiesta: prima invece com'era? A prescindere dall'evoluzione tecnologica che oggi ci permette di fare cose inimmaginabili venti o trenta anni fa, quello che più mi ha fatto pensare è il come facciamo tutte queste cose. Se oggi ci basta muoverci nello schermo sfiorando il nostro trackpad, cliccare su una bella iconcina e accedere immediatamente a ciò che ci serve, aprendolo con il programma che ci serve, in passato quante e quali operazioni avremmo dovuto compiere per questo genere di attività quotidiane. Come interaction designer mi sono sentita la persona più adatta a pormi queste domande. Un interaction designer durante il corso dei suoi studi o dello svolgimento della sua professione si imbatte senza alcun dubbio in qualche stringa di codice. Noi siamo a cavallo tra il design tradizionale e l'informatica, indubbiamente più ferrati sul primo argomento, in pochi abbiamo reali basi di elettronica/informatica; ma dato che amiamo "far muovere le cose", come mi piace spiegare quando qualcuno che non ha idea di cosa sia l'interaction design mi domanda cosa faccio, ci tocca per forza imparare a parlare almeno un po' il vero linguaggio dei computer. Ed è a questo punto che tutte le domande sorgono: quando decidi, da profano, di imparare a programmare e ti trovi di fronte a questi linguaggi moder-
ni che però conservano ancora la memoria di quelli che erano i linguaggi uomo-macchina del passato. Appunto perché nel passato, l'unica maniera di chiedere al computer di fare ciò di cui avevi bisogno era quella di parlare nella sua lingua, il codice. Questo codice non ha mai smesso di cambiare ed evolversi: da estremamente complicato, comprensibile solo a scienziati o ingegneri dotati di estrema pazienza e veramente portati per la matematica, "dettato" solo attraverso le levette e i pulsanti presenti sul pannello di controllo del calcolatore, senza possibilità di essere memorizzato né visualizzato in alcun modo, si è trasformato, ha modificato i metodi di trasmissione e la sintassi, sino ad arrivare a quello che conosciamo oggi: estremamente veloce, dal feedback accurato e comodamente digitabile sulla tastiera del nostro computer portatile, quasi come se si scrivesse in una lingua corrente. Non è tutto ciò affascinante? Lo è soprattutto perché a me sembra già estremamente difficile capire e scrivere questa "lingua corrente", quindi mi appare ancora più affascinante scoprire quali fossero gli sforzi estremi compiuti da qualcuno che faceva trent'anni fa ciò che faccio io oggi.
3.2 Le prime idee Non è stato per niente facile indirizzare tutti questi ragionamenti verso un progetto vero e proprio. Ma d'altro canto se mi fossi concentrata solo sulla ricerca il risultato sarebbe stato il racconto di una principiante che scopre l'informatica per la prima volta, non così interessante e un po' patetico. Ma è stata proprio questa ingenuità/ignoranza a spingermi verso i concetti alla base del mio progetto: come si potrebbero spiegare tutte queste cose estremamente complicate ma interessanti ad un principiante? Ovviamente questa non è stata la prima frase che mi sono
45
detta una volta iniziate le fasi preliminari della progettazione. Prima sono venuti ragionamenti a proposito della natura dei linguaggi artificiali, che sarebbero una proiezione della mente umana, o per lo meno di come viene immaginato il suo funzionamento. Questa ipotesi è cambiata nel tempo, non solo a causa dell'evoluzione tecnica che nel corso degli anni permetteva una sempre maggiore libertà d'azione all'uomo, ma soprattutto perché le persone hanno modificato la loro percezione del funzionamento della mente, come ci insegnano Bush e Licklider. Dopodiché è stato il momento per l'analisi della relazione tra uomo e computer, che nel corso del tempo avrebbe seguito una curva esponenziale. In un primo momento i computer potevano aiutare solo parzialmente la mente umana, l'uomo doveva comunque pensare, ricordare e sapere molte cose per essere in grado di parlare con una macchina. Dopo l'aiuto dato dal computer era pari allo sforzo compiuto dall'uomo, era ovviamente molto più facile e veloce far fare i calcoli alla macchina invece che usare semplicemente il proprio cervello. Oggi l'utilizzo del computer sta in qualche modo rovinando le capacità cognitive dell'uomo; nessuno è più in capace di ricordare le cose, nessuno usa più il proprio cervello a pieno, dato che c'è il computer che è in grado di rimpiazzare molte delle funzioni della mente umana. Ma tutti questi ragionamenti a cosa possono mai portare? In un terzo momento la mia attenzione si è concentrata maggiormente su cose più pratiche, come il modo in cui viene trattato l'argomento da altri, altri che hanno voluto raccogliere, raccontare, visualizzare la storia della computerizzazione e dei linguaggi uomo-macchina. Ed è proprio questa analisi che mi ha avvicinato al concetto finale. Nella maggior parte dei casi i progetti realizzati, che siano website, infografiche o simulatori, non sono elementi altamente interrativi, e se lo sono non si tratta di cose esattamente user-friendly. E' sempre molto difficile farsi un'idea generale dell'argomento trattato, oppure questo argomento viene illustrato in maniera troppo complicata e non attraente per persone che non conoscono già molto la programmazione e l'informatica. Molto spesso è più semplice e più immediata una ricerca incrociata su Wikipedia, confrontando le informazioni raccolte sulle piattaforme di cui sopra. Ed proprio durante una di queste ricerche che la famosa lampadina si è accesa. Wikipedia è un'enciclopedia estremamente ricca che, per lo meno in lingua inglese, è anche in grado di dare informazioni approfondite, ma non c'è alcun paragone tra la descrizione più dettagliata di un linguaggio di programmazione o di un vecchio computer ed una semplice immagine che mostra di cosa si sta effettivamente parlando. Se si decide di fare una ricerca su un determinato linguaggio o un determinato computer, una schermata dello stesso vale molto di più delle parole usate per descriverlo, ovviamente non è sempre possibile trovare queste immagini, ma quando capita è quasi emozionante, è come trovarsi veramente di fronte a quel computer o a quel codice.
46
Languages | 3. sviluppo progettuale
Fig. 3.1 Due schermate dell'emulatore ancora scaricabile da internet del computer Commodre Amiga (1983).
3.3 Scavando, chiedendo, indagando Giunta a questo punto il mio interessamento e fascinazione per il mondo dell'informatica e la sua storia era alle stelle, ormai non potevo più levarmi dalla testa questo tema, che forse può sembrare scontato o non esattamente utile a qualcuno, ma per me è sempre stato il solo ed unico argomento che aveva continuato a ronzarmi nella testa per tutto il tempo. Dunque cosa fare? Da qui si poteva andare in una sola direzione, scavare sempre più a fondo nel mondo del computing. Da una ricerca generale a proposito di tutto ciò che avesse a che fare con i computer, sin dai primi esemplari costruiti negli anni '40, ho cercato di concentrarmi sempre di più su quelle che erano le routine di utilizzo,
per cercare di capire come le persone usassero queste macchine quotidianamente. E proprio questo è stato un pezzo difficile, perché è molto più facile trovare articoli, tesi di dottorato e libri a proposito dei più specifici dettagli tecnici di un computer, piuttosto che scritti che descrivano quale fosse poi l'effettivo utilizzo di una macchina. Nel mondo esistono alcuni musei di informatica che conservano macchinari rarissimi di tutte le epoche, ma essi sono principalmente localizzati negli Stati Uniti o in Gran Bretagna. Sono senza dubbio luoghi molto interessanti da visitare, ma pochi di questi danno ancora la possibilità di accendere e provare le macchine ai visitatori, e meno ancora possiedono piattaforme online che permettano di fruire i contenuti anche a chi non può permettersi un viaggio in questi paesi. Ad esempio il Computer History Museum, in California, è quello che probabilmente possiede la maggiore varietà di computer ed il migliore materiale d'archivio, raccolto in un bel website; ma quello che può essere trovato online non è interattivo, si tratta più che altro di un sistema di consultazione enciclopedica. Gli utenti hanno la possibilità di vedere molte fotografie ad alta definizione degli stessi computer presenti nel museo, ma non possono realmente interagire con essi, non si è in grado di immaginare come apparisse poi la macchina funzionante. Facendo queste investigazioni, durante la mia internship a LUSTlab(26), studio di interaction design che si trova nei Paesi Bassi, mi è capitato spesso di fare domande relative a questa quotidianità che tanto mi affascinava ai miei colleghi e, dato che LUSTlab possiede una forte inclinazione tecnologica, era proprio il posto giusto dove porre le mie domande. Posso dire che lo svolgimento di questa internship abbia influenzato molto quello che sarebbe stato il carattere finale del progetto. A LUSTlab ho scoperto dell'esistenza degli emulatori, applicazioni progettate da qualche amante della tecnologia, open suore, che dopo essere state scaricate permettono di ricreare nel proprio computer l'ambiente lavorativo di molti computer del passato. Si tratta di strumenti interessantissimi, ma estremamente difficili da utilizzare e da trovare. Ed stata proprio questa difficoltà a farmi riflettere: sarebbe mai stato possibile che uno dei "profani" di cui sopra fosse in grado di trovare questi emulatori e di utilizzarli? E se poi ci fosse riuscito, sarebbe stata reale l'informazione che ne avrebbe ricavato? Visto che anche questa era una carenza dei suddetti emulatori: è possibile reperirli magari in qualche nascosto angolo della rete, su website incomprensibili; dopodiché vanno cercate le istruzioni per l'uso e i programmi da installarvi in luoghi simili, e quasi mai è possibile trovare una buona descrizione di ciò che si sta scaricando. Ed è qui che mi chiedo, quale sarebbe la reale informazione appresa da chi utilizza questi emulatori. Perché non mescolare le due modalità, quella enciclopedica e quella pratica? Proprio a questa domanda sto cercando di rispondere ora con il mio progetto.
Fig. 3.2 Immagini tratte da Commodore 64 User's Guide del 1982, manuale distrubuito insieme ad ogni C64. 47
3.4 Cosa è già stato fatto sul tema? Questa è una domanda che bisogna sapersi porre se si vuole fare il designer, altrimenti ci si ritrova con qualcosa che si crede unico ma che ovviamente e non lo è. Quindi è più conveniente trarre beneficio da altri progetti simili al nostro, invece che ignorarli o esserne intimoriti. Se qualcuno ha già analizzato il tema di nostro interesse in primo luogo significa che questo tema è interessante anche per qualcuno diverso da noi, quindi è una cosa positiva; in secondo luogo siamo avvantaggiati perché possiamo analizzare il lavoro fatto da altri, traendone ispirazione, notando pregi e difetti, ancora prima di iniziare il nostro di progetto. In questo sottocapitolo ho raccolto principalmente progetti che ho trovato nella rete, essendomi già indirizzata verso il web come media per contenere il mio messaggio; i progetti trattano di tecnologia, di computing e della storia di queste cose, la cosa più interessante è il carattere con cui il tema viene affrontato. Se stiamo navigando all'interno di un sito internet oggi, significa che stiamo utilizzando un computer del 2012, con un browser del 2012 e siamo davanti a tecnologie che possono essere vecchie di vent'anni, capite che questo contrasto tra tecnologie di diversi tempi va studiato e ponderato bene. 3.4.1 The Evolution of the Web, Google, 2011 Si tratta in questo caso di una web app sviluppata da alcuni "amici del team di Google Chrome", così come si autodefiniscono nei crediti. L'applicazione è interamente costruita utilizzando HTML5(27), quindi non si tratta di niente più che HTML tradizionale, CSS e JavaScript(28). Nello specifico, per rendere interattiva la parte centrale, riempita con un un intricato disegno, gli sviluppatori si sono serviti di una tecnica molto in voga al momento che consiste nell'animare un'immagine in formato SVG, formato che può essere ottenuto direttamente con Adobe Illustrator. Dopo aver esportato il disegno vettoriale in questo formato, caricandolo su di un qualunque database online, viene generato un documento XML, cioè un documento di testo che descrive la nostra immagine. Fatto tutto questo è relativamente semplice manipolare tutti gli oggetti all'interno dell'immagine, rendendoli interattivi in determinati frangenti. Ciò di cui parla l'applicazione è l'evoluzione del web, o meglio l'evoluzione di ciò che l'utente medio non considera nemmeno: tutto l'universo di tecnologie web e browser che rendono la navigazione di Internet possibile. Da Mosaic a Netscape alle più aggiornate versioni di Chrome e Safari, The Evolution of The Web ci mostra su una linea del tempo che comprende gli anni dal 1990 al 2012 la maniera in cui sono nati, si sono sviluppati e sono morti tutti questi browser, le applicazioni e i linguaggi da loro supportati. Per ogni browser e ogni versione realizzata di esso sono presenti screenshot e descrizioni; il dettaglio più bello di questo progetto è la sua semplicità d'uso, e la maniera lineare in cui tutte le transizioni avvengono. Molto bello e usabile, ma anche limitato nel genere di informazione che il visitatore ricava, infatti, fatta eccezione per qualche schermata e qualche breve descrizione, il resto consiste nel bel disegno all'interno di una linea del tempo.
48
Languages | 3. sviluppo progettuale
Fig. 3.3 Screenshot dal sito The Evolution of the Web.
3.4.2 Jed's Other Poem (Beautiful Ground), Stewdio, 2005 Jed's Other Poem è una canzone dell'album The Sophtware Slump registrato nel 2000 dalla band americana Grandaddy(29). La canzone parla di un robot, Jeddy-3, assemblato con pezzi di scarto che, prima di rompersi, scriveva poesie, poesie per nessuno. Il video realizzato cinque anni dopo dallo studio londinese Stewdio(30) è un capolavoro di arte digitale. Si tratta di un'animazione scritta in BASIC su un Apple II del 1979, poi filmata e sincronizzata con la musica della canzone. Di una semplicità estrema quasi ipnotizzante. Molto semplice anche la raffinatezza dentro/fuori dallo schermo a cui si assiste nel finale. Per tutta la durate della canzone si immagina che il video sia realizzato con tecniche moderne, usando semplicemente un carattere tipografico da vecchio terminal; poi sul finire si assiste allo zoom out, ed è tutto vero! Per di più i "titoli di coda" del video sono composti dal codice sorgente che ha generato l'animazione. Infatti si tratta di un codice open source, che chiunque può scaricare da internet; anche questo dettaglio va brevemente analizzato: se il codice originale è stato scritto in BASIC, direttamente sull'Apple II e, dato che l'animazione dura tre minuti, vi posso assicurare che il codice non doveva essere molto breve, com'è possibile che sia poi disponibile per il download? "Semplice", l'Apple II possiede un dispositivo di audio-out usato in passato per salvare dati su audio cassette, l'autore del video ha connesso l'audio-out del vecchio computer all'audio-in del suo moderno laptop, registrando il rumore prodotto; caricando poi la traccia audio su un emulatore virtuale dell'Apple II e salvandola come cassetta virtuale(31). L'autore dichiara che questo sia il primo video musicale open suorce mai realizzato, probabilmente perché non molti altri sono stati scritti in un qualche genere di linguaggio di programmazione. Quindi qui ci troviamo di fronte ad un miscuglio di tecnologie vecchie e nuove, emulazioni di esse e uno strumento espressivo noto a tutti, come il videoclip e ciò che ne risulta è molto buono. 3.4.3 Once Upon a Time, Olia Lialina e Dragan Espenschied, 2011 Website costruito dai due artisti "digitali" russi Dragan Espenschied e Olia Lialina che hanno deciso di realizzare tre delle più famose piattaforme online del momento come se fossero state fatte nel 1997. Su Once Upon a Time è possibile vedere e usare Google+, YouTube e Facebook perfettamente resi come pagine web degli anni '90, con gli HTML Frame, internet a 8Kb per secondo e possibilmente all'interno di vecchi computer con schermi a tubo catodico, e con sistema operativo Windows 95; stando alla descrizione fatta dagli artisti presente nella homepage. Il grande lavoro fatto si nota nei piccoli dettagli, come la libertà di utilizzo dei tre noti website, non si tratta di niente di "finto", gli utenti possono davvero navigare, cliccare e fare ricerche, semplicemente tutto ciò che viene visualizzato sembra arrivare dritto dritto dalla metà degli anni '90. Perché è questa la bellezza del web, nonostante oggi ci siano HTML5 e WebGL, gli antichi protocolli, codici e immagini
49
usati negli anni '90 valgono ancora e vengono visualizzati da qualunque browser; ovviamente la tecnica utilizzata è puro e semplice codice HTML. Questo lavoro artistico è come se fosse più ermetico dei primi due descritti, come se il messaggio che manda restasse sempre non molto chiaro, forse perché troppo puntualmente vicino alla realtà del 1997, senza però spiegarne veramente le motivazioni. 3.4.4 The Restart Page, Soon in Tokio e Rehab Studio, 2012 Progetto comune di Soon in Tokio e Rehab Studio, è una pagina internet dove è possibile riavviare all'infinito sistemi operativi del passato, da vecchi Apple a Windows a Commodore e via dicendo. La pagina si apre con una composizione di process bar vintage, per poi catapultare il visitatore in una distesa di messaggi di rebooting, più di 15, e tutti funzionanti. Cioè, cliccando una qualunque di queste finestre che ci viene chiesto se siamo sicuri di voler riavviare il computer, il computer scelto viene riavviato veramente, in 15 diverse combinazioni. In questo caso analizzando il codice sorgente si nota il grande grande lavoro svolto dagli sviluppatori, che hanno realizzato una per una tutte le schermate di riavvio presenti nel sito, facendo "semplicemente" uso di JavaScript. E' davvero ammirevole come qui non sia stato realizzato nemmeno lontanamente l'emulatore di un vecchio computer, ma si è invece voluto sottolineare solo un piccolo dettaglio di molti computer del passato, un momento molto delicato, in cui spesso si rischia (o meglio si rischiava) di buttare via ore e ore di lavoro, l'attimo in cui il computer domanda all'utente se è sicuro di voler riavviare il computer. Probabilmente i messaggi visualizzati in queste finestrelle sono stati l'incubo dei possessori di quei computer, è quindi molto delicato il fatto che siano stati tutti raccolti in una moderna pagina internet, a disposizione per chiunque si fosse scordato l'effetto.
Fig. 3.4 Alcuni fotogrammi del video Jed's Other Poem (Beautiful Ground), musica dei Grandaddy, video realizzato da Stewart Smith. 50
Languages | 3. sviluppo progettuale
Fig. 3.5 Screenshot dal website/opera d'arte Once Upon a Time.
Fig. 3.6 Screenshot dal website The Restart Page.
3.5 Come iniziare a progettare? Ma più concretamente, come iniziare a progettare? Si può dire che questo inizio sia stato ripetuto svariate volte, rincorrendo prima una poi l'altra, poi l'altra idea ancora. Fare una mappa geografica che raccontasse delle persone e delle cose implicate in questa storia. Oppure riprodurre fisicamente prototipi dei vari computer, più o meno vicini alla realtà, per poi filmarli e raccogliere questi filmati in un website. O magari collezionare per davvero vecchie macchine, imparare ad usarle e quindi trasformare il progetto in un'installazione, in un pezzo di museo reale. Tutte queste idee hanno tentato di diventare progetti, hanno visto i primi passaggi della progettazione, ma sono poi state accantonate. In quel preciso momento, sempre durante la mia internship a LUSTlab, avevo preso parte al progetto di una web application per iPad che raccoglieva i lavori degli studenti delle accademie olandesi, da presentare alla Dutch Design Week. La cosa più interessante del progetto era il modo in cui i vari materiali si volevano catalogare, collegare e presentare. L'applicazione doveva essere altamente comprensibile e fruibile attraverso svariate chiavi di lettura, con un buon sistema di link interni ed esterni. Quindi ho pensato, perché non fare anch'io una piattaforma web? Tutto questo mondo mi ha sempre interessato, e mi diverto sempre a commentare siti internet navigabili o meno. Perché costruire un sito internet è un po' come infilarsi nella testa di qualcuno che non conosci e che ipoteticamente sa a mala pena cosa significa "cliccare", ma anche lui deve essere in grado di capire cosa gli vuoi dire e come usare il tuo sito. E se il mio sito fosse stato anche accessibile da tablet e smartphone ancora meglio. Questo website avrebbe dovuto rispecchiare la volontà di stare a metà tra qualcosa di puramente istruttivo e qualcosa di pratico, utilizzabile da tutti. Se quindi si parla di un sito internet tutto è più chiaro. Si inizia raccogliendo le informazioni, le storie; per fare ciò ho deciso di basarmi principalmente su un libro che racconta una buona storia della computerizzazione con questa inclinazione alla quotidianità che tanto mi piace, A History of Modern Computing di Paul Ceruzzi. Ma per quanto riguarda questo punto non è tutto così semplice come sembra; infatti il libro di cui sopra è molto interessante ma, come in molti altri trattati, vi è possibile trovare solo una minima parte di "computing-per-tutti". Vi si trova invece un buon 80% di dettagli altamente tecnologici e solo 20% del libro si riferisce alle vere storie relative all'utilizzo delle macchine. Infatti non è ovviamente sufficiente un solo libro per perseguire il mio scopo, con la sicurezza che i miei argomenti siano esatti. Mi devo servire di testimonianze, vecchie fotografie e soprattutto vecchi filmati. Posso quasi dire che la preparazione teorica del sito richieda lo stesso tempo e la stessa cura della sua realizzazione. Dopo aver stabilito i contenuti vanno raccolti e lavorati i materiali, le immagini, per questo ovviamente mi sono servita della precedente ricerca fatta nella rete, dove sapendo cosa
52
Languages | 3. sviluppo progettuale
cercare si può trovare tutto ciò che si vuole, ritrovandomi così con una grande collezione di immagini relative a vecchi computer, tutte ad alta risoluzione. Dopo la raccolta dei materiali e delle informazioni va definita la tassonomia con cui vi si accede, il modo in cui le informazioni vengono raccontate e sono collegate tra di loro. Ultimo passaggio è quello di costruire effettivamente il website, che avrebbe dovuto conservare tutte le caratteristiche di un vero sito internet, ma con l'aggiunta di quelle di applicazione.
"I had just earned my one and one-half stripes when I reported to Harvard. There Howard Aiken showed me a large object and said: 'That's a computing machine'. I said,'Yes, Sir'. What else could I say? He said he would like to have me compute the coefficients of the arc tangent series, for Thursday. Again, what could I say? 'Yes, Sir'. I did not know what on earth was happening." Grace Hopper, matematica, informatica e militare statunitense(32).
Fig. 3.7 Fotogramma del filmato Punching data on computer cards prodotto dal dipartimento di chimica del-l'Università del Queensland nel 1969.
3.6 Per chi progettare? Utenti e scenari
"I had a running compiler and nobody would touch it. They carefully told me, computers could only do arithmetic; they could not do programs." Grace Hopper.
Quando si inizia progettare qualcosa "liberamente", cioè senza aver ricevuto alcun genere di commissione, proprio come per un progetto di tesi, nel subconscio si indirizza sempre il progetto a se stessi, come se gli utenti futuri dovessero essere una nostra replica esatta. Dico questo perché si tratta proprio degli stessi passaggi che il mio progetto ha seguito: si sceglie un argomento, si ragiona su quale potrebbe essere una soluzione progettuale per quell'argomento, poi ci si scorda completamente che il progetto non è fatto solo per noi stessi e si inizia a progettare qualcosa che personalmente traviamo gradevole e reputiamo ragionevole. Solo in seguito si ritorna sui propri passi e si riflette sulle caratteristiche dei possibili utenti, dato che dovranno pur essercene, cercando di modificarli: da nostri cloni a persone con età e interessi solo simili ai nostri. Il risultato è che gli utenti di Languages sono persone tra i 15 e i 30 anni di età, che per motivi temporali non hanno "vissuto" le storie di cui Languages parla, essi hanno iniziato ad usare il computer quando tutto era ormai diventato molto facile. Sono
53
persone che studiano e che si interessano, a cui piace scoprire cose nuove. I miei utenti non sono altamente "tecnologizzati", sanno usare un computer, come tutti sanno ormai fare, ma certamente non si tratta di ingegneri informatici. Quando e come verrà utilizzato Languages? Una caratteristica importante del mio progetto è che vuole essere raggiungibile e utilizzabile ovunque, con qualunque genere di dispositivo, che si tratti di un computer fisso, portatile o di una tablet. Ma ciò non significa che non vi siano luoghi privilegiati per la navigazione di questo website. Per esempio un museo della scienza e della tecnica "illuminato" come lo Science Museum di Londra, dove, magari presentato su un un touch-screen, potrebbe essere mostrato Languages, che farebbe quindi da supplemento interattivo a ciò che il museo mette in mostra. Allo Science Museum esiste già una sezione dedicata al computing, dove viene suggerito un percorso attraverso l'evoluzione dei computer, con l'esposizione di alcuni dei più antichi computer al mondo, fino ad arrivare alla tecnologia dei giorni nostri; ma, per ovvie ragioni, i visitatori non hanno la possibilità di toccare o provare nulla. Se un museo come questo scegliesse di servirsi di Languages, in primo luogo ai visitatori sarebbe data la possibilità di capire meglio il funzionamento delle macchine che gli stanno davanti, dato che, in fondo, un computer si trasforma una sorta di mobile ingombrante quando è spento. In più la piattaforma online si potrebbe adattare al museo, aggiornando i propri contenuti in base a ciò che è veramente possibile vedere all'interno dell'esposizione. Ultimo particolare, non trascurabile, i contenuti sarebbero sempre disponibili per chiunque; per chi ha già visitato il museo e vorrebbe ricordare ciò che ha visto, e per chi invece il museo non lo può visitare perché, magari si trova in un altro paese.
Fig. 3.8 Cervello di Charles Babbage, precursore del computing, conservato allo Science Museum di Londra.
3.7 Che linguaggio/strumenti utilizzare? Quale sarebbe stato il modo migliore per perseguire il mio scopo? Come potevo fare ciò che volevo con le caratteristiche sopra descritte? Come già detto io sono una profana, non ho una buona base tecnologica e non sono una programmatrice. Quindi la prima idea che mi è venuta è stata quella di fare un video dimostrativo che spiegasse esattamente quale fosse il funzionamento del website. Ma così facendo non avrei rinnegato in qualche modo quello che era il mio "credo" del momento? Non sono tanto affascinata dai linguaggi che parlano le macchine? Perché allora ridurre tutto ad un semplice video? E' vero che i linguaggi di programmazione mi affascinano, ma è anche vero che io non li conosco, non li so parlare. Nonostante ciò ho deciso che un'altra caratteristica fondamentale di questo progetto sarebbe stata la sua veridicità. Non avrei incluso nel progetto nulla che non fossi stata in grado di realizzare veramente. Quindi era giunto il momento di imparare qualcuna di queste lingue. I tre linguaggi principali a cui ho pensato sono stati HTML5, Flash (quindi
ActionScript) e JavaScript. Per quanto riguarda il primo ho poi scoperto che sarebbe stato comunque necessario integrare parti di JavaScript, mentre invece Flash viene deprecato da chiunque sappia qualcosa di programmazione o di web design, perché assolutamente ottuso e unfriendly. Rimaneva così solo JavaScript. JavaScript (JS) è un linguaggio di scripting orientato agli oggetti diffusamente usato nel web, standardizzato per la prima volta tra il 1997 e il 1999. È come se fosse la parte interattiva di un sito internet tradizionale, è il tocco in più che lo avvicina ad una applicazione. JS si va sempre ad affiancare a codici in CSS e in HTML, le tre parti crescono e si sviluppano insieme creando quello che sarà poi il website. La caratteristica principale di questo linguaggio è che non viene compilato, quindi il programma utilizzato per scriverlo, normalmente un editor di testo. Quest'ultimo non è davvero in grado di dirci se ciò che abbiamo scritto è giusto o sbagliato. Ma non venendo compilato viene invece interpretato, interpretato direttamente dal browser che utilizziamo per visualizzare la pagina creata. Il modo in cui questi tre linguaggi cooperano è piuttosto semplice; come molti sapranno, con HTML si definiscono gli oggetti presenti nella nostra pagina, i loro contenuti, le immagini, e i link, con CSS si dà loro uno stile, si modifica il loro aspetto. JS va invece a richiamare i vari elementi sia in HTML che in CSS rendendoli interattivi, dando loro istruzioni da eseguire in certe situazioni, per esempio. Molti trovano che il codice JS puro sia ancora piuttosto complesso, che questo "richiamare" gli elementi sia troppo articolato; così nel 2006 è stata creata una libreria per JS chiamata jQuery(34), il cui unico obiettivo è quello di semplificare la vita ai programmatori. jQuery rimane sempre basato su JS, ma riduce molto la quantità di codice che va scritto per fare ciò che normalmente JS fa. Per esempio, e chiunque l'abbia mai usato lo ricorderà, il simbolo più ricorrente in questo linguaggio è "$", scelto da chi creò la libreria perchè non troppo usato altrove, quindi ancora "vergine" e libero da altri significati. Con questo simbolo, come per magia, si può scavalcare tutta la gerarchia che costituisce un website, e si può richiamare e modificare (o animare) solo l'elemento desiderato, semplicemente scrivendo il suo nome dopo aver digitato il simbolo del dollaro. Ho quindi deciso di utilizzare JavaScript con libreria jQuery e, nonostante la mia assoluta ignoranza a proposito di web design, devo ammettere che pian piano sto venendo a capo di ciò che mi sono preposta: progettare solo ciò che sono in grado di fare veramente.
Fig. 3.9 Codice JavaScript scritto e visualizzato sull'editor Eclipse. 55
3.8 I tentativi Una volta stabilito a chi sarebbe dovuto essere indirizzato il progetto, quali sarebbero state le sue caratteristiche, quale sarebbe stato il linguaggio usato, bisognava solo mettersi a realizzarlo. Languages è un progetto nato e sviluppatosi in maniera non lineare. Ho iniziato con un'idea, o meglio con una serie di parametri che il progetto avrebbe dovuto seguire o meno; come l'essere screen-based, l'argomento di cui avrebbe trattato, il fatto di volerlo costruire per davvero; e questo era più o meno tutto. Tutto il resto è venuto pian piano, mentre avevo già iniziato a fare le prime prove di prototipo, concentrando la mia attenzione sia sull'aspetto esteriore che sul che messaggio che sarebbe stato mandato, ho pian piano aggiustato il tiro e definito meglio l'idea, aggiunto dettagli. Ma proprio per la natura instabile del progetto posso dire di non avere mai finito; ogni giorno mi viene in mente qualcosa di nuovo che potrebbe migliore leggermente il tutto e, se ancora possibile, lo aggiungo e Languages cambia faccia per l'ennesima volta. Questo mio aggiungere, modificare, migliorare si concentra soprattutto sulla parte di programmazione del prototipo, fondamentale. Il website è stato solo brevemente progettato con in maniera tradizionale, cioè con schizzi, prove grafiche e flowchart, non che mi vanti di questo, so che è il modo sbagliato per iniziare un progetto; ma quasi subito il prototipo ha preso il sopravvento, ho pensato immediatamente che disegnare le cose invece che farle davvero non mi aiutava certo ad avere un'idea complessiva di come sarebbe poi apparso il website finito. Quindi, lasciando a metà i miei schizzi ho tradotto tutto in forma di codice, visualizzandolo in un browser invece che in Adobe Illustrator. In più la prototipazione è di grande peso sul bilancio finale del progetto, dato che che una delle caratteristiche principali di Languages è la sua veridicità, cioè tutto ciò che viene "ufficialmente" compreso nel progetto deve essere vero e veramente realizzato. Ma che altro fare? E' risaputo che a seconda di come una cosa viene detta, il messaggio viene recepito o meno, e questa regola vale ancora di più se si parla di un sito internet il cui messaggio è indirizzato a perfetti estranei, possibilmente localizzati il più lontano possibile da noi. Quindi se la forma con cui cerco di mandare il mio messaggio non è perfetta, questo messaggio non verrà mai capito, e per questo dò così tanta importanza alla forma del prototipo (cioè quello che gli utenti vedranno quando la piattaforma sarà online), tanto da non finire mai di migliorarla.
Fig. 3.10 Primi schizzi realizzati durante lo sviluppo della linea del tempo/homepage.
Fig. 3.11 Vari screenshot scattati durante la lavorazione del sito internet Languages. 56
Languages | 3. sviluppo progettuale
58
Languages | 3. sviluppo progettuale
4. Il progetto finale
4. Il progetto finale 4.1 Costruzione del museo virtuale 4.2 Il prototipo 4.2 Il prototipo 4.2.1 Mouseover 4.2.2 Pop-up 4.2.3 Emulators on 4.2.4 Tag 4.2.5 Emulatori 4.2.6 Passaggi 4.2.7 Dettagli
4.3 La linea del tempo 4.4 L'evoluzione del computing 4.5 L'ulteriore livello 4.6 Gli emulatori 4.7 Languages/linguaggi 4.8 La programmazione
60
Languages | 4. il progetto finale
4. Il progetto finale Languages nella sua forma finale è un museo virtuale che racconta la storia del computing, a partire dagli anni '40 fino ad arrivare al 2000. La chiave di lettura per questa specifica storia è basata principalmente su un'analisi della quotidianità nell'utilizzo dei computer, sin da quando queste macchine hanno iniziato a chiamarsi tali, con la costruzione dell'ENIAC (Electronic Numerical Integrator And Computer) nel 1946. In Languages vengono evidenziati alcuni dei più importanti passaggi dell'evoluzione tecnologica legata all'informatica, utilizzando questi dati tecnici per definire quale sia la relazione tra la tecnologia e il regolare utilizzo delle macchine in questione. L'intento di Languages è quello di essere facilmente comprensibile anche a chi non si è mai particolarmente interessato di informatica; per fare ciò nel museo le informazioni vengono dipartite su diversi livelli, in modo da permettere allo stesso visitatore di decidere quanto approfondire un determinato argomento.
4.1 Costruzione del museo virtuale Il museo virtuale altro non è che un sito internet, accessibile da qualunque luogo e con qualunque dispositivo, dato che basato su una piattaforma "liquida" che utilizza un linguaggio compatibile non solo con normali pc ma anche con tablet e via dicendo. Il museo è costruito su diversi livelli di informazione identificabili con il numero di "click" che si compiono su una determinata pagina. L'informazione viene rilasciata gradualmente, solo se il visitatore è ulteriormente interessato, accederà ad un ulteriore livello informativo, più dettagliato ed approfondito. Ovviamente uno dei parametri fondamentali su cui si basa il sito internet è quello temporale; i vari avvenimenti vengono tutti collocati in un definito specchio temporale. Il secondo dei
parametri principali di Languages è la connessione che c'è tra ogni elemento e il tutto. Per questo il carattere temporale si limita a contestualizzare un determinato evento, ma è poi il carattere di interconnessione che racconta la fetta più grande della storia, mettendo in relazione questo elemento con il tempo ma anche con tutti gli altri elementi. A questi primi due paradigmi si va poi ad aggiungere il carattere "quotidiano" che ogni affermazione presente nel sito internet deve avere. Quindi, se si parla di un determinato oggetto come potrebbe essere un comune dispositivo per input come il mouse, basandomi sulle regole sopra citate, definirò quando è stato inventato, come questo oggetto si va a posizionare nell'universo dell'informatica, e come il mouse viene utilizzato tutti i giorni. Il website è suddiviso su tre livelli informativi principali: la linea del tempo, l'evoluzione del computing e gli emulatori. Il primo livello che si incontra è quello rappresentato dalla linea del tempo a cui, se ulteriormente interrogata dal visitatore, si va a sommare "l'evoluzione del computing", una raccolta di aneddoti, dati di fatto e piccole storie relativa ai passaggi più interessanti della storia dell'informatica. Un livello ancora superiore ai primi due citati è quello degli emulatori, esempi di computer che si posizionano sulla linea del tempo e che permetto al visitatore di farsi un'idea ancora più chiara e concreta di quello di cui si sta parlando.
61
4.2 Il prototipo In queste pagine sono presentate alcune schermate tratte dell'effettivo sito internet dove si trova il museo virtuale. Sopra si può vedere la homepage così come appare al visitare appena accede a Languages. La prima cosa che si vede è la linea del tempo "chiusa", non è presente niente più che la scansione del tempo attraverso le decadi. All'interno della timeline sono disposte semplici linee colorate ordinate secondo una logica temporale all'interno di fasce di due colori diversi, esse sono le categorie secondo cui sono suddivisi tutti gli elementi trattati.
62
Languages | 4. il progetto finale
4.2.1 Mouseover Quando l'utente scorre il mouse sulle linee colorate esse si ingrandiscono e su ogni linea compare l'etichetta con il nome corrispondente all'elemento che rappresenta. In alcuni casi, oltre all'etichetta, compare anche una linea curva bianca che attraversa verticalmente la timeline. Questa linea bianca è la connessione (o le connessioni) che vi sono tra i vari elementi disposti in diverse categorie. Per esempio "batch processing", nella categoria "interaction", è collegato a "line-printer" nella categoria "output" e a "punched card" nella categoria "program I/O", questo perché le tre cose son inevitabilmente connesse tra loro. Tutte e tre rimandano alla prima idea che si aveva di computer, macchina alimentata con interminabili pile di schede perforate, che non smetteva mai di sputare fuori rotoli di carta che riportavano i risultai delle operazioni compiute dal computer in modalità batchprocessing, cioè eseguendo una serie di programmi (jobs) senza bisogno dell'intervento umano. Ma trattandosi solo di mouseover l'informazione ricevuta è ancora limitata, il visitatore è solo in gradi di dire che in quella linea colorata si nasconde qualcosa in più.
63
4.2.2 Pop-up Cliccando su una delle linee a cui è annessa anche una connessione, il risultato sarà l'apparizione di un pop-up. Il popup è una piccola casella di testo che appare proprio di fianco al collegamento bianco e spiega perché quei dati elementi dovrebbero essere collegati tra di loro. Per tutto il tempo in cui il pop-up è visibile le linee colorate degli elementi corrispondenti rimangono "selezionate", quindi ingrandite e munite di etichetta. E' anche possibile che diversi pop-up siano visibili nello stesso momenti, essi posso anche sovrapporsi gli uni agli altri, in quel caso l'utente dovrà solo cliccare sul pop-up che vuole leggere, ed esso passerà in prima piano, sovrapponendosi a tutti gli altri.
64
Languages | 4. il progetto finale
4.2.3 Emulators on Nella pagina in basso a destra è posizionato un bottone che dice "emulators on", cliccando questo pulsante si "accendono", divenendo visibili all'interno della linea del tempo, le etichette relative ai cinque emulatori. Queste etichette semitrasparenti, posizionate temporalmente a seconda della macchina che rappresentano, corrono verticalmente attraversando tutta la timeline, incrociando cosÏ tutte le linee degli elementi presenti in quel lasso temporale, cioè il periodo in cui quel computer veniva utilizzato. Questo avviene perchÊ un computer rispecchiava le tecnologie e le tendenze del momento rappresentate dalle linee colorate nella timeline. Cliccando su una delle etichette degli emulatori si accede direttamente alla pagina dedicata a quel preciso emulatore, oppure, ri-cliccando sul bottone, che ora dice "emulators off", si fanno scomparire tutte le etichette degli emulatori, tornando alla linea del tempo in versione basica.
65
4.2.4 Tag Alcune linee-elemento all'interno della timeline non corrispondono a nessun collegamento, quindi a nessun pop-up, ma anch'esse rappresentano uno specifico elemento all'interno della storia del computing che merita una, seppur breve, spiegazione. Cliccando su una di queste specifiche linee colorate l'utente farà comparire una o piÚ piccole tag posizionate al di sopra del nucleo centrale della linea del tempo, in corrispondenza dell'anno a cui si riferiscono. Infatti queste tag corrispondo solo ad una specifica frazione temporale, non descrivono in generale l'elemento a cui si rifanno. Per questo è possibile trovarne svariate che descrivono un singolo elemento, in diversi momenti della sua evoluzione all'interno della storia dell'informatica. Se l'utente decide di cliccare su una delle tag, al di sotto di essa apparirà una breve spiegazione relativa al quel dato elemento del computing in quello specifico momento.
66
Languages | 4. il progetto finale
4.2.5 Emulatori L'esempio di emulatore che presento in queste pagine è un IBM modello 650 del 1954, quindi relativo al decennio 19501959. Negli anni '50 un computer occupava un'intera stanza e costava così tanto che spesso le aziende lo affittavano soltanto, invece che comprarlo. L'IBM 650 era un computer elettronico piuttosto economico e di modeste dimensioni, quindi molto diffuso in ambienti commerciali dove non c'era bisogno di tutta la potenza di un costosissimo computer scientifico, ma bastava l'affidabilità di un "piccolo" 650; fu un successo per IBM. Una delle particolarità comune a tutti i computer di quel periodo, che salta immediatamente agli occhi di un computeruser del 2012, era la molteplicità e voluminosità dei componenti di un computer. Oggi siamo abituati ad avere tutto ciò che serve al computer per funzionare in un unico blocco, l'utente non deve preoccuparsi di come le informazioni vengano inserite nella macchina (input), come vengano processate (processor) o come poi il risultato venga presentato alla fine delle operazioni (output). Tutto ciò oggi non richiede nessuno sforzo, ma in passato ognuna di queste operazioni veniva eseguita separatamente e con il costante intervento dell'operatore, ecco il perchè della gran quantità di pezzi che componevano un computer negli anni '50.
Proprio queste sono le caratteristiche che ho voluto rappresentare nel mio emulatore, il quale non è un emulatore nell'accezione tecnologicamente tradizionale del termine, cioè un software che permette ad un computer di comprendere istruzioni scritte per un'altra macchina, normalmente precedente a quella che emula. I miei emulatori sono di diverso tipo, ciò che vogliono emulare non sono le caratteristiche tecniche di un computer, ma l'esperienza che si ricava dal suo utilizzo. Proprio per questo ogni emulatore rappresenta solo alcune peculiarità di un certo computer, evidenziando quelli che erano i passaggi principali dell'interazione con quella macchina.
67
4.2.6 Passaggi Come ho già accennato la caratteristica principale di un IBM 650 sono i passaggi che l'operatore doveva compiere ogni volta che voleva portare a termine un lavoro. A partire dalla modalità con cui i dati venivano sottoposti alla macchina, cioè prima come moduli compilati con una macchina da scrivere o a mano, poi come schede perforate; sino ad arrivare modo in cui questi dati venivano processati e ripresentati sotto forma di output, cioè il printout di tutti gli elementi del database su di un chilometrico foglio continuo di carta perforata. Quindi tutto ciò richiedeva innumerevoli passaggi, attraverso diversi supporti e diverse macchine. Ho riassunto questo processo in sei "step", ognuno dei quali contiene uno dei pezzi che compone il computer, tutti affiancati come in una catena di montaggio. Interagendo con tutti e sei gli elementi, da sinistra a destra, l'utente ha la possibilità di farsi un'idea di quello che significava lavorare tutti i giorni con un computer di questo tipo. Ogni componente è anche provvisto di una piccola descrizione e istruzioni su come interagire con esso, le istruzioni sono reattive e guidano l'utente attraverso l'interazione.
68
Languages | 4. il progetto finale
4.2.7 Dettagli Ogni passaggio ha, ovviamente, la sua particolare caratterizzazione: alcuni sono pressoché automatizzati mentre altri richiedono un maggiore intervento dell'uomo; alcune volte è importante il linguaggio con cui vengono date le istruzioni alla macchina, altre volte è importante l'informazione dì per sé. In questo caso, quello che si vede nell'immagine qui sopra, è una scheda perforata, o punched card. Più precisamente si tratta della "nostra scheda", quella che nei due precedenti passaggi abbiamo definito e perforato, ora possiamo vederla ingrandita, con tutti i fori al loro posto, e piccole etichette che definiscono il significato di ogni foro, facendo riferimento a quella che era l'informazione iniziale, scritta in lingua corrente. In questo modo gli utenti possono vedere come in realtà sia semplice la codificazione di una di queste schede, la cosa principale è tradurre le lettere in numeri; la maggior parte del lavoro veniva fatto dal programma atto ad interpretare questi numeri, un altro pezzo di codice, anch'esso trasmesso alla macchina attraverso schede perforate. Molto spesso quando si dava in pasto alla macchina una pila di schede perforate contenenti le informazioni, queste schede "regolari" venivano precedute dalle schede di "controllo", cioè quelle contenevano le istruzioni su come le leggere e processare i dati che sarebbero seguiti.
69
4.3 La linea del tempo La linea temporale è un elemento grafico che si incontra non appena si accede al museo virtuale. Essa scandisce il tempo in sette decadi, dal 1940 al 2000, e suddivide l'evoluzione dell'informatica in sette categorie: "software", "interaction", "hardware", "output", "input", "program I/O" e "processor". Ovviamente si sarebbero potute scegliere mille altre categorie, ma dopo aver dedicato una buona metà del mio "tempo" progettuale alla documentazione e alla ricerca, ho ritenuto che queste categorie definissero bene ciò che è successo a partire dagli anni '40 nel mondo della tecnologia. Le sette categorie vengono visualizzate come fasce longitudinali che percorrono la linea del tempo. All'interno di queste fasce vengono disegnati i vari elementi, visualizzati come linee di diversi colori, la cui lunghezza è determinata dalla loro longevità, cioè per quanto tempo un dato elemento ha fatto parte ed è stato utilizzato in questa disciplina. Ad un primo sguardo il visitatore è in grado di farsi un'idea della quantità di elementi presenti in una determinata fascia, in un preciso ritaglio temporale. Ad un secondo "sguardo" l'utente interrogherà più approfonditamente la linea del tempo; infatti cliccando su una qualunque di queste linee colorate è possibile sapere a cosa corrisponde, ricevere una breve descrizione dell'elemento, e vedere la relazione che c'è tra questo elemento e il resto. In più, al secondo click, appariranno, al di sopra della linea del tempo, dei piccoli rettangoli corrispondenti all'ulteriore livello di informazione che si affianca a quello temporale. Se nel database è presente una o più storie legate l'elemento selezionato, esse diventano visibili al visitatore, disposte sempre secondo un ordine temporale. l'utente non deve fare altro che selezionare quale delle storie desidera leggere. La linea temporale è disposta longitudinalmente all'interno della pagina web e non può essere visualizzata per intero, ma l'utente ha la possibilità di scorrerla avanti e indietro, decennio per decennio, in questo modo il suo sguardo può concentrarsi maggiormente sul dettaglio di un certo periodo.
ria fino ad arrivare quasi ai giorni nostri, come alcuni degli "antichi" linguaggi di programmazione. Alcuni componenti dell'informatica sono presenti nella storia da molto più a lungo di ciò che crediamo, ma che non sono stati largamente utilizzati sin dall'inizio probabilmente perché troppo costosi, come per esempio un terminale visuale, rappresentato dal classico schermo a tubo catodico. Perché una delle caratteristiche più interessanti del computing è che non si tratta di una storia di scoperte scientifiche esclusive, destinate a qualcosa di elevato o di elite; si tratta piuttosto della storia delle cose di tutti i giorni, una certa macchina entra a far parte di questa storia solo se realmente utilizzata dalle persone. Gli "aborti" commerciali, come per esempio il capitolo a sé stante di Xerox PARC, sono fanno parte della letteratura per essere sperimentali ed in anticipo sui tempi, ma la loro influenza sulla storia del computing rimane sempre un po' dubbia, perché se nessuno ha mai potuto comprare un computer Xerox con un ottima e avanzatissima interfaccia grafica, significa che nessuno ne può essere stato veramente affascinato e influenzato. E' lproprio l'evoluzione del computing a determinare l'ulteriore livello informativo che vado a presentare.
4.4 L'evoluzione del computing L'evoluzione del computing è il concetto che mi ha spinto a basare il museo virtuale sulla linea del tempo, suddivisa nelle sette categorie sopra citate. Infatti, nonostante una linea temporale sia una scelta ovvia per un sito internet che vuole raccontare una storia più o meno passata, nel caso del computing acquista anche un valore "evolutivo". Quella dell'informatica non è una storia statica, ma in continua evoluzione, in più è estremamente interessante il modo in cui le scoperte tecniche che si incontrano lungo questa storia a volte causano stravolgimenti nella relazione tra uomo e computer, e a volte vanno semplicemente ad affiancarsi a ciò che già in precedenza esisteva. Proprio per questo la linea temporale è un ottimo strumento per evidenziare questa variegata evoluzione. Sulla linea del tempo vanno a posizionarsi tutti i vari elementi della storia, rappresentati per tutto la durata del loro utilizzo, ed è quasi commovente la longevità di alcuni di essi, presenti sin dall'inizio della sto-
70
Languages | 4. il progetto finale
Palette cromatica della timeline/homepage. Ho scelto di rappresentare ogni elemento con una linea che corre longitudinalmente, ognuna con un colore diverso. Per questi colori (moltissimi e difficili da affiancare) ho cercato di tenermi sempre su tonalità acide ed "elettroniche". Lo sfondo è quasi esclusivamente bicromo, in due gradazioni di grigio caldo.
4.5 L'ulteriore livello Con "ulteriore livello" mi riferisco al secondo livello informativo presente nella homepage del museo virtuale. Quando l'utente seleziona uno degli elementi nella linea del tempo oltre ad apparire la connessione tra esso e gli altri elementi, diventano visibili dei piccoli rettangoli sovrastanti la linea del tempo. I rettangoli, anch'essi disposti secondo un ordine temporale, raccolgono citazioni, piccole storie relative all'elemento selezionato. Lo scopo di questi brevi testi è quello di contestualizzare ciò che si vede nella linea del tempo, dando un carattere più concreto agli elementi di cui si parla e fornendo esempi d'uso quotidiano, rendendo così più facile per l'utente immaginare quali siano state le conseguenze sulla vita reale di quel pezzetto di evoluzione del computing. Molto spesso capita che quando si parla di informatica e computerizzazione si inizi ad immaginarsi interminabili schede tecniche da cui è molto difficile estrapolare l'effetto di quelle cose sul reale utilizzo di un certo computer. Nel mio progetto cerco di evitare il più possibile questa estrema tecnicità, cercando di concentrarmi sulla spiegazione di dettagli più interessanti, nonostante la tecnica e l'evoluzione di essa rimangono
Palette cromatica dell'emulatore IBM 650. In questo caso ho mantenuto uno dei due grigi presenti nella homepage, il quale predomina assieme al tipico azzurro IBM. Le immagini sono state desaturate, se non già b/n, e ad esse è stato applicato un filtro che le invecchia e le fa tendere al bianco panna, modificando così le altre gradazioni della scala di grigi con una nota più calda.
fattori di grande influenza sull'intero mondo dell'informatica. La maggior parte dei testi brevi che compongono questa parte del museo virtuale sono tratti dal già citato A History of Modern Computing di Paul Ceruzzi, che mi ha aiutato molto a districarmi nell'esagerata quantità di informazioni raccolte sul tema e soprattutto a farmi strada tra le molte incorrettezze in cui si può incappare facendo una ricerca online.
4.6 Gli emulatori Gli emulatori fanno parte del terzo e ultimo livello informativo del museo virtuale. Questi emulatori sono posizionati sulla linea del tempo e rappresentati con con strisce nere, che attraversano verticalmente la timeline, inglobando le linee orizzontali colorate relative a tutti gli elementi presenti in quel momento. Questo perché una certa macchina, costruita in un dato momento, sarà posizionata in quel ritaglio temporale e farà uso delle tecnologie presenti a quel tempo. Ma questo è solo il modo in cui gli emulatori sono rappresentati nella homepage, cliccando su ognuno di essi si accede ad un'altra pagina dedicata propriamente all'emulatore. Si tratta in questo caso di una vera e propria pagina web con però alcune caratteristiche dell'applicazione, essendo infatti relativamente interattiva. Il visitatore ha la possibilità di "giocare" con l'emulatore, nei diversi passaggi dell'interazione presentati, ricevendo anche informazioni relative a ciò che sta avvenendo sotto i suoi occhi. Gli emulatori sono cinque, uno per ognuna delle cinque decadi centrali nella timeline; nel dettaglio si può trovare un IBM modello 650 del 1954, una macchina dell'era dei mainframe piuttosto piccola ed economica per il tempo, ad uso sia scientifico che commerciale, molto diffuso nelle piccole medie imprese americane, che porta tutte le caratteristiche dei computer della prima generazione, come i vacuum tube (valvole termoioniche) e l'interazione possibile solo attraverso la sottoposizione di schede forate. Il secondo emulatore è un Digital Equipment Corporation modello PDP-8, introdotto nel 1965, che rappresenta egregiamente l'era dei minicomputer. Questa tipologia di computer inizia a diffondersi durante gli anni '60, ed è caratterizzata dall'utilizzo del circuito integrato, della core memori e della scoperta che non tutti necessitano di computer da milioni di dollari. Il PDP-8 è a tutti gli effetti il primo minicomputer ad avere un grande successo commerciale. Per rappresentare gli anni '70 ho scelto uno dei computer diffusi durante la prima ondata del personal computing, il cui merito viene degli hobbisti in modo piuttosto univoci in tutta la letteratura di genere; l'Altair 8800 fa parte di questi primi PC, un computer che inizialmente si poteva ordinare smontato via posta per meno di 400 dollari, non molto potente ne molto usabile, ma che ha senza dubbio lasciato un segno indelebile nella storia del computing. Gli anni '80 sono invece segnati del boom del PC così come lo conosciamo oggi, con la proliferazione di computer in tutte le case. Per questa decade ho scelto una macchina che ha popolato moltissime case di quel periodo, il Commodore 64 è un computer conosciuto soprattutto per
71
il suo carattere "giocoso", difatti non vi era la possibilità di utilizzare un mouse con questo computer, ma c'era posto per ben due joystick. Gli anni '90 sono gli anni di internet e della rivincita che Microsoft si prende sul sistema operativo Mac, con Windows 3 nel 1991, che è infatti l'ambiente grafico su cui si concentrerà l'ultimo emulatore. Windows 3 era diffusamente utilizzato negli uffici e nelle case di mezzo mondo, trovando posto all'interno di quegli enormi computer desktop di plastica bianco/gialla tipici di quel periodo, come l'IBM AT o i suoi "cloni".
4.7 Languages/linguaggi Il mio progetto ha un titolo inglese, si chiama Languages, non "linguaggi", perché è principalmente il titolo del mio sito internet, non solamente quello della mia tesi. Più o meno ufficialmente la lingua che si parla nel web è l'inglese, quindi sarebbe stato piuttosto testardo, e forse un po' inutile, iniziare a costruire il mio museo virtuale in italiano per farlo coincidere con la lingua in cui è scritta la tesi. La seconda ragione per cui ho scelto l'inglese è determinata dal tema di cui sto trattando: il computing. Computing viene tradotto in italiano come informatica, nonostante le due parole combacino solo relativamente. La parola italiana è molto più legata al lato software di questa disciplina, mentre con computing si può intendere il tutto, la parte software e quella hardware. E questo era solo il primo esempio, ma da qui si può già immaginare come questa lista di nomi intraducibili diventerebbe immediatamente lunghissima; a volte è anche impossibile tradurre alcune parole ricorrenti in questa disciplina, che quindi vengono riconosciute universalmente con il termine inglese, come CD ROM (Compact Disk Read Only Memory), memoria RAM (Random Access Memory) e così via. Il computing è nato, si è sviluppato in paesi di lingua inglese; per una volontà di universalità e di agevolazione alla condivisione, tutti i materiali e la documentazione relativi a questo argomento sono in lingua inglese. Per queste due ragioni ho deciso che Languages si sarebbe chiamato tale e tutti i suoi contenuti sarebbero stati in inglese.
4.8 La programmazione Ho trovato che la programmazione di Languages sia il fattore più trascinante di tutto il progetto. E' la programmazione stessa che ne modifica il carattere e l'aspetto, se un dettaglio del sito si può programmare bene, sennò questo dettaglio va tagliato. Se esiste qualche maniera per realizzare un parte del sito meglio di come già è, questa maniera viene senza dubbio analizzata, provato e probabilmente inclusa nel sito. Proprio questo è il motivo per cui è molto complicato definire l'iter progettuale di Languages, per questo suo carattere mutabile e attento a quelle che sono le tendenze attuali del web. Se infatti si parla di tendenze e standard si può dire che Languages cerca di rispecchiarli e rispettarli tutti, essendo programmato in JavaScript e utilizzando alcune delle più popolari librerie open source del momento.
72
Languages | 4. il progetto finale
Su questa caratteristica open source del codice che utilizzo voglio concentrarmi per un momento. La prima azienda che commercializzò software fu Microsoft di Bill Gates che, sin dal 1975, anno della sua nascita, ci tenne sempre a sottolineare che la qualità dei software da loro prodotti era senza dubbio dettata dal loro prezzo. Prima di quel momento non esisteva un vero e proprio mercato per i software, quelli che esistevano erano sempre strettamente legati alla macchina che li ospitava, quindi non era normale dover pagare per un sistema operativo. Ma dalla fondazione di Microsoft in poi le cose sono cambiate, così se si desidera avere un sistema operativo di qualità esso andava pagato, perché anche qualcosa che non si poteva toccare da quel giorno in poi aveva un valore. Oggi, a distanza di quasi quarant'anni, le cose sono ulteriormente cambiate. Non per a causa del mercato pirata che non ha mai smesso di crescere e di svilupparsi nella Rete, ma per via dell'esistenza dei software open source, la cui caratteristica gratuita è oggi sicurezza di qualità tanto come il costo definito dei software lo era negli settanta. open source oggi significa che migliaia di persone in tutto il mondo contribuiscono ad arricchire il programma di cui ti stai servendo, ecco perché tengo a sottolineare la gratuità del linguaggio di cui faccio uso. JavaScript è molto stabile e versatile, accettato e compreso da quasi tutti i computer in circolazione, e queste qualità sono elevate all'ennesima potenza se rivelo che l'unica altra scelta che avrei potuto fare sarebbe stata Adobe Flash. Flash è simpatico da usare per il designer, ma è totalmente detestabile da chi lo deve poi fruire in una pagina internet; richiede sempre una connessione molto veloce e una pazienza molto grande, per non parlare poi del fatto che non può essere letto da smartphone e tablet.
73
5. Conclusioni Languages è un museo virtuale sulla storia del computing, un website che racconta cosa è successo in questo ambito della tecnologia a partire dagli anni '40 fino al 2000. Quello su cui mi voglio concentrare in queste conclusioni è il carattere di "sfida" che questo progetto ha assunto sin dal primo momento, che quindi ha influenzato molte delle scelte progettuali fatte e la forma finale che il progetto ha assunto. Non appena ho iniziato a pensare quale fosse un buon argomento per la mia tesi, ho anche realizzato che non sarei mai arrivata al termine di questa "missione" se la tesi non mi avesse spinto a indagare, scoprire e confrontarmi con cose nuove, che prima non conoscevo, o che non avevo mai veramente approfondito. Ho deciso che Languages avrebbe fatto imparare qualcosa a me, in prima persona, proprio come avrebbe fatto poi con i futuri utenti. Per prima cosa vi è stata la scelta dell'argomento, la quale ha richiesto molto tempo, ricadendo poi su un campo di cui io effettivamente non sapevo molto: il computing. Ho pensato che non mi sarebbe bastato analizzare la storia dell'interaction design, che già relativamente conoscevo. Volevo andare ancora più su, risalire fino alla sorgente del tutto, cioè la tecnologia che fa sì che l'interaction design esista, quindi il computing. Quando ho iniziato questa ricerca davvero non ne sapevo molto di informatica e ancora non conoscevo nessuno in grado di indirizzarmi verso le storie e gli argomenti giusti, si è trattato di un'investigazione piuttosto casuale ed un po' ignorante. Ho semplicemente iniziato, prima con una ricerca davvero generica, poi con una sempre più specifica e "giusta". Dato che tutto è collegato con tutto, quando finalmente si trova una storia interessante, immediatamente se ne trovano altre dieci. Dopo i primi tempi e le prime letture, dopo aver incontrato alcune persone che
74
Languages | 5. conclusioni
di computing qualcosa ne sapevano davvero, ho deciso di strutturare la mia ricerca con un metodo un po' più rigido e razionale, ricominciando dall'inizio e studiando gli eventi secondo un ordine cronologico; scoprendo poi che alcune delle cose che avevo trovato in precedenza non erano del tutto sbagliate e che rimanevano interessanti anche ora che sapevo qualcosa in più sul tema. Se si fa una ricerca sul computing non si tratta solo di leggerne la storia sui libri, ma bisogna anche capire quello che si sta leggendo. In questo caso vanno capiti tutti i dettagli tecnici che hanno caratterizzato quelle macchine e quei dispositivi che sono entrati a far parte della storia del computing, perchè solo così si può comprendere la storie di un'evoluzione tecnologica. Ed è proprio qui che sta la sfida di cui parlavo prima. Ho voluto mettermi alla prova e vedere se sarei stata davvero capace di capire tutto quello che fino a quel momento avevo solo ipotizzato di capire. La seconda parte di questa sfida era rappresentata della realizzazione di quello che avevo immaginato. Avevo pensato di realizzare un sito internet con tutte le carte in regola, che utilizzasse i linguaggi più moderni e che fosse compatibile con diversi dispositivi. Avevo anche realizzato: durante la mia carriera universitaria e breve esperienza professionale, ho sempre più o meno scansato la programmazione, ho sempre trovato il modo di concentrarmi di più su altri aspetti di un progetto, in cui a mio parere riesco meglio. Ma dopo aver dato un'occhiata a com'è veramente il mondo al di fuori dello Iuav, dopo aver capito quanto esso sia competitivo, ho capito che forse era il momento giusto per acquisire un po' di quelle technical skills che fino a quel momento avevo sempre evitato. Ho deciso così di imparare un linguaggio di programmazione universa-
le che mi sarebbe poi servito anche a tesi e università finite. Detto questo le caratteristiche che potrebbero essere potenziate sono le seguenti: l'interattività degli emulatori potrebbe essere amplificata, permettendo agli utenti di utilizzare queste piattaforme più diffusamente ed in maniera più variegata. L'usabilità della linea del tempo presente nella homepage potrebbe essere migliorata dal lato del backhand, agevolando così una flessibilità di modifica e aggiunta dei materiali. Si potrebbero poi essere accrescere le qualità del website per una fruibilità attraverso dispositivi touch screen, quindi di maggiore interesse per l'installazione di Languages in luoghi fisici come i musei. Nonostante la liquidità del sito internet rimangono sempre alcune discrepanze tra l'accesso attraverso un comune laptop, con l'utilizzo di un mouse come input, e la consultazione attraverso touch screen. Sono proprie queste discrepanza che andrebbero eliminate, ad esempio con la costruzione di due siti identici, uno per normali computer e uno per dispositivi touch screen, dove l'unica differenza sarebbe la modalità di input.
75
76
Languages | 4. il progetto finale
Fonti (testi e link) Capitolo 2 (1) Il Web, premesse e antefatti: dal Mundaneum al Memex, Bollettino telematico di filosofia politica, http://bfp.sp.unipi.it (2) Vannevar Bush, As we may think, Atlantic monthly, 1945, http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/3881/ (3) Dynamics diagrams, http://www.dynamicdiagrams.com/ (4) Meike Laaff, Networked Knowledge, decades before Google, Spiegel online, 2011, http://www.spiegel.de/international/world/0,1518,775951,00.html (5) J.C.R. Licklider, Man-Computer Symbiosis, IRE Transactions on Human Factors in Electronics, 1960 (6) J.C.R. Licklider, The computer as a Communication Device, Science and Technology, 1968 (7) Alan Kay, Doing with Images Makes Symbols, 1987, http://www.archive.org (8) Paul E. Ceruzzi, A History of Modern Computing, The MIT Press 2003 (9) John Markoff, What the Dormouse said: how the Sixties counterculture shaped the personal computer industry, MetroActive books, 2005 (10) Ivan Sutherland, Sketchpad, a man-machine graphical communication system, Massachusetts Institute of Technology, 1963 (11) Radiolab, Talking to Machines, programma radiofonico del 31 maggio 2011, http://www.radiolab.org (11.b) Joseph Weizenbaum, Computer Power and Human Reason, Penguin Books, 1993 (12) T. O. Ellis, J.F. Heafner and W.L. Sibley, The Grail Language and Operations, RAND Corporation, 1969 (13) Dan Ingalls, Design principled behind Smalltalk, BYTE, 1981 (14) Paul E. Ceruzzi, A History of Modern Computing, The MIT Press 2003 (15) Adele Goldberg, video intervista per il Computer History Museum, 2011 (16) Adobe, History of innovation, http://www.adobe.com (17) Wikipedia, HPGL, http://en.wikipedia.org/wiki/HPGL (18) Bell Labs, Background: Bell Labs Text-to-Speech Synthesis: Then and Now, http://www.bell-labs.com/news/1997/march/5/2.html (19) Wikipedia, The turk, http://en.wikipedia.org/wiki/The_Turk (20) http://www.computerhistory.org (21) Éric Lévénez, Computer Languages Timeline, http://www.levenez.com/ (22) Intel, Processore Core i5, http://www.intel.com/it_it/products/processor/corei5/index.htm (23) Gigapixel, http://en.wikipedia.org/wiki/Gigapixel (24) Google, Street View, http://maps.google.com/intl/en/help/maps/streetview/ (25) Filippo Innocenti, architetto, http://www.filippoinnocenti.com/
Capitolo 3 (26) LUST & LUSTlab, http://lustlab.net/, http://lust.nl/ (27) HTML.it, Guida ad HTML5, http://xhtml.html.it/guide/leggi/203/guida-html5/ (28) Wikipedia, JavaScript, http://en.wikipedia.org/wiki/JavaScript (29) Wikipedia, Grandaddy, http://en.wikipedia.org/wiki/Grandaddy (30) Stewdio, http://stewd.io/ (31) Stewart Smith, Jed's Other Poem (Beautiful Ground), 2005, http://stewd.io/jed/ (32) e (33) Paul E. Ceruzzi, A History of Modern Computing, 2003, The MIT Press (34) jQuery, http://jquery.com/
77
Immagini Capitolo 2 Fig 2.1-2.2: http://history-computer.com/Internet/Dreamers/Bush.html Fig 2.3: http://www.retronomicon.it/memex/ Fig 2.4: Memex animation, Dynamics diagrams, 1995, http://www.youtube.com/watch?v=c539cK58ees Fig 2.5: Meike Laaff, Networked Knowledge, decades before Google, Spiegel online, 2011, Fig 2.6: The Atlantic Magazine, Vannevar Bush cover portrait, August 1955, http://www.rarenonfiction.com Fig 2.7-2.8: J.C.R. Licklider, The computer as a Communication Device, Science and Technology, 1968 Fig 2.9-2.11: The MouseSite, a resource for exploring the history of human computer interaction, http://sloan.stanford.edu/MouseSite/ Fig 2.10: Douglas Engelbart Institute, http://www.dougengelbart.org/ Fig 2.12: Community Memory terminal at Leopold’s Records, Berkeley, California, 1975, Compter History Museum Fig 2.13-2.14: Ivan Sutherland, Sketchpad, a man-machine graphical communication system, Massachusetts Institute of Technology, 1963 Fig 2.15: Ivan Sutherland : Sketchpad Demo, http://www.youtube.com/watch?v=USyoT_Ha_bA Fig 2.16: Screenshot scattati personalmente Fig 2.17: T. O. Ellis, J.F. Heafner and W.L. Sibley, The Grail Language and Operations, RAND Corporation, 1969 Fig 2.18: Alan Kay, Doing with Images Makes Symbols, 1987, http://www.archive.org Fig 2.19a: Smalltalk screenshot, 1972, Computer History Museum Fig 2.19b: The PARC Computer Science Laboratory (CSL), 1970 ca. Computer History Museum Fig 2.20: Peter C. S. Adams, PageMaker, past, present, future, http://www.makingpages.org Fig 2.21: Adobe Systems, Meet Adobe Illustrator, Introduction and Demo, 1987, dal VHS che accompagnava il floppy disk contenente il programma. Fig 2.22: Dean McNamee and Tim Burrell-Saward, Wikipedia 10th Anniversary, Fig 2.23: Aaron Koblin e Daniel Massey, A Bicycle Built for 2000, http://www.bicyclebuiltfortwothousand.com/ http://www.deanmcnamee.com/wikipedia-anniversary Fig 2.24: Chris Bierbower, Binary counting, http://vimeo.com/19721329 Fig 2.25: http://www.computerhistory.org Fig 2.26: http://www.adobe.com/aboutadobe/history/ Fig 2.27: O'Reilly, News & Commentary, http://oreilly.com/news/languageposter_0504.html Fig 2.28: Jung von Matt, Museum of Obsolete Objects, http://www.youtube.com/user/MoooJvM Fig 2.29: C|Net, iPhone history animated video, http://crave.cnet.co.uk/mobiles/iphone-history-animated-in-our-infographic-video-50005285/ Fig 2.30: Intel, The Museum of Me, http://www.intel.com/museumofme/r/index.htm/ Fig 2.31: Google, Art Project, http://www.googleartproject.com/ Fig 2.32: Adobe, AMDM, http://www.adobemuseum.com/
78
Languages | fonti
Capitolo 3
Fig 3.1: Vice, Commodore Amiga emulator, 2009, http://www.viceteam.org/ Fig 3.2: Commodore Business Machines, Inc.,Commodore 64 User's Manual, http://www.commodore.ca/manuals/c64_users_guide/c64-users_guide.htm Fig 3.3: Google team, The Evolution of the Web, http://evolutionofweb.appspot.com/ Fig 3.4: Stewart Smith/Grandaddy, Jed's Other Poem (Beautiful ground), 2005, http://www.youtube.com/watch?v=qA-UqKAv1rE&feature=related Fig 3.5: Dragan Espenschied e Olia Lialina, Once Upon a Time, 2011, http://1x-upon.com/ Fig 3.6: Rehab Studio e Soon in Tokio, The Restart Page, 2011, http://www.therestartpage.com/ Fig 3.7: University of Queensland, Punching data on computer cards, 1969, http://www.youtube.com/watch?v=oaVwzYN6BP4&feature=related Fig 3.8: MousyBoyWithGlasses on Flickr, Charles Babbage's brain, http://www.flickr.com/photos/mousyboywithglasses/3065558010/ Fig 3.9: Screenshot scattato personalmente Fig 3.10: Immagine tratta dal quaderno di appunti personale Fig 3.11: Screenshot scattati personalmente
Capitolo 4 Tutte le immagini presenti nel capitolo 4. Final design sono immagini prodotte personalmente, scattando screenshot durante la lavorazione del website Languages.
79
80
Languages | fonti
Ringraziamenti Arrivata alla fine di questo lunghissimo (ma apparentemente mai lungo abbastanza) percorso voglio ringraziare tutte le persone che in vari modi hanno fatto sì che il mio progetto ed io arrivassimo sin qui. In primis ringrazio la mia famiglia che da anni mi sostiene incondizionatamente, fin dall'inizio di questo mio strampalato iter all'interno del mondo del design; il loro appoggio è stato particolarmente importante soprattuto durante questo ultimo convulso periodo di preparazione della tesi, durante il quale, nonostante le evidenti difficoltà, non hanno mai smesso di credere nella mia riuscita. Voglio fare poi un ringraziamento particolare ai miei relatori, Philip Tabor e Gillian Crampton Smith, i quali sono stati una delle maggiori spinte alla mia crescita universitaria e professionale, e in generale alla mia scoperta del mondo, e che non hanno mai smesso di offrire il loro aiuto e la loro comprensione, nonostante la mia lunga latitanza. Ora vorrei ringraziare tutte le persone che hanno contribuito attivamente alla realizzazione del mio progetto, coloro che hanno aggiunto un pezzetto a quello che è il puzzle finale della mia tesi. Brian Oko, con il quale ho condiviso la mia esperienza a Designit a Monaco di Baviera, e la cui vicinanza (e grande pazienza) durante i le prime fasi progettuali è stata preziosissima per la formazione dei concetti alla base della mia tesi. Stefano Mirti, il quale mi ha aiutato a raggiungere ordine e concretezza nei i miei disordinati pensieri, e le cui impietose domande mi hanno sempre mantenuta coi piedi per terra. Federica Ricci, per il grande supporto morale, mai mancato, nemmeno nei momenti più delicati di questo viaggio, e per i sui preziosi consigli grafico-tipografici, nonostante, causa la
mia cocciutaggine, non vi abbia sempre prestato ascolto. Daniele Muscella, per la costante "vicinanza" e l'affetto mai mancato e costantemente mandato via Skype da Berlino. Un particolare e sentitissimo ringraziamento va ad Edwin Jakobs, senza il quale la mia tesi semplicemente non esisterebbe (e non sto esagerando). Voglio poi ringraziare tutti i miei compagni di corso, con cui ho affrontato e portato a termine questo impervio percorso, i quali sin dall'inizio hanno lasciato cadere ogni forma di rivalità o competizione, per riconoscere come tutti ci trovassimo nella stessa difficile condizione. Voglio da ultimo sottolineare l'importanza che hanno esercitato gli studi dove ho svolto le due internship durante l'estate/autunno scorsi, Designit di Monaco di Baviera, Germania, e LUST & LUSTlab di Den Haag, Paesi Bassi, in questi luoghi sono realmente cresciuta e le due esperienze mi hanno aiutato, anche se in modi diversi, a farmi un'idea di quello che mi aspetta al di fuori del mondo accademico.
81
82
Languages | ringrazimenti
UNIVERSITÀ IUAV DI VENEZIA FACOLTA’ DI DESIGN E ARTI
DICHIARAZIONE DI CONSULTABILITA’ O NON CONSULTABILITA’ DELL’ELABORATO FINALE (da inserire come ultima pagina della dell’elaborato finale)
Il/La sottoscritto/a ………………………………………….matr. n. ...……………. laureando/a in ………………………………………………... sessione ………………………… dell’a.a. …………….…………. DICHIARA
che l’elaborato finale dal titolo: …………………………………………………………………………………………. ………………………………………………………………………………………….
è consultabile da subito potrà essere consultato a partire dal giorno ………………….. non è consultabile (barrare la casella della opzione prescelta)
data …………………..
firma ………………………
83
84