Data Design. Progettazione di identità visive generative a partire dai dati

Page 1



Andrea Paraggio


Contenuti e impaginazione: Andrea Paraggio contact@andreaparaggio.com Stampa:

Ringraziamenti particolari:

Arti Grafiche Sud, Salerno

Cristina Chiappini per la revisione dei contenuti e per le preziose idee; Francesco Paraggio di

Copertina:

Viento s.r.l. per avermi dato modo di lavorare al

Tipografia generativa ottenuta grazie a Proces-

progetto dei dati sul vento; Bonifacio Pontonio

sing, alle librerie “Geomerative” di Ricard Mar-

per i preziosi e utili consigli, e per la sua genti-

xer e al codice “Hilos” del progetto “Caligraft”.

lezza; Antonio Stilo per avermi fatto conoscere

http://www.processing.org/

Processing; Ben Fry e Casey Reas per aver cre-

http://www.ricardmarxer.com/geomerative/

ato Processing; La mia famiglia per avermi sop-

http://www.caligraft.com/

portato; I miei coinquilini di via Filiberto e tutti i miei amici e compagni di università per avermi

Salerno-Roma, 2011

regalato questi meravigliosi due anni romani.


Corso di laurea in “Design, comunicazione visiva e multimediale” Facoltà di Architettura L. Quaroni, Università degli Studi di Roma “Sapienza”

DATA DESIGN Progettazione di identità visive generative e visualizzazioni dinamiche a partire dai dati

Laureando: Andrea Paraggio Relatore: Prof.ssa Cristina Chiappini Correlatore: Prof. Francesco D’amato

Tesi di laurea magistrale in Design, comunicazione visiva e multimediale a.a 2010/2011


Indice

1.1

PROGETTARE L’INFORMAZIONE L’information design: qualche definizione

10

1.2

Dal dato all’informazione

14

1.3

La gestione dell’informazione nel contesto della new economy

17

L’information design all’interno delle teorie della comunicazione L’importanza del committente Le migrazioni di contesto Il destinatario

18 20 21 24

1.5

Destinatario, lettore, utente

28

2.1

LE NUOVE FRONTIERE DEL GRAPHIC DESIGN Introduzione al design generativo

34

2.2

Il processo è il prodotto: design partecipativo

40

2.3 2.3.1 2.3.2 2.3.3

Software per il design generativo Processing Impromptu OpenFrameworks

44 44 47 48

2.4 2.4.1 2.4.2

Esportare i progetti con Processing Esportare in PDF vettoriale Importare ed esportare files video

50 51 52

1.4 1.4.1 1.4.2 1.4.3

iv


Esportare i progetti per il web Software per lo sketching online

54 56

3.1

IL DESIGN GENERATIVO E LE SORGENTI DI DATI Data design: un’introduzione

60

3.2

Raccogliere, analizzare ed interpretare i dati

64

3.3 3.3.1 3.3.2

Dati in tempo reale e internet delle cose Oggetti in rete Formati e tipi di dato

66 68 70

3.4 3.4.1

Il trattamento dei dati Trattare i dati con Processing

74 76

3.5 3.5.1 3.5.2 3.5.3

Un esempio di visualizzazione generativa di dati: la rosa dei venti Lettura dei dati dal file XML La costruzione della rosa dei venti Visualizzazione delle medie da files esterni

78 80 82 86 88

3.6.1

Visualizzazione generativa a partire da dati geografici: centri trasfusionali di Roma Costruzione della mappa interattiva

3.7 3.7.1 3.7.2

Verso l’identità visiva generativa Il logo dei centri trasfusionali riuniti di Roma Il logo di Viento s.r.l.

94 94 98

2.4.3 2.4.4

3.6

90

INDICE

v



Alla mia famiglia. Senza di lei non avrei potuto scrivere una sola parola di questo volume. Andrea



E E N R IO TA AZ ET M G R O FO PR IN L’


PROGETTARE L’INFORMAZIONE 1.1 L’INFORMATION DESIGN: QUALCHE DEFINIZIONE

“Clutter is a failure of design, not an attribute of information” “Il disordine è un fallimento del design, non una caratteristica dell’informazione”

Edward Tufte Quando si pensa all’information design nel senso comune del termine, ad esso si associa, spesso erroneamente, un particolare tipo di progettazione grafica specializzata nella rappresentazione grafica efficace di informazioni statistico-quantitative. In effetti è così, ma in realtà l’information design ingloba all’interno della propria sfera semantica molti altri concetti. Soffermandosi unicamente su quest’aspetto si finisce per non cogliere le vere peculiarità di una materia complessa, multidisciplinare e che affonda le sue radici teoriche nella psicologia e nelle teorie della comunicazione. A causa delle più o meno corrette traduzioni in italiano da termini in lingua inglese, c’è molta confusione nella concettualizzazione degli elementi costitutivi della disciplina. Traducendo qualche definizione connessa all’information design assistiamo a semplificazioni e sovrapposizioni semantiche più o meno fuorvianti. 10

I termini utilizzati dai designer che vengono maggiormente confusi sono: * Information design; * Infografica; * Data Visualization.

Statisticamente, il termine più utilizzato tra i designer italiani è “infografica”, termine che abitualmente si usa per definire contemporaneamente sia la disciplina, l’information design, che ogni forma di progettazione grafica che contempli al suo interno la visualizzazione di grafici, tabelle, elenchi, percentuali, organizzata in maniera soddisfacente dal punto di vista del design. Ossia l’artefatto. Nella pagina affianco sono confrontate le definizioni che wikipedia ci dà delle tre voci. Notiamo subito che in inglese c’è meno confusione rispetto all’italiano, lingua che sempre più si presta ad importare termini che fanno riferimento a concetti creati in altre sedi. L’information design viene definito come un’abilità ed una pratica nel tradurre informazioni complesse e multidimensionali, in rappresentazioni grafiche di informazioni complesse o di oggetti cognitivi multidimensionali in natura, che richiedono, appunto, un passaggio semplificativo ed astrattivo per essere passate su carta o su schermo, e per essere comprese in maniera efficace dal pubblico di riferimento.


EN

Information design, infographic e data visualization: tre definizioni a confronto.

IT Information design is the skill and practice of preparing information so people can use it with efficiency and effectiveness. Where the data is complex or unstructured, a visual representation can express its meaning more clearly to the viewer.

Information design è quell’abilità e quella pratica atta a preparare l’informazione in modo che la gente possa usarla con efficienza ed efficacia. Laddove un dato è complesso o destrutturato, una rappresentazione grafica può esprimere il suo significato in maniera più chiara al lettore

Gli inglesi lo distinguono dall’infographic (letteralmente “infografica”) che costituisce il vero e proprio artefatto, l’oggetto dell’information design, il prodotto di tale disciplina. Edward Tufte, uno dei pionieri nel campo del design dell’informazione afferma che “ogniqualvolta che c’è un tentativo di rappresentazione grafica di dati complessi, assistiamo a un passaggio silenzioso dalla multidimensionalità dei dati alla bidimensionalità della carta e degli schermi che costituiscono

Information graphics or infographics are graphic visual representations of information, data or knowledge. These graphics present complex information quickly and clearly, such as in signs, maps, journalism, technical writing, and education. With an information graphic, computer scientists, mathematicians, and statisticians develop and communicate concepts using a single symbol to process information.

Le infografiche sono rappresentazioni grafiche di informazioni, dati o conoscenza. Queste grafiche presentano informazioni complesse velocemente ed in maniera chiara, come ad esempio insegne, mappe, giornalismo, scrittura tecnica e formazione. Con un infografica, scienziati informatici, matematici e statistici sviluppano e comunicano concetti utilizzando un solo simbolo per processare l’informazione.

i media attraverso i quali tale comunicazione avviene (Tufte, 1990). È per questa ragione che uno dei compiti principali di chi intende rappresentare graficamente una serie di dati è “fuggire da flat-

Data visualization is the study of the visual representation of data, meaning “information which has been abstracted in some schematic form, including attributes or variables for the units of information”

Il data visualization è lo studio delle rappresentazioni grafiche dei dati, che significa “informazione che ha subito un astrazione ed è stata riassunta in una forma più schematica, compresi gli attributi o le variabili per le unità dell’informazione”.

land”, ossia fuggire dalla convinzione che i dati che si stanno rappresentando siano bidimensionali in natura, ma capire che tutto ciò che costituisca ambito di interesse e qualunque oggetto sia osservabile, è per sua natura multidimensionale. E per questo ogni sua rappresentazione non può che essere in qualche modo una sua semplificazione. Il data visualization è lo studio delle rappresentazioni grafiche dei dati, ossia delle informazioni che hanno subito un’astrazione e una semplificazione, diventando

1. PROGETTARE L’INFORMAZIONE > L’information design: qualche definizione

11


page tags: information design / infographic / tufte / data visualization / traduzione / multidimensionalità / QR code

1 Il concetto di valore monetario dell’informazione verrà approfondito più avanti (1.3)

“There is nothing natural about information. Information, no matter what is called – data, knowledge, or fact, song, story or metaphor – has always been designed” “Non c’è nulla di naturale quando si parla di informazione. L’informazione, non importa com’è chiamata - dati, conoscenza, o fatti, canzoni, storie o metafore - è stata sempre progettata”

Brenda Dervin appunto immagini semplificate che rappresentano realtà complesse. In tal modo esso si configura come una parte dell’information design, per la precisione quella parte della disciplina che si occupa della traduzione di dati statistico-quantitativi in immagini efficaci e facilmente decodificabili. Molte discussioni ruotano oggi intorno alla definizione di information design. La definizione della Society for Technical Communication’s (STC), special interest group for information design intende l’information design come “…the translating [of] complex, unorganized, or unstructu12

red data into valuable, meaningful information” Traducendo i termini valuable e meaningful in italiano, essi condividono una porzione di senso: un’oggetto di valore (valuable) il più delle volte è anche una cosa significativa (meaningful). Valuable denota un valore inteso in senso più quantitativo e monetario1 , mentre meaningful ha a che fare di più con il valore puramente semantico dell’informazione, ovvero quella capacità che ha l’informazione di condurre ad “incrementi di senso”. È possibile tradurre, quindi, l’intera frase con l’espressione italiana “traduzione di dati complessi non strutturati e non organizzati, in informazioni significative e di valore”. Oltre alla confusione generata da definizioni diverse, si assiste ad una frammentazione del significato del termine in una vasta schiera di discipline che con esso condividono una porzione di senso, senza però centrarne la specializzazione e le specificità. Tra queste ricordiamo: * Graphic design; * Architettura dell’informazione; * Interaction design; * Ingegneria dell’usabilità; * Interazione uomo-macchina; * Fattori umani.

L’information designer è senz’altro un graphic de-


2 E non solo, come vedremo più avanti nella trattazione

Wikipedia: definizione di “Data Visualization”

Wikipedia: definizione di “Infographic”

signer, ma a differenza degli altri ha bisogno di inquadrare i suoi progetti in una prospettiva maggiormente utente-centrica2 . Il suo compito non è solo accattivare, sedurre, ma informare. In tal senso si occupa di usabilità e di ergonomia cognitiva, e di come l’essere umano interagisce con le informazioni. In più ha bisogno di conoscere le potenzialità e i limiti della cognizione umana, di padroneggiarne le tecniche per rendere i messaggi che vuol veicolare più efficaci possibili. È vasto quindi il range di competenze entro il quale l’information designer deve spaziare.

Wikipedia: definizione di “Information Design”

“…the translating [of] complex, unorganized, or unstructured data into valuable, meaningful information” “la traduzione di dati complessi, non strutturati e non organizzati, in informazione significativa e di valore”

Society for Technical Communication’s (STC) Special interest group for information design

1. PROGETTARE L’INFORMAZIONE > L’information design: qualche definizione

13


page tags: dan brown / illuminazione / faces / dato / informazione

1.2 DAL DATO ALL’INFORMAZIONE

3 Da wikipedia: “Nella teoria dell’informazione – e in rapporto alla teoria dei segnali – l’entropia misura la quantità d’incertezza o informazione presente in un segnale aleatorio”

Happy faces on a wall (A. Paraggio, 2009)

Buona informazione. Quante volte ormai si sente in giro questa parola? È facile dire che c’è bisogno di una buona informazione, ma non è altrettanto facile crearla. Per generare un’informazione efficace bisogna che chi la progetta possieda anzitutto metodo: nel verbo “progettare” è già racchiuso un seme del termine “metodo”, sembra impossibile, infatti, progettare senza seguire delle regole. L’information design offre al graphic designer una metodologia progettuale per meglio orientarsi all’interno di una situazione ca14

Il percorso dell’illuminazione (Dan Brown, 1998) Basilica di San Pietro Chiesa di Santa Maria della Vittoria Fontana dei Quattro Fiumi (P.za Navona) Chiesa di Santa Maria del Popolo

ratterizzata da un elevato numero di stimoli a cui è sottoposta la cognizione dei soggetti: tramite adeguate rappresentazioni grafiche, ci si occupa di rappresentare graficamente informazioni caratterizzate da un elevato livello di

complessità per renderle maggiormente fruibili dai soggetti. Quando parlo di complessità considero quella porzione di significato del termine che fa riferimento al concetto di disordine, di caos, di entropia3. Spesso si sente dire che la realtà è complessa, fuggevole, e spesso si fa fatica ad attribuire un significato ad una serie di fenomeni apparentemente non connessi sia dal punto di vista della percezione che da quello


dell’attribuzione di significato. Ad esempio due eventi tra di loro connessi possono apparire scollegati solo perché essi si manifestano alla nostra percezione in due momenti diversi. Questo avviene perché le persone vivono in un mondo in cui la quantità di dati potenzialmente percepibili è di gran lunga superiore a quelli effettivamente percepiti. Questo è in gran parte dovuto alle limitate capacità di elaborazione cognitiva delle persone. Non tutti gli stimoli sensoriali possono determinare l’attivazione dei nostri sensi. In psicologia questa caratteristica è definita “soglia”. Si parla di soglia assoluta per intendere “la stimolazione minima che può essere rilevata dagli organi di senso”, e di soglia differenziale per definire la quantità minima di stimolazione necessaria per far sì che il soggetto distingua due stimoli diversi o una variazione nello stesso stimolo. Tutti gli stimoli che non oltrepassano questa soglia non vengono interpretati a livello cosciente, o vengono semplicemente ignorati. È proprio dal concetto di soglia, infatti, che negli anni ‘50 nel mondo della psicologia e della comunicazione nasce un acceso dibattito intorno alla percezione cosiddetta “subliminale” (Vance, 1958). Tutti i tipi di dato hanno però qualcosa in comune: esistono a prescindere dal fatto che qualcuno li noti o che qualcuno dedichi loro attenzione. Gli organismi dotati di capacità percettive non sempre tirano fuori

da questi dati qualcosa di utile. È proprio questa la grande differenza tra dato e informazione: un dato diventa informazione quando ad esso viene attribuita una qualche forma di senso. L’autore di best seller Dan Brown, più o meno consapevolmente ha creato informazione nel momento in cui ha scritto uno dei suoi ultimi successi Angeli e Demoni. L’autore è riuscito ad attribuire una forma dotata di senso alla posizione geografica di quattro delle chiese più importanti presenti a Roma. Da centinaia di anni intere generazioni hanno vissuto a Roma senza rendersi conto che il percorso ad X formato dall’incrocio di queste quattro chiese potesse formare quello che Brown ha chiamato “cammino dell’illuminazione”. A chi poi non è mai capitato di osservare un cielo pieno di nuvole e di trovare in esso uno spazio blu in cui prendono vita animali e oggetti di ogni forma e specie? L’informazione non è preesistente, essa nasce quando una serie di dati viene interpretata e le viene attribuito un significato. Si pensi alla facilità con cui i bambini, aiutati dalla loro potente immaginazione, attribuiscono significati agli oggetti che si presentano alla loro percezione, molto diversi dagli stessi attribuiti dalle persone adulte. Ne “Il piccolo principe” di Antoine De Saint-Exupéry (1943), il piccolo protagonista mostra il suo primo disegno alle persone grandi chiedendo loro se quel disegno li 1. PROGETTARE L’INFORMAZIONE > Dal dato all’informazione

15


page tags: il piccolo principe / elefante / boa / adulti / informazione / new economy

“mostrai il mio capolavoro alle persone grandi, domandando se il disegno li spaventava. Ma mi risposero: «spaventare? perché mai, uno dovrebbe essere spaventato da un cappello?» Il mio disegno non era il disegno di un cappello. Era il disegno di un boa che digeriva un elefante [...] Bisogna sempre spiegargliele le cose, ai grandi.”

Antoine De Saint-Exupéry Il piccolo principe, 1943

16

Un boa che digerisce un elefante, Illustrazione tratta da “Il piccolo principe” di Antoine De Saint-Exupéry (1943)

spaventava. Gli adulti gli risposero che non potevano aver paura di un innocuo cappello. Ma il piccolo rispose loro che quello non era il disegno di un cappello, bensì di un boa che stava digerendo un elefante. Successivamente al piccolo viene chiesto di disegnare una pecora. I primi disegni non vanno bene, finché il piccolo protagonista, ormai esausto di disegnare pecore, disegna una cassetta con tre forellini dicendo che la pecora che il piccolo principe desidera si trova lì dentro. Quello del piccolo principe è solo uno dei tanti esempi del fatto che anche lavorando di fantasia, ognuno di noi può “creare informazione”. La creazione di informazione non è quindi prerogativa di graphic designer o architetti dell’informazione, ma di tutti coloro che sono capaci di tirar fuori un significato da una serie di dati preesistenti. Ovviamente questa è

una definizione di information design molto vasta, che ha lo scopo di far capire che ogni volta che si “scappa” da una situazione iniziale d’entropia, si ricava informazione nel senso puro del termine.

Il disegno di una pecora, (A. De Saint-Exupéry, 1943)


1.3 LA GESTIONE DELL’INFORMAZIONE NEL CONTESTO DELLA NEW ECONOMY La discussione sull’information design e sull’importanza della corretta gestione dell’informazione si arrichisce di valore se si pensa al ruolo che l’informazione assume ogni giorno di più all’interno dell’attuale sistema economico 4. Molti dei servizi di cui fruiamo come consumatori fanno parte dell’economia dei servizi e sono caratterizzati da: 1. Intangibilità 2. Elevato contenuto informativo L’informazione oggi assume sempre più centralità all’interno dei processi economico-organizzativi, e la sua corretta gestione è un problema cruciale per le imprese e le organizzazioni che basano il loro business sulla fornitura, sull’elaborazione e sulla gestione dell’informazione. Carl Shapiro e Hal R. Varian (1999), sono stati pionieri della riflessione sull’avvento della rivoluzione dell’informazione e sulla ridefinizione delle regole di base dei paradigmi economici dominanti. Essi affermano che i fenomeni che ci troviamo a vivere oggi, intimamente connessi allo sviluppo e alla diffusione dell’informazione come nuovo bene di consumo ed elemento di ric-

chezza e potere, sono gravidi di implicazioni economiche, sociali e culturali che spesso sfuggono alla portata degli operatori economici. Nell’era dei blog e dei social networks abbiamo assistito alla nascita di nuovi business milionari e di nuove professioni e, di riflesso, di nuovi radicali cambiamenti nel funzionamento dei mercati finanziari. Vuoi per i limiti cognitivi insiti nella natura umana, vuoi per i limiti dell’interfaccia attraverso la quale le informazioni vengono presentate, vuoi per l’ambiente non favorevole, o ancora vuoi per problemi di scarsa cura nella costruzione del messaggio da parte dell’emittente. È un problema che porta l’attenzione del designer sui diversi attori del processo comunicativo secondo le teorie classiche della comunicazione. Anche se l’information design insiste particolarmente su un approccio “utente-centrico”, gli attori su cui concentrarsi sono molti di più. Tra questi certamente è possibile annoverare il destinatario/fruitore della comunicazione, la fonte, il messaggio e il contesto entro il quale la comunicazione avviene.

4 In realtà il ruolo dell’informazione all’interno dei sistemi economici riveste da sempre una grande importanza, basti pensare al ruolo che essa giocava all’interno del paradigma della scienza economica noto come “principio di razionalità”, dove l’homo oeconomicus agisce con razionalità in direzione della massimizzazione dell’utilità individuale, in modo coerente, in un contesto caratterizzato da assenza di sopraffazione e violenza, senza asimmetria tra gli attori e soprattutto con “perfetta informazione” (Pareto, 1919). Questo punto di vista è stato successivamente criticato dal premio nobel Herbert Simon con il suo “Principio di razionalità limitata”, secondo il quale, nel processo decisionale, la razionalità degli individui è limitata dalle informazioni di cui dispongono, dai limiti cognitivi delle loro menti e dall’ammontare finito di tempo che hanno per prendere le decisioni (Simon, 1997). 1. PROGETTARE L’INFORMAZIONE > La gestione dell’informazione nel contesto della new economy

17


page tags: information design / infographic / tufte / data visualization / traduzione / multidimensionalità

1.4 L’INFORMATION DESIGN ALL’INTERNO DELLE TEORIE DELLA COMUNICAZIONE

“[communication is] who says what to whom in what channel with what effect” Harold Lasswell Nel vasto scenario delle teorie della comunicazione ci sembra giusto citare almeno quelle che “enumerano” i diversi attori che compongono il processo di comunicazione, ciò al fine di comprendere meglio il ruolo che l’information design può svolgere all’interno di ogni area, e di capire meglio quale prospettiva utilizzare nel progettare artefatti informativi. Un esponente della scuola americana del dopoguerra, Harold Lasswell, è noto principalmente per la definizione che dà di comunica-

WHO (mittente)

WHAT (messaggio)

WHOM (destinatario)

WHAT CHANNEL (canale)

WHAT EFFECT Le 5W che compongono il processo di comunicazione di massa (Lasswell, 1948)

zione: “Who says what to whom in what channel with what effect 5”, le famose cinque “W” che com-

pongono il processso di comunicazione (Lasswell, 1948). Il suo grande contributo alla teoria della comunicazione risiede essenzialmente nel fatto che con lui si inizia a parlare degli “effetti della comunicazione”, e da lì il grande dibattito che ne scaturì6 . Lasswell individua un mittente, un messaggio, un destinatario, un canale e una serie di effetti. Ma non parla né di contesto né della componente umana insita nel linguaggio. La scuola americana a quei tempi era molto influenzata dagli studi orientati all’utilizzo politico dei mass media. Si concentrò poco, però, sugli aspetti squisitamente linguistici riguardanti il processo di comunicazione. Un esponente del formalismo russo, Roman Jacobson, eredita e sistematizza una preesistente tradizione di studi in ambito linguistico, elaborando quella che

5 Chi dice cosa a chi attraverso quale canale con quale effetto 6 Come afferma Eco nel suo saggio del 1964 (Eco, 1964), successivamente alla comparsa dei media di massa (televisione, radio), gli studiosi della comunicazione si spaccano in due fazioni contrapposte: apocalittici (persone preoccupate del potere che iniziano ad assumere i media di massa) e integrati (persone che percepiscono i benefici dei mass media) 18


7 Stiamo parlando della scuola di pensiero nota come “formalismo russo”, definita così in quanto si soffermava sull’analisi dell’aspetto formale dell’opera letteraria. Gli studiosi figli di questa scuola si concentrano quindi sull’organizzazione del sistema linguistico, tralasciando l’interpretazione e la dimensione semantica del testo. Tra gli studiosi che seguivano quest’approccio ricordiamo in particolare Boris M. Ejchenbaum, che fondò l’Opojaz (Società per lo studio del linguaggio poetico) e posa le basi della teoria formalista (Ejchenbaum, 1927); e Vladimir Propp per il suo lavoro sulla struttura delle fiabe (Propp, 1928). 8 La funzione fàtica può essere esemplificata utilizzando come esempio quei piccoli segnali sonori che emettiamo con la bocca quando in una conversazione telefonica dall’altra parte si assiste a un monologo. Quei segnali permettono di far capire al nostro interlocutore che siamo ancora in linea e che la comunicazione è ancora attiva.

MITTENTE

(funzione emotiva)

CONTESTO

(funzione referenziale)

MESSAGGIO CODICE

(funzione poetica)

(funzione metalinguistica)

DESTINATARIO

(funzione conativa)

Le funzioni del linguaggio verbale di Roman Jacobson (Jacobson, 1963)

viene ricordata come teoria delle “funzioni del linguaggio verbale”7 (Jacobson, 1963). In tale teoria, lo studioso russo assegna a ciascun elemento del processo comunicativo una particolare funzione comunicativa: più precisamente il rapporto tra elementi comunicativi e funzioni si articola secondo uno schema nella figura sopra. La funzione emotiva esprime l’at-

teggiamento dell’emittente sulle cose di cui si parla; la funzione referenziale è relativa al rapporto che il messaggio intrattiene con il contesto in cui il messaggio viene divulgato; la funzione poetica è relativa alla struttura, all’organizzazione interna del messaggio, ed ha a che fare con fattori estetici e progettuali. La funzione metalinguistica riguarda il rapporto che

la lingua intrattiene con se stessa, ed ha a che fare con quegli elementi del linguaggio orientati a definire il codice stesso; la funzione conativa, infine, esprime quella tendenza ad avere effetti “extralinguistici” sull’emittente, ad es. ordini, consigli, preghiere etc. Jacobson individua inoltre una funzione di contatto, la “funzione fàtica”che ha lo scopo di mantenere viva la conversazione tra due attori umani in assenza di segnali paralinguistici8 (ad es. nelle conversazioni telefoniche). Queste funzioni non esistono in maniera esclusiva, ma si presentano – anche se con misure e pesi differenti – contemporaneamente all’interno di una comunicazione. Abbiamo parlato di “attori” del processo di comunicazione, e di “funzioni” ad essi associate. Vediamo in che modo queste nozioni possono esserci utili all’interno del discorso sulla progettazione dell’informazione. Più sopra nella trattazione, si è

1. PROGETTARE L’INFORMAZIONE > L’information design all’interno delle teorie della comunicazione

19


page tags: migrazioni di contesto / committenza

9 Quando si vuole affermare l’impossibilità della non comunicazione, non ci si può dimenticare il celebre assioma (Watzlavick, Beavin e Jackson, 1967) secondo il quale, in una situazione in presenza di persone, “non si può non comunicare”. Anche in una situazione molto anonima come all’interno di un vagone di una metropolitana, noi emettiamo continuamente segnali non verbali ai nostri vicini che possono significare “anche se sono a pochi centimetri da te, non intendo entrare nella tua sfera intima”. I nostri compagni di viaggio accolgono il messaggio, lo accettano e lo rinforzano con un silenzioso “bene, lo stesso vale per me nei tuoi confronti”.

“What we need is not more information but the ability to present the right information to the right people at the right time, in the most effective and efficient form” “Ciò di cui abbiamo bisogno non è maggiore informazione, ma l’abilità di presentare la giusta informazione, alle giuste persone, al momento giusto, nella forma più efficace ed efficiente possibile”

Robert E. Horn affermato come parecchia letteratura sull’information design inviti ad assumere una prospettiva utente-centrica nella progettazione di artefatti informativi efficaci. A mio avviso, questa è una semplificazione, in quanto come abbiamo visto finora, gli attori della comunicazione da considerare quando si progetta sono molti. Visto che “non si può non comunicare”9 e che sia la progettazione di una segnaletica che la progettazione di un diagramma esplicativo, che di un semplice grafico sono tutti messaggi, allora il discorso effettuato sopra vale anche per l’information design.

20

1.4.1 L’importanza del committente Partiamo innanzitutto col dire che non sempre l’information designer coincide con il mittente del messaggio: il lavoro del designer è un lavoro che si esegue il più delle volte per commessa. Egli dovrà progettare il suo artefatto tenendo conto dei bisogni dell’emittente-committente. E questo non è l’unico problema. Immaginiamo di progettare una serie di grafici per conto di un committente che opera in un settore caratterizzato dall’utilizzo, nella comunicazione, di un registro fortemente tecnico. In un caso del genere, oltre che tenere in considerazione le esigenze del committente, sembra necessario anche entrare in sintonia con il suo linguaggio, capire il suo mondo, rispolverare in qualche caso delle nozioni che un designer, vuoi per il lavoro che fa, vuoi per la sua preparazione che molte volte è un misto di competenze tecniche ed umanistiche, ha dimenticato o di cui non fa uso nella sua quotidianità. Sembra inutile confezionare un prodotto che sia perfettamente leggibile da parte dei destinatari, ma che poi non rispecchi, o rispecchi solo in parte i contenuti che la nostra committenza vuol comunicare al suo pubblico.


1.4.2 Le migrazioni di contesto Quindi, una volta detto che il nostro committente opera in un settore e che ha a che fare con un determinato pubblico, sembra opportuno introdurre il concetto di “contesto”. Qualunque messaggio circoli in un ambiente. Il più delle volte, esso viene confezionato in un ambiente e viene decodificato in un altro. Questo pone al designer un altro problema, ossia quello del “contesto”. Progettare senza tener conto delle migrazioni di contesto che un messaggio affronta nel suo ciclo di vita equivale a ideare un prodotto alimentare a base di carne bovina per la vendita in India. È notorio, infatti, che seppure l’India sia un paese che sempre più si avvia verso la secolarizzazione, alcune credenze religiose potrebbero portare a decodifiche del messaggio indesiderate dal punto di vista pubblicitario. L’esempio alimentare, che potrebbe far sorridere, in realtà è portatore di un importante significato: se tra i propri obiettivi c’è quello di comunicare informazioni in maniera efficace, allora lo studio delle migrazioni di contesto che può subire un messaggio è di fondamentale importanza. L’information designer dovrà tener conto di problemi che vanno da quello più banale delle differenze linguistiche tra contesti diversi, a quelli un tantino più complessi che talvolta riguardano veri e propri pila-

stri dell’assetto simbolico-culturale di un paese. Tra i problemi più comuni a cui il progettista va incontro quando progetta un artefatto informativo, troviamo soprattutto le differenze che riguardano (in ordine di complessità): La parte significante dei sistemi simbolici: - lingue e sistemi di scrittura; - numerazione e unità di misura.

La parte semantica: - ampiezza e profondità delle categorie concettuali; - significati denotativi e connotativi di un termine.

La parte culturale: - superstizione; - attribuzioni di significato country-specific; - valenza e impatto socio-culturale del messaggio.

Tali problemi aumentano in maniera direttamente proporzionale quanto più un contesto è culturalmente lontano da quello in cui il messaggio viene progettato. Quando si parla di comunicazione la distanza geografica conta poco, ciò che importa è la condivisione di credenze, valori, atteggiamenti e categorie interpretative con cui decodificare la complessità del

1. PROGETTARE L’INFORMAZIONE > L’information design all’interno delle teorie della comunicazione

21


page tags: migrazioni di contesto / semantica / cultura / interculturalità / esportazione / brand

Coca Cola, in cinese “Bicchiere di gioia” 10

Seven Up nel contesto culturale cinese: QIXI, ossia “Sette felicità”

mondo. A mo’ di esempio, sembra opportuno in questa sede citare il lavoro effettuato dalle agenzie pubblicitarie quando si sono imbattute nella delicata operazione di esportazione di alcuni brand, nel contesto socioculturale Cinese11 . Coca Cola, in cinese si trascrive con quattro sinogrammi:

可口可乐 che si pronunciano kekou kele, un suono leggermente diverso dall’originale, ma riconoscibile. I quattro sinogrammi hanno donato al nome un nuovo significato: “è buono ed è gioia”. Il bicchiere di Coca Cola, al bar, viene chiesto usando solo le ultime due sillabe, cioè si chiede un “bicchiere di kele”, vale a dire “un bicchiere di gioia”. I quattro sinogrammi, se considerati singolarmente, significano:

可 = potere

口 = bocca

乐 = gioia

Nel complesso, il brand acquisisce il significante: “potere bocca / potere gioia”. Kekou kele si compone di due unità semantiche assolutamente simmetriche: verbo-sostantivo / verbo-sostantivo, una struttura che riflette il tipo di simmetrie usate nella poesia classica e nella prosa artistica. La prima parte, kekou “potere-bocca”, nel linguaggio colloquiale indica qualcosa di “buono, saporito, gradevole” mentre la seconda parte, per effetto di una curiosa quanto efficace forma di reiterazione, acquista un significato che gli viene dato dalla struttura simmetrica: viene intesa, infatti, come “gioia”. Nell’insieme le quattro sillabe che compongono la trascrizione del marchio seguono la struttura simmetrica caratteristica della poesia classica apportando, oltre la parola “gioia”, un’ulteriore elemento emotivo, quello di ricevere un messaggio attraverso una forma sintattica familiare e piacevole all’orecchio. Un’altra nota bevanda, Seven Up, ha evitato la trascrizione fonetica, di difficile pronuncia in cinese,

10 Tutte le immagini di questa sezione si riferiscono alla trascrizione di marche di prodotti occidentali presi in Cina da insegne pubblicitarie, locandine dei negozi e pubblicità su riviste. 11 L’indagine da cui ho preso spunto per elaborare il paragrafo sulle migrazioni di contesto è parte di un progetto finanziato dalla Unione Europea finalizzato all’internazionalizzazione delle PMI (azione ADAPT, nome T.E.C.L.A., Tools for Extracommunity Languages Actions). 22


Trussardi: un caso di insuccesso

Cartier: un caso particolare

ed ha scelto di tradurre e commercializzare il brand attraverso un nome breve, di facile pronuncia, di piacevole suono e di significato culturalmente accettato e ben augurale: Qixi, ossia “Sette felicità”. Quelli descritti finora costituiscono esempi di particolare successo di internazionalizzazione del brand e più in generale di come uscire vincitori da una migrazione di contesto. Ma molti sono anche i casi di insuccesso, dovuti nella maggior parte dei casi a una complessiva sottovalutazione della crucialità dell’esportazione di una marca. Un noto brand legato alla moda made in italy, Trussardi, ha trascritto il suo marchio utilizzando alcuni sinogrammi che si pronunciano Telusaerdi. I primi due, e di conseguenza le prime due sillabe:

alcun modo con il brand dal punto di vista semantico. L’esempio è singolare perché pur presentando il problema di cui sopra, un’inchiesta condotta a Pechino con alcuni clienti del negozio Cartier12 , ha evidenziato che l’espressione Kadiya, pur senza significato ha un suono particolarmente piacevole e facilmente memorizzabile. Rientrano nelle problematiche legate al contesto anche la scelta e l’utilizzo di determinati colori, in quanto culture diverse attribuiscono significati diversi ai colori visualizzati. Ad esempio in molti sistemi socio-culturali il nero indica lutto, mentre in altri può suggerire eleganza e sobrietà.

特鲁 significano “particolarmente sciocco”. Un altro esempio del tutto singolare è il caso del brand Cartier. Esso si pronuncia Kadiya ed i tre sinogrammi utilizzati per tradurlo, si occupano solo di trascriverlo foneticamente senza interagire in 12 Inchiesta svolta nel negozio di Cartier a Pechino il 4 settembre 1999. Liu Xie della Beijing Advertising e Xie Bo del Renmin Ribao sono stati intervistati il 7 settembre 1999. 1. PROGETTARE L’INFORMAZIONE > L’information design all’interno delle teorie della comunicazione

23


page tags: soglia differenziale / soglia fisiologica / soglia assoluta / gestalt / percezione / vista

1.4.3 Il destinatario Come già detto sopra, gran parte della letteratura sull’information design si sofferma molto di più sull’attenzione che dovrebbe essere rivolta al destinatario dei processi di comunicazione, l’anello finale della catena della comunicazione, il bersaglio delle azioni di progettazione dell’informazione. Sembra opportuno suddividere in tre macro-aree quelle che sono le problematiche coinvolte nei processi di decodifica dei messag-

30% 24

15%

7%

2%

gi: una strettamente legata alle caratteristiche fisiologiche di un individuo; l’altra più strettamente correlata con caratteristiche psicologiche; un altra ancora più strettamente legata al contesto di decodifica:

a. Problematiche fisiologiche; b. Problematiche individuali; c. Problematiche contestuali.

Le prime sono problematiche a cui un information designer deve porre attenzione, e riguardano principalmente quelle che vengono comunemente definite soglie percettive fisiologiche di un organismo vivente. Gli stimoli la cui intensità risulta talmente debole da non produrre alcuna reazione sensoriale si considerano “sotto la soglia fisiologica”. Essa rappresenta quel limite necessario da superare affinché uno stimolo sia percepito, ed è per questo motivo

che superarla è uno degli obiettivi fondamentali dei marketers e dei comunicatori. Un’immagine troppo piccola fa fatica ad essere percepita, così come un suono di debole intensità. Viene invece definita soglia assoluta, la stimolazione minima che può essere ricevuta dagli organi di senso, per essere riconosciuta come tale. Le implicazioni per i progettisti grafici sono molte, e ovviamente riguardano soprattutto la percezione visiva. Consideriamo ad esempio la percentuale di colore che va a formare il retino di una tinta nella grafica per la stampa. Percentuali molto basse vanno a formare tinte talmente lievi che talvolta non superano la soglia assoluta, avvicinandosi in tal modo alla percezione del vuoto (bianco). Il problema acquisisce proporzioni maggiori per quanto riguarda i colori chiari, come ad esempio il giallo nella figura a sinistra. Un altro tipo di soglia riguarda


2% Black

5% Black

7% Black

2% Black

30% Black

50% Black

invece la quantità minima di stimolazione necessaria per fare in modo che il destinatario riesca a percepire due stimoli come differenti. Tale tipo di soglia viene definito soglia differenziale. Ritornando all’esempio fatto pocanzi per i colori, per far sì che due cromie vengano percepite come diverse, bisogna apportare ai due colori una modifica che riesca a superare la soglia differenziale. Nella prima fila di colori (sopra), le tre cromie differiscono di una quantità di nero quasi impercet-

tibile. Probabilmente accostando l’uno all’altro risulta anche possibile percepirne una differenza, cosa molto più difficile nel caso di accostamenti su superfici piu vaste (ad esempio due pagine intere). Nella seconda fila di colori, invece, la quantità di nero assegnata al blu riesce a far percepire al lettore una differenza sostanziale tale da far percepire variazioni sul piano del chiaro/scuro. Abbiamo iniziato questa sezione parlando di soglie cosiddette fisiologiche. Tali soglie variano da persona a persona, e su di esse influiscono meccaniche legate all’invecchiamento, alla presenza/ assenza e alla forza/debolezza di alcuni sensi. Ad esempio i ciechi tendenzialmente sviluppano capacità uditive fuori dalla media e viceversa. Sembra quasi superfluo citare l’enorme contributo che la psicologia della Gestalt ha fornito al design. Questa scuola di pensiero si rivelò piuttosto innovativa, in quanto rintracciò

le basi del comportamento, nel modo in cui viene percepita la realtà, anziché per quella che è realmente. Secondo questa scuola di pensiero, “l’insieme è più della somma delle sue parti” le persone non percepiscono gli stimoli in maniera isolata, ma tendono a raggrupparli secondo schemi pre-esistenti scelti per imitazione, apprendimento e condivisione: 1. Buona forma (la struttura percepita è sempre la più semplice); 2. Prossimità (gli elementi sono raggruppati in funzione delle distanze); 3. Somiglianza (tendenza a raggruppare gli elementi simili); 4. Buona continuità (tutti gli elementi sono percepiti come appartenenti ad un insieme coerente e continuo);

1. PROGETTARE L’INFORMAZIONE > L’information design all’interno delle teorie della comunicazione

25


FATTORI SITUAZIONALI

La figura riassume quelli che alcuni tra i fattori più comuni che possono influenzare il processo di decodifica

STRESS

MEMORIA

FATICA

FATTORI UMANI LIMITI COGNITIVI

CAPACITÀ ATTENTIVA SITUAZIONE PERSONALE

26


page tags: fattori umani / gestalt / selezione attentiva / memoria / decodifica / stress

5. Destino comune (se gli elementi sono in movimento, vengono raggruppati quelli con uno spostamento coerente); 6. Figura-sfondo (tutte le parti di una zona si possono interpretare sia come oggetto sia come sfondo); 7. Movimento indotto (uno schema di riferimento formato da alcune strutture che consente la percezione degli oggetti); 8. Pregnanza (nel caso gli stimoli siano ambigui, la percezione sarà buona in base alle informazioni prese dalla retina). Attraverso il processo della percezione inteso in questo modo, gli esseri umani organizzano sia la percezione che il pensiero e la sensazione. Altri fattori, invece, non dipendono da caratteristiche fisiologiche, ma sono influenzati da meccanismi psicocognitivi, come ad esempio la capacità attentiva e la memoria. Esiste una relazione tra percezione e attenzione: una determinata attività può catturare tutta la nostra attenzione, mentre altri stimoli possono passare quasi inosservati. Anche l’information

design incappa in quella che viene definita selezione attentiva, ossia quel processo di cui si servono i soggetti per poter sopravvivere all’elevata quantità di stimoli a cui è sottoposto quotidianamente. Più un progetto grafico è in grado di attirare l’attenzione del lettore, più alto sarà il potenziale informativo che sarà in grado di suscitare. Per quanto riguarda le problematiche legate alla specifica situazione, una serie di studi recenti hanno evidenziato come nei processi di decodifica intervengano fattori legati al contesto e fattori legati alle caratteristiche individuali. Nello schema a fianco sono evidenziati alcuni tra i fattori più comuni che influenzano il processo di decodifica da parte del destinatario della comunicazione. Il contesto in cui si riceve il messaggio influenza la comprensione del messaggio: ascoltare una notizia a casa comodi sul divano o in piedi sull’autobus, danno luogo a comprensioni e interiorizzazioni del tutto diverse; le problematiche legate alla memoria variano da individuo a individuo, e in più dipendono dal grado di coinvolgimento e di attenzione del destinatario; anche lo stress e l’affaticamento incidono sulla comprensione delle informazioni, e sulla valenza positivo/negativa a loro attribuite; ci sono poi quelli che vengono definiti “limiti cognitivi”, facendo riferimento alla presenza o meno di strutture cognitive adeguate per la buona comprensione delle informazioni.

1. PROGETTARE L’INFORMAZIONE > L’information design all’interno delle teorie della comunicazione

27


1.5 DESTINATARIO, LETTORE, UTENTE Negli ultimi anni del secolo appena trascorso, abbiamo assistito ad un sostanziale cambio di paradigma del modo di intendere i processi comunicativi. Agli albori della ricerca sulla comunicazione si è assistiti alla interpretazione dei fenomeni comunicativi umani, alla luce di teorie mutuate da settori della conoscenza profondamente diversi. Il primo modello che ha cercato di “spiegare” i processi comunicativi è, infatti, quello informazionale, proposto nel 1949 da due ingegneri americani, Shannon e Weaver (1949). Esso ipotizza una comunicazione lineare tra emittenti e destinatari e deriva dalla teoria matematica dell’informazione, in cui tutti i dati assumo-

no due soli valori: impulso ed assenza d’impulso (1 e 0). Il modello descrive la trasmissione ottimale dei messaggi mediante un canale di comunicazione. Lo scopo principale è quello di fare passare attraverso il canale il massio mo d’informazione con il minimo di distorsione, nel minor tempo possibile, e utilizzando la minima energia (Wolf, 1985). In questo 28

ym

g

La teoria dell’ago ipodermico individua nell’audience una massa indifferenziata di individui senza alcuna differenza. L’approccio è emittentecentrico, l’attenzione è cioè rivolta esclusivamente alla composizione del messaggio e non alle differenze individuali che intercorrono nella massa dei destinatari.

m v f v fr uy s a

g odml

ay s

h

md

h

v


page tags: ago ipodermico / isotopia / umberto eco / peirce / interpretante / interpretazione / cooperazione testuale

“un testo vuole che qualcuno lo aiuti a funzionare”

[interpretante]

Umberto Eco Lector in Fabula, p. 59, 1979

et gg [o

] en

m

ta

n

e

et

ab

se

to

]

re

ep

[r

modello, l’importanza, più che al destinatario, viene rivolta alla qualità del canale, considerato di cruciale importanza proprio perché è l’unico passaggio in cui il messaggio originale impostato dall’emittente può subire modifiche. Una teoria, anch’essa poco recente, che si basa su un concetto di comunicazione molto simile è quella conosciuta come teoria dell’ago ipodermico, detta anche “Bullet Theory”. Secondo questa teoria, il messaggio viene “iniettato” dal medium direttamente nel cervello del ricevente, il quale svolge un ruolo del tutto passivo nella decodifica. Ancora oggi è possibile notare, all’interno delle teorie sul marketing, qualche strascico di questo modello, come ad esempio il concetto di target (letteralmente: bersaglio), usato tutt’oggi per indicare i destinatari di una campagna di comunicazione. Verso la fine degli anni ‘70 inizia a farsi avanti un nuovo paradigma che attribuisce un ruolo centrale alle dinamiche interpretative individuali. Umberto

Eco scrive una delle sue opere fondamentali, Lector in fabula (1979), all’interno del quale inserisce la sua riflessione sull’importanza dell’interpretazione di un testo da parte del lettore, e sulla cooperazione nella costruzione del messaggio da parte di quest’ultimo. Nel leggere un testo, il lettore di un’opera agisce a livello cooperativo con l’autore nella costruzione di significato, avvalendosi anche di ciò che in un testo viene definito come “non detto”. Nel condurre la sua trattazione, Umberto Eco si rifà al concetto di isotopia coniato dal semiologo linguista Algirdas J. Greimas: l’isotopia è “un insieme di categorie semantiche ridondanti che rendono possibile la lettura uniforme di una storia”. In un testo c’è molto di più di 1. PROGETTARE L’INFORMAZIONE > Destinatario, lettore, utente

29


page tags: utente / ellen lupton / interazione uomo-macchina / elaborazione / ricerca / ermeneutica

ciò che viene letto, e tutto ciò passa al vaglio della situazione individuale del lettore, delle sue conoscenze personali, della sua capacità di creare collegamenti intertestuali. L’opera di Eco colpisce nel segno gli studiosi della comunicazione più attenti. Essa pone all’attenzione dei comunicatori le problematiche riguardanti le diversità che intercorrono tra i destinatari di un messaggio, e spostano il focus della progettazione dal canale e dal messaggio, al destinatario, visto con occhi nuovi, inteso come l’anello cruciale del processo di progettazione della comunicazione, il passaggio dove i comunicatori finiscono per giocarsi tutte le loro carte affabulatorie migliori. Anche se Eco è stato il primo a parlare di interpretazione in un ottica mass-mediale, c’è una vasta schiera di studiosi appartenenti alla scuola ermeneutica che hanno parlato dei processi interpretativi molto prima di lui. In particolare Eco si rifà ad alcuni concetti espressi dal filosofo ottocentesco Charles Sanders Peirce, conosciuto come il padre del pragmatismo e per i suoi contributi - oltre che alla logica e all’epistemologia - alla semiotica moderna. Peirce utilizzò il termine interpretante per significare un’entità mentale che funge da punto soggettivo di collegamento tra un segno e un oggetto, ovvero: qualcosa che sta a qualcuno per qualcosa sotto qualche rispetto o capacità (vedi figura sopra). 30

Verso la fine degli anni ottanta e intorno ai primi anni novanta, i progettisti grafici più sperimentali modificarono lentamente il loro approccio al design, iniziando a considerare il lettore non più un semplice fruitore passivo ma un soggetto attivo alla comunicazione, fondamentale per la comprensione complessiva dell’opera. Le ricerche effettuate alla fine degli anni novanta, sull’interazione uomo-computer (HCI) e sull’interfaccia e usabilità nel design, fecero emergere una nuova figura all’interno del ciclo comunicativo. Oggi il soggetto principale della comunicazione, non è più né il lettore né l’autore, ma l’utente. Come è stato già ampiamente detto, esso si presenta come un’insieme di bisogni e di abilità e disabilità cognitive, fisiche ed emotive. L’interazione con il testo assume più importanza del suo significato complessivo, e l’utente interagisce con il testo allo stesso modo di quanto lui interagisce con il progettista. Partendo quindi, dagli studi sull’interazione uomo-macchina, alcuni di quelli considerati i pilastri della leggibilità sono stati rivisti e aggiornati. È ancora vero che leggere su un display digitale risulta più impegnativo di leggere un testo stampato? Le differenze tra un lettore a schermo e un lettore di testi stampati è da imputare più a un nuovo tipo di cultura che alle caratteristiche intrinseche del medium attraverso cui avviene la lettura. È vero che esistono delle differenze anche sostanziali tra i me-


dium: gli utenti dei siti web hanno aspettative diverse rispetto a un lettore tradizionale. L’utente spettatore di un medium come la televisione è passivo, contemplativo, a differenza di un utente web che instaura un approccio di tipo “produttivo” e attivo rispetto a un testo. Si assiste ad un vero e proprio cambio di modalità di fruizione: da una modalità “elaborazione”, a una modalità “ricerca”. Queste nuove abitudini culturali derivanti dall’utilizzo dello schermo digitale stanno portando dei cambiamenti anche nel design per la stampa, e non possono essere trascurati. Il problema però è che nella nostra era sovraccarica di informazioni, una persona continua a poter elaborare ancora solo un messaggio alla volta. Questo bug cognitivo è il segreto dietro cui nascono molti stratagemmi studiati per attirare l’attenzione degli utenti. La teoria dell’utente tende a preferire soluzioni grafiche standard, rispetto a quelle più innovative, spingendo il design in un ruolo subalterno.

“The impatience of the digital reader arises from culture, not from the essential character of display technologies. Users of Web sites have different expectations than users of print. They expect to feel “productive,” not contemplative. They expect to be in search mode, not processing mode.” Ellen Lupton Birth of user, 2004

1. PROGETTARE L’INFORMAZIONE > Destinatario, lettore, utente

31



E ER N TI G N SI O E FR D E IC V H O P U A N GR LE EL D


LE NUOVE FRONTIERE DEL GRAPHIC DESIGN 2.1 INTRODUZIONE AL DESIGN GENERATIVO

“Introdurre la dimensione temporale all’interno della progettazione grafica significa attribuire al marchio una vera e propria essenza vitale” Stefano Caprioli, Pietro Corraini Manuale di immagine non coordinata

Nel capitolo precedente abbiamo affrontato le problematiche teoriche a cui va incontro il comunicatore, o più specificamente colui che progetta l’informazione. In questo capitolo verranno affrontate le prospettive più recenti in tema di progettazione grafica. Ogni tipo di progetto può essere analizzato attraverso due prospettive: a. prospettiva strutturale; b. prospettiva procedurale.

La prima riguarda “il modo in cui le singole parti di un progetto sono disposte e ordinate tra di loro. Una sorta di sintassi visiva. La seconda, invece, è costitu34

ita dalle norme e dalle procedure seguite per la realizzazione di un progetto. Una nuova corrente di pensiero che parla di progettazione generativa, si fonda sul concetto di codice genetico del progetto grafico, portatore di tutte le informazioni, appunto, sulle proprietà degli oggetti e sulle procedure per generarli. Nel graphic design inteso in senso tradizionale, la prospettiva procedurale, anche se correttamente formalizzata in tutti i suoi punti, non è mai stata caratterizzata da alcun elemento di automaticità. Per capire meglio le dinamiche della progettazione generativa una metafora che aiuta a comprendere questo concetto viene in nostro soccorso: il seme. In esso sono racchiuse tutte le informazioni necessarie per generare organismi vegetali che, pur facendo parte della stessa famiglia, presentano differenze, talvolta anche notevoli, sul piano della forma. Possiamo ipotizzare che nel seme esistano informazioni di questo tipo: 1. elementi strutturali invarianti; 2. elementi strutturali varianti; 3. regole per la variazione della struttura; 4. iter procedurale con un inizio e una fine.

Per elementi strutturali si intendono quelle parti che costituiscono la struttura e la forma della pianta (co-


Aaron Koblin, Flight patterns: Atlanta. Un esempio di data visualization utilizzando un procedimento generativo computerizzato

lore, altezza, grandezza della foglia, profumo etc). Alcuni elementi strutturali possono essere influenzati da variabili esterne, e quindi variare da pianta a pianta. Oppure possono rimanere invariati: due piante ottenute con lo stesso tipo di seme possono variare in altezza, nel numero di rami, ma non nel colore, nel tipo di fiore e nella forma della foglia. Nel seme sono inoltre presenti le regole e le variabili che definiscono come ogni singola istanza può variare, e i passaggi da compiere dall’inizio alla fine, dalla semina, alla caduta delle foglie. Il filosofo Aristotele identificava proprio nel seme “la potenza di

una pianta”, e nello stesso tempo, nella pianta l’“atto del seme”. Nel caso della progettazione grafica, più specificamente di un marchio, la progettazione generativa potrebbe intervenire: a. nella definizione degli elementi strutturali; b. nelle definizione di metodi e variabili per la variazione; c. nella definizione della procedura.

Stefano Caprioli e Pietro Corraini (2006), parlano di “introduzione della dimensione temporale” all’in2. Le nuove frontiere del graphic design > Introduzione al design generativo

35


page tags: vehicle motion drawings / tree art / postal works / tim knowles /programmazione / philip galanter / nature

Aaron Koblin, House of cards Radiohead video

terno della progettazione grafica di un marchio. Essa, all’interno di un codice, potrebbe essere assimilata ad una variabile inserita all’interno di un metodo, e finirebbe per dotare il marchio di una sua temporalità, di una sua identità che prescinderebbe dall’identità di ciò che rappresenta in termini visivi. La cosa più importante da dire è che nel design generativo, il processo con cui si ottengono segni ed oggetti, ha molto più valore del risultato formale. Risulta ovvio, a questo punto, avendo parlato di semi e di codice genetico, affermare che i linguaggi di programmazione possano costituire uno strumento del tutto nuovo nelle mani di un designer, e che 36

la teoria degli algoritmi, l’algebra e la matematica possano assurgere a nuova base teorica per la progettazione grafica. Ma è anche vero che non tutti gli esempi di design generativo sono stati realizzati tramite linguaggi di programmazione. Nel suo progetto Tree Art, l’artista inglese Tim Knowles, realizza disegni generativi legando pennarelli ai rami di un albero. Con l’oscillare dei rami dovuto al vento le punte disegnano forme astratte su una grande tela sottostante. Un altra dimensione importante, a mio avviso, che va introdotta all’interno della discussione sul design generativo è quella relativa alla “casualità” intesa come “mancanza di controllo sulla complessità e sul numero delle variabili ambientali e contestuali”. Essa va in ogni caso distinta da un tipo di casualità “arbitraria”: tutto ciò che è arbitrario e non fa parte di una precisa scelta è fuori dal contesto della progettazione generativa. Nel caso di Tree Art, Tim Knowles fa in modo che l’ambiente incida in maniera diretta sulla produzione segnica, senza alcun controllo da parte del progettista. Altri progetti dello stesso artista confermano questo modus operandi: in Postal Works e Vehicle Motion Drawings, Knowles affida prima al servizio postale e poi ad alcuni veicoli la produzione dell’artefatto artistico. In questi ultimi due casi, le variabili ambientali non controllate sono il tipo di spedizione (aerea, navale, su ruota),


13 La musica del progetto è stata realizzata dalla compositrice Mira Calix

“Generative Art refers to any art practice where the artist uses a system, such as a set of natural language rules, a computer program, a machine, or other procedural invention [...] Generative Art is uncoupled from any particular technology. Generative Art may or may not be high-tech.” Philip Galanter What is Generative Art? Complexity Theory as a Context for Art Theory (2003).

il tipo di veicolo (auto, camion, motociclo) e il tipo di tratto stradale (autostrada, statale, percorsi urbani, percorsi rurali). Nel caso di Tree Art, anche il tipo di albero e la posizione geografica possono essere considerate due variabili non controllate. Natures di Quayola, è un altro progetto generativo che esplora il dialogo tra il naturale e l’artificiale. L’autore riesce a creare un mondo dove questi due

Tim Knowles, Tree Art

elementi coesistono armoniosamente. Il progetto consiste di una serie di composizioni audiovisive 13 che simulano i comportamenti organici delle piante attraverso un particolare utilizzo di tecniche di motion-tracking. Il movimento melodico delle piante che si muovono con il vento, a suon di musica, simulano un’intricata ragnatela di linee e di forme generate da un codice. Interpretando le strutture organiche delle piante, l’elemento artificiale diviene parte della natura e viceversa. Ma anche in progetti generativi caratterizzati da elevata casualità sono presenti elementi progettuali definiti dall’autore: la tela posta sotto l’albero, il tipo di pennarello, la gabbia chiusa nel cofano dell’auto che 2. Le nuove frontiere del graphic design > Introduzione al design generativo

37


page tags: arduino / schede / sensori / cibernetica / intelligenza artificiale / hardware

Tim Knowles, Vehicle Motion Drawings

delimita il disegno da parte della mina, e così via. Sembra opportuno, dunque aggiungere la dimensione della casualità allo schema per la progettazione generativa costruito pocanzi: a. definizione degli elementi strutturali; b. definizione di metodi e variabili per la variazione; c. scelta delle variabili contestuali ed ambientali; c. definizione della procedura.

Anche nella generazione assistita da computer è possibile impostare elementi casuali. Per fare in modo che ciò avvenga, bisogna utilizzare un’interfaccia, un medium che riesca a mettere in comuni38

Tim Knowles, Postal Works

cazione il mondo reale con il mondo computazionale. In poche parole, un sensore. Tramite i sensori è possibile fare in modo che il codice genetico del progetto generativo, prenda dei dati dal mondo reale e li utilizzi per creare quella combinazione di elementi casuali non controllati a cui si accennava prima. Per avere un sensore, non è necessario pensare a qualcosa di eccessivamente complicato: un semplice microfono o una camera possono comunicare al codice


Una scheda madre Arduino

Quayola, Natures, installazione audiovisiva

del nostro progetto generativo delle variazioni. Basti pensare alla varietà di librerie esistenti in grado di utilizzare input visivi e sonori, facendoli diventare variabili del nostro progetto. L’importante è capire che sostanzialmente, quando si opera con i sensori, si assite ad un tentativo di passaggio da una dimensione esclusivamente digitale, ad una dimensione un

po’ più analogica. Oggi, con poche decine di euro e un gran numero di software open-source, è possibile disporre di tutto il necessario per fare progettazione generativa. Un gruppo di Italiani provenienti da Torino sono riusciti a creare il primo progetto mondiale di hardware open-source, l’ormai celebre Arduino: una documentazione completa e un set di componenti elettroniche (scheda madre, di rete, per la georeferenziazione) che permette a chiunque mastichi un po’ di elettronica e linguaggi di programmazione, di crearsi le interfacce di cui ha bisogno. Il confine del design generativo con la robotica e l’intelligenza artificiale inizia a diventare molto sottile. È per questo che cercherò di mantenere la trattazione nei confini del design, parlando specificamente dell’utilizzo dell’hardware, unicamente come interfaccia tra il computer e il mondo reale. 2. Le nuove frontiere del graphic design > Introduzione al design generativo

39


page tags: conditional / design / regole / manifesto / logic / process / input

2.2 IL PROCESSO È IL PRODOTTO: DESIGN PARTECIPATIVO Kaleidoscope / Rules Setup * Each player has one color pen. * The paper is divided into 4 imaginary segments, in which a player operates. * Each turn a player is either leader or follower. * The players decide which person may be the leader first. Play * Clockwise in turns a player is the leader, for approx. 30 sec. The other 3 people are the followers. * The leader draws freely in his segment using only straight lines. * The followers must mirror the drawing of the leader, synchronously while he/she is drawing.

Conditional Design Tuesdays, Kaleidoscope (2009)

Nonostante il designer e il suo risultato non siano stati completamente messi da parte, ciò che è in queste forme di progettazione appare in primo piano è la traccia visibile del processo. A differenza dei tentativi modernisti di abbandonare la soggettività in favore della razionalità della macchina, alcuni progetti offrono il quadro per azioni successive che si collocano fuori dal controllo del designer, e sono spesso completate dallo spettatore/partecipante. Nel manifesto del conditional design, Luna Maurer, 40

End * The ending of the game is decided by the player who proposed to play it.

Edo Paulus, Jonathan Puckey e Roel Wouters gettano le basi per una forma artistica del tutto nuova, dove il processo con si ottiene l’artefatto artistico è più importante della creazione stessa, e del medium utilizzato per veicolarla. I designers lavorano creando opere generative usando un’attrezzatura analogica e non digitale: le installazioni e i pattern visivi creati con questa modo di intendere la progettazione, sono generati sulla base di algoritmi, metodi, variabili e costanti che sono interpretate da persone o


CONDITIONAL DESIGN A manifesto for artists and designers Through the influence of the media and technology on our world, our lives are increasingly characterized by speed and constant change. We live in a dynamic, data-driven society that is continually sparking new forms of human interaction and social contexts. Instead of romanticizing the past, we want to adapt our way of working to coincide with these developments, and we want our work to reflect the here and now. We want to embrace the complexity of this landscape, deliver insight into it and show both its beauty and its shortcomings.

Our work focuses on processes rather than products: things that adapt to their environment, emphasize change and show difference. Instead of operating under the terms of Graphic Design, Interaction Design, Media Art or Sound Design, we want to introduce Conditional Design as a term that refers to our approach rather than our chosen media. We conduct our activities using the methods of philosophers, engineers, inventors and mystics.

Process The process is the product. The most important aspects of a process are time, medications without a prescription relationship and change. The process produces formations rather than forms. We search for unexpected but correlative, emergent patterns. Even though a process has the appearance of objectivity, we realize the fact that it stems from subjective intentions.

Logic Logic is our tool. Logic is our method for accentuating the ungraspable. A clear and logical setting emphasizes that which does not seem to fit within it. We use logic to design the conditions through which the process can take place. Design conditions using intelligible rules. Avoid arbitrary randomness. Difference should have a reason. Use rules as constraints. Constraints sharpen the perspective on the process and stimulate play within the limitations.

Input The input is our material. Input engages logic and activates and influences the process. Input should come from our external and complex environment: nature, society and its human interactions.

Luna Maurer, Edo Paulus, Jonathan Puckey, Roel Wouters 41


page tags: rules / conditional design / paul elliman / daniel eatock / opera partecipata

4 Long Lines / Rules * Draw one line for 1,5 hours without your pen leaving the paper. * You may stop for max. 5 sec. without lifting the pen. * Don’t cross another line.

Conditional Design Tuesdays, 4 Long Lines (2009)

da gruppi di persone invece che da una macchina. Gli autori del manifesto insistono sul fatto che l’influenza dei media e delle tecnologia sul nostro mondo, incide sulla percezione di velocità e di continuo cambiamento con cui interpretiamo il nostro vissuto. La società in cui viviamo è dinamica, guidata dai dati, generante continuamente nuove forme di interazione umana e contesti sociali. Invece di guardare al passato, questo gruppo di artisti invita ad adattare il proprio modo di lavorare, facendolo coincidere con questi sviluppi. C’è bisogno di accogliere la complessità del mondo. Comprendere la sua bellezza e nel contempo mostrarne i limiti. Nel conditional design, gli aspetti importanti da considerare per quanto riguarda la nozione di “processo” sono il tempo, le relazioni e il cambiamento. Il processo produce formazioni anziché forme, ed anche se esso ha l’apparenza dell’obiettività, biso42

gna essere coscienti che in realtà esso si sviluppa a partire da idee e da intenzioni soggettive. Per progettare le condizioni attraverso cui vengono generati gli artefatti artistici del conditional design, bisogna adoperare la logica, interpretandola in chiave squisitamente strumentale: un contesto chiaro e logico mette in evidenza tutto ciò che sembra non adattarvisi. Perciò un altro passaggio fondamentale è progettare le condizioni usando regole il più possibile intelligibili. Come già evidenziato nel corso della trattazione, gli autori del manifesto mettono in guardia i lettori affermando in maniera decisa che bisogna ad ogni costo evitare la casualità quand’essa appare arbitraria. All’interno di un processo condizionale, ogni differenza deve essere motivata. Le regole e le istruzioni vanno viste come vincoli entro cui esprimere la propria creatività, non come un limite intrinseco dell’approccio: essi acuPaul Elliman, poster per Lautréamont iscono la prospettiva sul


14 Umberto Eco in “Opera aperta”, parla della consapevolezza dell’artista di subire l’apertura come dato di fatto inevitabile, ed anzi egli stesso offre l’opera in modo da promuovere la massima apertura possibile. Per “apertura” non si intende affatto “indefinitezza” della comunicazione: la libertà interpretativa ha senso solo in rapporto a «certe regole del gioco», per usare le parole di Eco. Quando ci troviamo di fronte ad un testo, è necessario seguire alcune regole, affinché la nostra interpretazione possa essere comunque definita accettabile. Per “apertura” si intende più la “possibilità di una pluralità di interpretazioni di un testo”, dove è impossibile dire quale sia la migliore interpretazione di un testo, ma è possibile dire quali siano quelle sbagliate.

The Perfect Circle / Rules * End each turn with a perfect circle which is larger than the previous one Conditional Design Tuesdays, The Perfect Circle, (2009)

processo e stimolano il gioco all’interno dei limiti definiti. Un’altra cosa di fondamentale importanza su cui soffermarsi è il concetto che gli autori hanno di “Input”: il manifesto recita: «L’input è il nostro materiale: esso impegna la logica e attiva e influenza il processo. L’input deve venire dal mondo complesso che ci circonda; natura, società e interazioni umane». Quest’ultimo passaggio serve a ribadire l’intento quasi “sociale” di questa metodologia progettuale, rendendola a tutti gli effetti una forma d’arte sociale e partecipativa. Un altro esempio di progettazione partecipativa, è un poster che Paul Elliman realizzò per una conferenza dedicata all’opera dello scrittore francese Lautréamont. Elliman inserì alcune caselle bianche fra le parole “Image”, “Maldoror” e “Text”, lasciando che i partecipanti alla conferenza intervenissero per

completare, modificare o eliminare alcuni elementi dell’opera. Questo semplice gesto consente al progetto di assurgere a vera e propria “opera aperta”14, racchiudendo in sé una potenziale moltitudine di risposte e di azioni che richiamavano il programma della conferenza. Similmente, ma in maniera più estrema, il progetto utilitario di poster di Daniel Eatock – essenzialmente una forma generica, serigrafata su carta da giornale – guida l’utente/partecipante nella creazione del proprio annuncio pubblicitario, includendo al suo interno alcuni spazi vuoti in cui è possibile inserire le informazioni necessarie per la costruzione dell’annuncio. In questo caso, a differenza del primo, il lavoro dipenderebbe totalmente dalla risposta dello spettatore, la cui assenza negherebbe al pezzo il suo contenuto essenziale.

2. Le nuove frontiere del graphic design > Il processo è il prodotto: design partecipativo

43


2.3 SOFTWARE PER IL DESIGN GENERATIVO L’elenco di software che segue non vuole in alcun modo essere esaustivo, né ha le pretese di assurgere a “stato dell’arte” nell’ambito dei prodotti per il design generativo. Esso è solamente una guida per orientare i più novizi verso il mondo della progettazione grafica generativa. Come detto ampiamente nella sezione introduttiva di questo capitolo, programmare il codice genetico di un progetto generativo avvalendosi delle tecnologie informatiche, richiede l’utilizzo di un linguaggio di programmazione e di un ambiente di sviluppo in cui scrivere, provare e compilare tale codice. Esiste una varietà incredibile di software e ambienti di sviluppo, per lo più open-source, per iniziare a scrivere in codice. I pionieri di questi software sono stati gli artisti visivi e gli interaction designers, che già da tempo hanno trovato nella programmazione le funzionalità di cui hanno bisogno per esprimere al meglio le loro idee. Oggi questi strumenti sono noti anche a chi si occupa meno di arte, ma maggiormente di progetti produttivi, commerciabili. Oggi chi si occupa di data visualizing e di information design utilizza regolarmente l’automaticità offerta dalle tecnologie informatiche per sviluppare i propri progetti.

44

page tags: processing / java / data visualizing / MIT / ben fry / casey reas

2.3.1 Processing.org Processing è un ambiente di sviluppo opensource basato su Java, per lo sketching e la prototipazione di progetti generativi, fatto per artisti visivi, graphic designers, interaction designers che intendono creare immagini, animazioni e progetti interattivi. È stato creato da Casey Reas e Ben Fry, due studenti del MIT allievi di John Maeda, per fungere da tool per la prototipizzazione e per l’insegnamento dei rudimenti della programmazione in java. Successivamente Processing si è evoluto in un framework completo, in grado di fungere non solo da ambiente per sviluppare prototipi, ma anche per la produzione. Attualmente esiste una vasta comunità di artisti e designers che utilizzano processing per i propri progetti, ne seguono le evoluzioni, ne denunciano i bug, e lavorano per portarlo a livelli di completezza sempre più alti. È sempre più alto il numero di librerie esterne scritte in java che servono ad estendere le funzionalità del core di Processing. Quando esse raggiungono un determinato livello di completezza, vengono inglobate nelle funzioni di base dell’ambiente, divenendo interne. Il successo che Processing riscuote in un pubblico che ha poca confidenza con i linguaggi di


Processing editor online (sketch.processing.org)

Una finestra di Processing 1.2.1 per Mac OsX

programmazione è da imputare alla sua estrema semplicità, ed al fatto che - pur essendo basato su un linguaggio non proprio semplice come Java - facilita enormemente il lavoro del progettista in operazioni come l’impostare classi e rende semplice caricare librerie esterne, importandone campi e metodi. Processing è disponibile per tutti i principali sistemi operativi. La sua interfaccia è composta da una barra superiore, in cui sono contenuti i tasti associati alle principali funzioni (salvataggio, esportazione etc.), un’area in cui scrivere il codice, ed una parte inferiore detta “console”, utilizzata dal pro-

gramma per comunicare con il progettista tramite linee di testo (messaggi d’errore, avvisi etc.). Processing si basa sul concetto di “sketch”. Uno sketch è un insieme di righe di codice che identificano un programma. Ogni sketch è composto essenzialmente da due parti: * la funzione setup(); * la funzione draw();

La prima parte è costituita dalla funzione “setup” in cui il progettista colloca tutta quella parte del codice che vuole eseguire una sola volta. Non a caso è chiamata setup, proprio perché è l’area in cui si gettano le basi del programma, si inizializzano oggetti e variabili, si scelgono le dimensioni dello sketch e così via; nella funzione draw si vanno invece a collocare le linee di codice che costituiranno il loop del programma, ovvero quelle parti che verranno eseguite ciclicamente quando il programma viene eseguito. 2. Le nuove frontiere del graphic design > Software per il design generativo

45


HILOS, un esempio di tipografia generativa ottenuta con Processing e le librerie Geomerative

Processing permette inoltre di impostare le classi esterne creando nuovi tab, oppure inglobandole nel loop principale. Il programma è in grado di interagire con files esterni come fonts, basi di dati e immagini attraverso la cartella “files” contenuta all’interno della cartella principale dello sketch. Di seguito lo scheletro di un programma scritto in processing: void setup() { // Codice eseguito una sola volta } void draw() { // Codice eseguito ciclicamente } 46

page tags: processing / java / impromptu

CALIGRAFT, Processing + Geomerative

La sintassi è la stessa di Java. Anche Processing, infatti, segue le linee guida del paradigma Object Oriented, ossia quella filosofia di scrittura di codice secondo la quale vengono definiti “oggetti software che interagiscono gli uni con gli altri attraverso lo scambio di messaggi”.


2.3.2 Impromptu Impromptu è un ambiente di programmazione per compositori, artisti del suono, VJ e artisti grafici, disponibile per sistemi OsX. Si tratta di un ambiente in cui si programma in Scheme, un linguaggio appartenente alla famiglia Lisp. Impromptu è realizzato specificamente per esibizioni dinamiche di programmazione dal vivo, ed è utilizzato da artisti-programmatori che si esibiscono in spettacoli di livecoding, in cui sono previsti interventi sul codice on-the-fly. Le routine grafiche possono essere applicate con la stessa precisione temporale del materiale audio, permettendo agli artisti di integrare strettamente componenti audio e visivi. OpenGL, elaborazione video dal vivo, routines di disegno vettoriale, rendering di immagini, filtri CoreImage, rendering di testo e il supporto QuickTime, sono solo alcune delle funzionalità grafiche disponibili per gli artisti visivi. A differenza di Processing, Impromptu potrebbe costituire la scelta preferita per artisti e sound designer che fanno esibizioni dal vivo. Meno incline all’interattività, ma molto più potente per quel che concerne la generazione di immagini coordinate con il suono.

Una finestra di Impromptu per Mac OsX

Jack Lee, Rainbow Garden 2. Le nuove frontiere del graphic design > Software per il design generativo

47


2.3.3 OpenFrameworks OpenFrameworks è una libreria basata su C++, sviluppata da Zach Lieberman, Theodore Watson e Arturo Castro, con l’aiuto di una vasta comunità. Destinato al pubblico dei creativi per aiutarli durante la sperimentazione, fornendo un ambiente di sviluppo semplice ed intuitivo. Progettato per funzionare come un collante tra diverse librerie, sotto un unico ambiente e un’unica interfaccia. Utilizza le librerie OpenGL per la grafica, rtAudio per l’ingresso e l’uscita di materiale audio, FreeType per la tipografia, FreeImage per la gestione delle immagini, QuickTime per la riproduzione di video. Il codice è stato scritto per essere compilato su più piattaforme: Windows, Mac OsX, Linux, iPhone. Le API sono state progettate per essere il più possibile di facile comprensione: poche classi, e all’interno di queste classi, poche funzioni. Molto più brevemente, openFrameworks è uno strumento che, come del resto Processing, favorisce la comprensione del codice ad artisti visivi e creativi, rendendo possibile la creazione di opere interattive anche a un pubblico di non-programmatori. OpenFrameworks è in debito con due precursori significativi: l’ ambiente di sviluppo di elaborazio48

page tags: openframeworks / c++ / fingerdetector / opengl

SynthPond per iPhone

Secret Powers, riconoscimento sagome realizzato con la classe “fingerdetector”


“WIND”, installazione che crea suoni in risposta a ciò che una telecamera percepisce nell’ambiente

ne Processing, creato da Casey Reas e Ben Fry, e l’ ACU Toolkit, una distribuzione C++ privata sviluppata da Ben Fry e da altri studenti e collaboratori del MIT Media Lab’s Aesthetics and Computation Group. OpenFrameworks sembra essere attualmente preferito per quanto riguarda le installazioni che prevedono un elevato grado di interazione sia con esseri umani che con sensori come ad esempio riconoscimento di sagome, interazioni complesse con audio in entrata, interazione con dati provenienti da sensori di posizione, accelerometri etc. Per quest’ultima caratteristica, openFrameforks è attualmente molto utilizzato per realizzare applicazioni per iPhone e iPad.

2. Le nuove frontiere del graphic design > Software per il design generativo

49


page tags: esportazione / processing / video / PDF / web

2.4 ESPORTARE I PROGETTI CON PROCESSING Nel capitolo precedente abbiamo parlato di software per il design generativo. In questa sezione si affronteranno le problematiche che il designer incontra nell’esportare i propri lavori. Più nello specifico, si affronterà il problema dell’esportazione degli sketch adoperando Processing, perché è il codice che attualmente possiede maggior seguito tra i designers che progettano per il web e la stampa. Esso, infatti, è in grado di esportare i propri progetti sia per il web, che per la stampa che per il video editing: * progetti per la stampa (PDF, Targa files); * animazioni per il web (APPLET JAVA, JS + CANVAS); * video hi-res (files AVI, MOV).

Per quanto riguarda l’esportazione di animazioni per il web, Processing permette nativamente di esportare i propri progetti in Applet Java, un tipo di file che non è molto comodo in quanto non permette di essere eseguito su qualsiasi macchina, in quanto ha bisogno di specifici requisiti di autorizazzione. Inoltre, è un tipo di pacchetto che contiene al suo interno tutte le librerie necessarie all’esecuzione del programma, diventando in tal modo molto pesante in termini di dimensioni. Per l’esportazione ai fini della stampa tipografica, esiste una libreria che non fa ancora parte del core 50

di processing che permette di esportare la grafica dei progetti in formato vettoriale, utilizzando le specifiche dei files PDF. La libreria può fare in modo da generare files a pagina singola, o multipagina. Permette inoltre di specificare il PDF come formato di output primario, oppure come semplice registrazione secondaria (vedi paragrafo successivo). Processing permette inoltre di salvare uno o più frames di un animazione in formato bitmap utilizzando le specifiche del formato targa (.tga). Il file generato avrà le stesse dimensioni del canvas specificate nella funzione setup(). Per l’esportazione ai fini di videoediting, esiste una libreria scritta per Processing che non fa ancora parte del core, la libreria Video. Essa permette di incorporare all’interno del programma dei flussi video esistenti, oppure acquisiti dal vivo tramite webcam o telecamere connesse al software. Permette inoltre di generare dei files video, sia compressi che non compressi, nei quali viene registrato l’output del programma in esecuzione. Vediamo nel dettaglio in che modo è possibile utilizzare queste funzioni.


2.4.1 Esportare in PDF vettoriale

1

import processing.pdf.*;

Per quanto riguarda l’esportazione di progetti per la stampa, Processing, tramite un’apposita libreria esterna, è in grado di registrare l’output di un progetto generativo in un file PDF vettoriale, sia con il supporto dello schermo, sia senza. Nell’esempio sotto, Processing non utilizza lo schermo del computer, perché nella funzione size() viene impostato come output “PDF”. La funzione draw() viene eseguita una sola volta, dopodiché viene terminata tramite il comando “exit()”. Nell’esempio in figura sulla destra, invece, l’output di processing è lo schermo: nella funzione setup()

2 3 4 5 6

void setup() { size(400, 400); noLoop(); beginRecord(PDF, “filename.pdf”); }

1

import processing.pdf.*;

2 3 4

void setup() { size(400, 400, PDF, “nomefile.pdf”); }

5 6

void draw() { line(0, 0, width/2, height);

7 8 9

}

void draw() { 7 line(0, 0, width/2, height); 8 endRecord(); 9 10 } Un esempio di come Processing salva su un file pdf, con il supporto dello schermo

tramite l’istruzione “beginRecord()”, Processing inizia a registrare il progetto nel file impostato nella stessa istruzione. Alla fine della funzione draw(), quando tutte le altre istruzioni sono state già eseguite, la funzione endRecord() fa in modo da chiudere la registrazione e terminare il salvataggio del file. In questo modo, ad ogni esecuzione della funzione draw, il file “nomefile.pdf” verrà riscritto con le nuove informazioni.

println(“Finito.”); exit();

Un esempio di come Processing salva su un file pdf, senza supporto dello schermo 2. Le nuove frontiere del graphic design > Esportare i progetti con Processing

51


page tags: esportazione / processing / video / moviemaker / capture

2.4.2 Importare ed esportare files video La libreria di elaborazione video per Processing consente di: * visualizzare files video; * catturare ed incorporare un video all’interno di un programma in esecuzione; * generare video da un programma in esecuzione.

I flussi video possono essere catturati da fotocamere e videocamere USB e Firewire; telecamere, o schede video con dispositivi di input composito o S-video, e i video possono essere caricati sia da files presenti in locale che da files residenti su cartelle remote. Per ognuna delle funzioni della libreria esiste una classe specifica, e ognuna di loro ha dei metodi definiti per ogni tipo di utilizzo: * Capture class; * Movie class; * MovieMaker class.

La classe che permette la creazione di video, MovieMaker, permette di configurare accuratamente la qualità dell’output video, il numero di fotogrammi e il codec permettendo in tal modo di tarare il formato d’uscita in base alle proprie esigenze. 52

1 2

import processing.video.*; Capture c;

3 4 5 6

void setup() { size(200, 200); c = new Capture(this, width, height, 30); }

7 8 9

void captureEvent(Capture c) { c.read(); }

10 void draw() { image(c, 0, 0); 11 12 } Catturare un flusso video tramite videocamera con la classe “Capture” video


1 2

import processing.video.*; Movie m;

1 2

import processing.video.*; MovieMaker mm;

3 4 5 6 7

void setup() { size(200, 200); m = new Movie(this, “totoro.mov”); m.loop(); }

3 4 5 6 7

void setup() { size(320, 240); mm = new MovieMaker(this, width, height, “drawing.mov” , 30, MovieMaker.H263, MovieMaker.HIGH); background(204); }

void draw() { 8 tint(255, 20); 9 image(m, mouseX, mouseY); 10 11 } 12 void movieEvent(Movie m) { m.read(); 13 14 }

Riprodurre un video all’interno del programma con la classe “Movie” video

8

void draw() { 9 ellipse(mouseX, mouseY, 20, 20); 10 mm.addFrame(); 11 12 } 13 void keyPressed() { if (key == ‘ ‘) { 14 mm.finish(); 15 } 16 17 }

Creare un video a partire da un programma con la classe “Movie” video

2. Le nuove frontiere del graphic design > Esportare i progetti con Processing

53


page tags: esportazione / processing / web / processing.js / javascript / john resig

2.4.3 Esportare i progetti per il web Come già detto precedentemente, Processing è in grado di esportare Applet Java per essere visualizzate all’interno di pagine web. L’uso delle Applet è sconsigliato, sia per le dimensioni dei files che per questioni di accessibilità e di compatibilità cross-browser. Già da qualche anno, un programmatore javascript di Mozilla corporation, John Resig, ha effettuato un lavoro eccezionale che ha permesso al codice di Processing di essere interamente interpretato come fosse semplice Javascript, all’interno di uno specifico tag del neonato HTML5, il tag canvas. Il nome di questo progetto è Processing.js. Esso permette di visualizzare dati complessi, arte generativa, animazioni, grafici e video giochi utilizzando solamente gli standard web, senza alcun plug-in esterno. Come promesso dall’autore, basta scrivere codice in Processing, includere tale codice all’interno della pagina web, e processing.js fa il resto. Non è magia, ma quasi. L’unico limite di questa soluzione è dato dal fatto che attualmente non tutti i browser sono compatibili con HTML5, ma ben presto tutti lo saranno, persino il problematico Internet Explorer, che dalla versione 9 includerà il supporto per la nuova versione dell’HTML. 54

Una pagina del sito www.processingjs.org

Bloom, un esempio di sketch visualizzato su Apple iPhone


Bloom, un esempio di progetto generativo interattivo su web

Processing.js rappresenta una soluzione validissima per tutti coloro che vogliono esportare sul web progetti caratterizzati da un’elevato grado di animazione e di interattività. Esso rappresenta anche, per certi versi, una soluzione alternativa all’utilizzo della tecnologia proprietaria Adobe Flash, che al contrario di processing. js che utilizza javascript, richiede un plug-in aggiuntivo che va installato per ogni browser presente nel sistema dell’utente, limitandone in tal modo l’accessibilità da parte di molti utenti del

Un esempio di sketch visualizzato su una pagina web

web. In aggiunta a questo, parlando di accessibilità, va sottolineato il fatto che la tecnologia flash utilizza parecchie risorse, sia in termini di memoria, ma soprattutto in termini di utilizzo intensivo del processore. Inoltre, javascript è attualmente supportato dai dispositvi mobili di Apple (iPhone e iPad), che ad oggi rappresentano una quota di mercato considerevole nel campo delle nuove tecnologie di internet mobile, mentre invece Adobe Flash non è supportato da Apple, né ora, né a quanto pare nel prossimo futuro.

2. Le nuove frontiere del graphic design > Esportare i progetti con Processing

55


page tags: processing / sketching / online / canvas / sketchpad

2.4.4 Software per lo sketching online Finora abbiamo parlato solo di software desktop per il design generativo, nel presente tratteremo invece la possibilità che ha il designer di progettare senza scaricare software sulla propria macchina, ma scrivendo codice direttamente online, servendosi di apposite applicazioni remote che permettono di: * scrivere il codice; * comprensione degli errori; * compilazione del codice; * esportazione del prodotto finale.

Studio Sketchpad è un applicazione online gratuita che permette di scrivere il codice processing del proprio progetto e di condividerlo con una folta comunità di programmatori pronti a dare consigli e suggerimenti. È presente una timeline completa del progetto, dove è possibile tornare indietro nel tempo per ritornare a uno stato precedente del codice. Incollando una qualisiasi porzione di codice, esso acquisisce automaticamente una licenza creative commons di tipo cc-by-sa: praticamente ogni iscritto al sito avrà la possibilità di prelevare il codice immesso, clonarlo come base di partenza di un altro progetto, con l’obbligo però di citare l’autore del precedente lavoro. Sono presenti inoltre tutte 56

Una finestra dell’ambiente di sketching online STUDIO SKETCHPAD

le altre funzioni di un network, ossia i link a progetti considerati simili e quant’altro. Sketchpad, permette inoltre di visualizzare una live preview del codice in un’apposita finestra mobile, e infine con il semplice clik di un tasto è possibile esportare il proprio progetto in HTML + Javascript. HasCanvas, è sostanzialmente come il precedente. Dotato di un’interfaccia all’apparenza più accatti-


Una finestra del sito HASCANVAS, sito per la visualizzazione web di progetti processing

vante, ma caratterizzata da una minore semplicità in termini di usabilità. La colonna dedicata alla scrittura del codice appare di secondo piano rispetto alla preview del progetto, non possiede inoltre una timeline per permettere all’utente di tornare sui propri passi. In compenso, è molto meno propenso al network del primo, e il codice immesso non diviene necessariamente di dominio pubblico: mentre il pri-

mo rappresenta la soluzione ideale per il progettista che vuole scrivere codice avendo la garanzia di un ambiente di progettazione più vicino a un ambiente desktop, con degli strumenti e un archivio storico delle varie fasi, il secondo va inteso come uno strumento che serve a testare le funzionalità del proprio progetto sul web e per la successiva esportazione.

2. Le nuove frontiere del graphic design > Software per lo sketching online

57



O IV I AT AT ER I D EN D G TI N N IG GE ES R D SO IL LE E


IL DESIGN GENERATIVO E LE SORGENTI DI DATI 3.1 DATA DESIGN: UN’INTRODUZIONE

“Il più grande valore di una figura è farci notare ciò che non ci saremmo mai aspettati di vedere” John Tukey La progettazione grafica a partire da serie di dati sembra essere una delle nuove frontiere del design. Il discorso che faccio nella mia tesi esula da quelli che vengono considerati progetti di information design intesi in senso tradizionale: potrebbe accadere che comunissime infografiche vengano scambiate per data design. Come già ampiamente discusso nel primo capitolo (vedasi 1.1), l’infografica è la trascrizione grafica di una serie di dati dotati di una particolare importanza. Quella che volgarmente viene chiamata infografica, altro non è che un progetto manuale, alle cui spalle vi è uno specifico obiettivo comunicativo, affidato a un information designer. Il più delle volte l’obiettivo non è del grafico, ma del suo committente, quello che nel primo capitolo abbiamo identificato come “emittente del messaggio” (in questo caso il designer è limitato al semplice ruolo di costruttore o artigiano del messaggio). 60

Il data design inteso in senso generativo è ben altro: i dati diventano la realtà da dipingere nel senso più impressionista del termine. In questo caso, a differenza del primo, l’artefatto comunicativo si avvicina talmente tanto a una situazione reale, da assurgere a vera e propria realtà, avente carattere di effettività e di istantaneità dell’oggetto rappresentato. Inteso in questo senso, l’information design non si basa più su un participio passato (dati raccolti) ma su un gerundio, una situazione dotata di una propria vitalità (raccogliendo i dati). Come abbiamo già visto nel capitolo due di questo volume, esistono sul mercato una serie di software che aiutano il designer nel progettare i suoi artefatti. Possiamo però affermare che ciò che viene prima dello strumento è il metodo: una buona progettazione non può prescindere dal chiarimento preliminare di quelli che sono: a. gli obiettivi strategici o cognitivi del progetto; b. gli obiettivi operativi o strumentali; c. la valutazione dello strumento migliore; d. l’implementazione del progetto; e. la sua diffusione attraverso uno o più medium.

Come abbiamo già visto precedentemente, “generare” design significa avere confidenza con i linguaggi di programmazione. Occorre, in parole povere, che


Ellie Koning, Blood Facts

Soddisfazione e livello dei salari dei Web Designers nel mondo

61


page tags: visualization / table / method / tree map

il progettista impari a parlare una nuova lingua e ad interagire con un nuovo interlocutore che non accetta alcuna forma di ambiguità: il personal computer. Per questo e per altri motivi occorre che prima di sedersi dietro a un monitor si abbiano ben chiari gli obiettivi di cui sopra, e che di essi si sia già prece-

dentemente discusso con un eventuale committenza. Una volta chiariti i punti cruciali del progetto è possibile procedere con la scrittura del codice.

Quando si tratta di passare dal dato all’informazione, una migliore organizzazione delle tecniche di visualizzazione dei dati può tornare molto utile. A periodic table of visualization methods suddivide le visualizzazioni in sei categorie principali, ognuna dotata di specifiche caratteristiche. Passando sul mouse su ciascuna di loro è possibile visualizzare un esempio.

62


Un esempio di visualizzazione di tipo “tree map” di cluster di notizie, basati su numero di letture uniche di uno stesso articolo (grandezza) e categoria notiziale (colore) 3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Data design: un’introduzione

63


page tags: analisi / interpretazione / esplorazione / dati / processing / geocommons

3.2 RACCOGLIERE, ANALIZZARE ED INTERPRETARE I DATI Nei prossimi paragrafi, parleremo nel dettaglio di come fare a visualizzare informazioni complesse, utilizzando l’ambiente di sviluppo Processing. Iniziamo col dire che solitamente l’ideazione e la progettazione di una visualizzazione di dati, non partono da considerazioni formulate sulla base della sola struttura dei dati di partenza. Pensare in questo modo potrebbe costituire un limite alla creatività, con ovvie ripercussioni sul risultato finale. Pensieri in direzione della struttura possono e devono essere formulati, ma non nella fase iniziale. La progettazione di una visualizzazione parte con la formulazione di alcune domande: * Perché il dato è stato raccolto? * Quale caratteristica del dato sembra interessante? * Che storia il dato è in grado di raccontare?

La prima domanda è indispensabile quando i dati a disposizione provengono da un progetto terzo o da un’altra ricerca: prima di usare qualunque tipo di dato di cui si è in possesso, è opportuno leggere eventuale documentazione e note metodologiche allegate, ma innanzitutto occorre chiedersi il motivo della sua raccolta. La seconda mira ad individuare le potenzialità di quel dato, analizzandone l’ambito logico-matematico entro cui spazia, ma soprattutto individuando le ca64

ratteristiche che lo rendono interessante sia per chi lo elabora, sia per chi visualizzerà le informazioni da esso estrapolate. La terza domanda introduce la questione più spiccatamente comunicativa, che mi piace definire con il termine capacità narrativa del dato. Essa è solo una caratteristica potenziale perché, come già affermato precedentemente (vedi 1.2), una serie di dati di per sé non si presta ad alcun tipo di narrazione: il più delle volte si tratta di files e tabelle contenenti una serie più o meno lunga di parole e numeri che non fornisce alcun tipo di informazione al lettore comune. Cosa ben diversa, invece, è considerare la capacità narrativa come caratteristica potenziale del dato, insita al suo interno e resa nota attraverso la sua analisi e la sua interpretazione da parte dell’esperto. È opportuna in questa sede una piccola precisazione: tanto più il dato si presterà a raccontar storie, quanto più è stata attenta e pianificata la fase di raccolta degli stessi. Nell’organizzare un progetto di ricerca, piccolo o grande che sia, gli obiettivi cognitivi che il ricercatore si pone prima di raccogliere i dati sono di importanza cruciale. Meglio raccogliere una piccola varietà di dati sapendo come usarli nelle successive fasi, che raccoglierne tanti per poi usarne una piccola parte cestinando il resto. Questo è il passaggio più importante nella comprensione dei


dati: identificare la domanda a cui la visualizzazione di tali dati deve rispondere. Si raccolgono dei dati su un oggetto cognitivo perché si vuole produrre un incremento conoscitivo su quell’oggetto. Bisogna, perciò, ricercare particolari rilevanti e significativi. Un’attenta pianificazione incide sulla mole di lavoro successivo, quindi, anche sui costi complessivi del progetto. Per quanto riguarda le basi di dati vere e proprie, l’ideale in tutti i casi sarebbe pianificare e condurre una ricerca ad hoc sull’oggetto cognitivo che si vuole indagare. Oggi, però, con l’avvento di internet, ognuno di noi ha a disposizione tutto l’occorrente per fare design a partire dai dati: il web, per sua costituzione, altro non è che un’enorme massa di dati collegata a livello ipertestuale. Occorre solo, da parte del progettista, la base di conoscenze tale da permettergli di districare la matassa, ri-organizzarla, analizzarla, fornendo in tal modo una sua interpretazione visiva. Sul web è possibile disporre di archivi di dati testuali e numerici, ideali per condurre: * Analisi lessicografica e del contenuto (sulle parole); * Analisi statistica (su serie storiche di dati numerici); * Network analysis (sulle connessioni in un network).

Ma non solo. Internet, oltre che a fungere da enorme biblioteca di dati storici, è il terreno entro cui svolge-

Geocommons, una comunità che mette a disposizione dati open-source georeferenziati

re ricerca su dati relativi al presente, quali possono essere ad esempio i dati provenienti da sensori che traducono la realtà del momento, in dato numerico processabile.

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Raccogliere, analizzare ed interpretare i dati

65


page tags: identità / dispositivi / oggetti / dati / internet of things

3.3 DATI IN TEMPO REALE E INTERNET DELLE COSE La questione di assumere dei dati in tempo reale come oggetto dell’analisi e della rappresentazione, comporta dei vantaggi notevoli, ma anche delle problematiche. Parlando prima dei vantaggi, è innegabile che una rappresentazione visiva di qualcosa che avviene realmente in qualche altra parte del mondo riscuote più fascino di una semplice visualizzazione, di cose successe chissà quanto tempo prima. Questo non è l’unico dei vantaggi, ma è sicuramente un fattore di rilievo. La cosa più importante, a mio avviso, è che i dati disponibili in tempo reale possono essere utilizzati sia per creare visualizzazioni ad hoc, sia per essere usati come semplici variabili all’interno di un processo globale di identità visiva generativa (vedi capitolo successivo). Parte del nome del capitolo, Internet delle cose, sta a significare proprio che una volta che oggetti della vita quotidiana vengono dotati di sensori collegati ad internet, essi stessi partecipano ad internet quanto gli esseri umani stessi. Una volta che ad una turbina eolica viene collegato un sensore, a sua volta collegato ad internet, ad essa viene attribuita una sorta di linfa vitale, che le permette di partecipare alla costruzione dell’informazione allo stesso modo dell’essere vivente che ha programmato l’interazione. Gli oggetti interagiscono con internet indipentemente dal fatto che qualcuno rilevi gli stessi cambiamenti in maniera manuale. 66

Una volta che oggetto e sensore vengono programmati per restituire un certo output, quell’output costituirà l’istanza vitale dell’oggetto, pronta ad interagire con persone ed altri oggetti nel mondo di internet. Le cose appena dette possono apparire a prima vista come una sorta di supervalutazione del ruolo di internet, oppure come comportamento psicotico di un ricercatore che crede che internet sia un mondo parallelo in cui vivono oggetti e persone. In realtà non è proprio così: per chi scrive, internet altro non è che un’enorme protesi in cui oggetti e persone possono interagire, potenziando enormemente le capacità comunicative ed interattive presenti come caratteristiche strutturali alla nascita, e che appaiono fortemente limitate in termini spazio-temporali. Parlando nello specifico dell’uso che di internet fanno gli oggetti, non le persone, possiamo tranquillamente affermare che essi in rete acquisiscono: * Presenza; * Identità; * Interazione; * Informatività.

Tramite tecnologie come la realtà aumentata, il tag geografico e il GPS, gli oggetti sono presenti in rete, e tramite software e applicazioni mobile, interagi-


INTERNET OF THINGS

IDE N

TIT Ă

NZA

R

TE N I

ON I AZ

E

SE PRE

INF O

Gli oggetti interagiscono tra di loro e si azionano a vicenda. Tecnologie: Controllo remoto Arduino

RM A ZIO NE

Gli oggetti comunicano con la rete a cui forniscono nuovi dati. L’uomo li elabora e ne ricava informazione. Tecnologie: Object generated content (OGC) Device to grid

67


page tags: augmented reality / qr code / device to grid / oggetti / pachube / XML / JSON / CSV

scono con le persone. Il Qr-code (utilizzato per i link di questo volume) e altri sistemi di codifica come RFID ed EAN, permettono di identificare univocamente gli oggetti in rete e permettono, ad esempio, di sapere dove si trovano nel mondo le spedizioni che effettuiamo. Tramite il controllo remoto e il machine2machine possiamo fare in modo che gli oggetti comunichino tra loro e comunichino a noi la loro posizione. Tramite i sistemi di sensori, l’object generated content e il device to grid, gli oggetti possono comunicare i loro dati con la rete, e tramite essa possono interagire con le persone che elaborano i dati e ne producono informazioni e conoscenza. Per gli obiettivi di questo volume, parleremo in maniera approfondita di quest’ultimo aspetto, ovvero di come i dati provenienti dagli oggetti possano costituire la base per la progettazione dell’informazione. Da un punto di vista teorico, la questione sembra sprovvista di insidie. Analizzando, invece, la questione da un punto di vista più tecnico, emergono delle problematiche legate a come interpretare i dati grezzi che provengono dagli oggetti. Nei prossimi capitoli vedremo come riuscire a parlare la stessa lingua dei nostri oggetti e come comunicare con loro per raggiungere i nostri obiettivi.

68

3.3.1 Oggetti in rete Gli oggetti comunicano con la rete in modo molto diverso di come fanno le persone: la loro interazione non è fatta di clik e di ipertestualità, è molto più precisa e si basa su regole ferree. Gli oggetti che interagiscono con la rete sono programmati in modo tale da aggiornare la loro situazione ogni volta che sopraggiunge una particolare condizione, che può essere un intervallo di tempo, oppure una struttura condizionale complessa. Ogni qualvolta che sopraggiunge una di queste condizioni, l’oggetto aggiorna i dati su un file che il progettista può dare in pasto ad un programma per analizzarlo e per estrapolare da esso le informazioni utili al suo progetto. Non tutti coloro che hanno un oggetto provvisto di sensore sono in grado di creare per esso un’infrastruttura in grado di ricevere dati dal sensore e scriverli su un file. Pachube è una piattaforma online che permette a chiunque possegga degli oggetti in grado di comunicare con internet, di: * Registrare i propri dispositivi tramite un ID univoco; * Georeferenziarli; * Scegliere il formato dei dati in uscita; * Utilizzare i dati tramite le API.


In perfetto accordo con la grafica “Internet of things” della pagina precedente, con Pachube possiamo dotare un oggetto di una sua presenza in rete, una sua identità, la possibilità di interagire con un altro oggetto che è la nostra applicazione, e infine di tirarne fuori informazioni tramite il parsing dei suoi dati in uscita. Il nome con cui questa piattaforma nomina e identifica gli oggetti è feed. Ogni oggetto è un feed a sé stante, identificato in maniera univoca tramite un numero a cinque cifre, ad es, 43589. Pachube offre ai suoi utenti la possibilità di fruire dei dati provenienti dagli oggetti in tre formati: * XML (extended markup language); * JSON (JavaScript Object Notation); * CSV (Comma Separated Values).

Ognuno dei tre possiede delle proprie specifiche, che vanno scelte in relazione al tipo di tecnologia che si vuole usare e degli specifici obiettivi del progetto. Per fare in modo che la nostra applicazione legga questi dati bisogna fare in modo che riesca a capirne la sintassi e il modo in cui i dati vengono formattati al suo interno (questa parte verrà approfondita nel prossimo capitolo). Vediamo ora quali sono le caratteristiche specifiche di ogni formato, la relativa sintassi, le potenzialità e le problematiche legate a ciascuno di loro.

Geocommons, una comunità che mette a disposizione dati open-source georeferenziati 3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Dati in tempo reale e internet delle cose

69


page tags: tipi di dato / parsing / analisi / geotagging

3.3.2 Formati e tipi di dato L’oggetto in rete può parlarci in diversi modi: lui lo fa utilizzando dei formati di file con precise regole di sintassi e formattazione. Vediamoli uno per uno. XML è la sigla di eXtensible Markup Language. Si tratta di un metalinguaggio di markup, ovvero un linguaggio marcatore che definisce la sintassi e la struttura di una serie di dati, per far sì che essi vengano correttamente interpretati da programmi appositi che analizzano il testo in essi contenuto. A livello fonetico risulta analogo ad un termine abbastanza conosciuto da chi naviga in internet, HTML. Rispetto ad esso, l’XML ha uno scopo ben diverso: mentre il primo definisce una grammatica per la descrizione e la formattazione di pagine web e, più in generale, di ipertesti, il secondo è un metalinguaggio utilizzato per creare nuovi linguaggi, atti a descrivere documenti strutturati. Mentre l’HTML ha un insieme ben definito e ristretto di tag, con l’XML è invece possibile definirne di propri a seconda delle esigenze (da qui l’aggettivo “extensible”). Il file d’esempio nella pagina accanto, mostra come è strutturato un file XML generato dalla piattaforma Pachube, descritta nel capitolo precedente. La prima riga indica la versione di XML in uso e specifica la codifica UTF-8 per la corretta interpretazio70

ne dei dati da parte del parser. Nelle righe successive è ben visibile, anche ad un occhio poco esperto, come l’XML annida i dati all’interno di nodi: il nodo padre è environment, che ha 6 figli, nell’ordine title, feed, status, tag, location e data. Environment ha anche dei nipoti, che sono i figli di location: name, lat e lon; e figli di data: tag, current_value, max_value, min_value e unit. L’insieme di questi tag costituisce la struttura dell’oggetto in rete. Ci sono dei dati fissi come il link del feed e il suo titolo. Altri dati sono variabili e cambiano a seconda dell’interazione dell’oggetto con l’ambiente. Ad esempio la collocazione potrebbe cambiare, nel caso l’oggetto fosse un dispositivo mobile (in quel caso potremmo fare in modo che la nostra applicazione se ne accorga prelevando ed interpretando il dato contenuto in: environment > location > disposition e di conseguenza le coordinate geografiche dell’oggetto. Anche i dati presenti in: environment > data possono cambiare: nel caso specifico i tre valori current_value, max_value e min_value cambiano rispettivamente a seconda dell’ultimo valore inserito


Un esempio di dati riguardanti la raccolta del sangue in formato XML 1

<?xml version=”1.0” encoding=”UTF-8”?>

2

<environment> <title>Ospedale S. Eugenio</title> <feed>http://api.pachube.com/v2/feeds/14627.xml</feed> <status>active</status> <tag>Sangue raccolto</tag> <location domain=”physical” exposure=”indoor” disposition=”fixed”> <name>Rome</name> <lat>41.8209668084167</lat> <lon>12.4721431732178</lon> </location> <data id=”0”> <tag>sangue</tag> <current_value>414.13217</current_value> <max_value>498.81253</max_value> <min_value>262.97128</min_value> <unit type=”basicSI” symbol=”ml”>Millilitri</unit> </data> </environment>

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Dati in tempo reale e internet delle cose

71


page tags: JSON / environment / dati ambientali / funzione / processing

dall’utente (oppure rilevato da un sensore), dai valori massimo e minimo inseriti in tutto lo storico dei dati. Il dato environment > data > unit specifica l’unità di misura del dato, la sua abbreviazione e il sistema simbolico di riferimento. Gli elementi in rosa del codice costituiscono i tag, mentre quelli in giallo sono gli attributi dei tag. Le parti in bianco sono i valori assunti dai tag. Il formato JSON è l’acronimo di “JavaScript Object Notation”. Si tratta di un formato adatto per lo scambio dei dati in applicazioni client-server. Viene utilizzato come alternativa a XML, anche perché considerato più semplice nell’utilizzo da parte della comunità dei programmatori. Questa sua caratteristica ne ha decretato un rapido utilizzo specialmente nella programmazione di applicazioni in AJAX. Il suo uso tramite JavaScript, è particolarmente semplice, infatti l’interprete è in grado di eseguirne il parsing tramite una semplice chiamata alla funzione eval(). Questo fatto lo ha reso velocemente molto popolare a causa della diffusione della programmazione in JavaScript nel mondo del Web. La maggior parte dei linguaggi di programmazione possiede un typesystem molto simile a quello definito da JSON per cui sono nati molti progetti che permettono l’utilizzo di JSON con altri linguaggi quali, per esempio: ActionScript, C, C#, ColdFusion, Common Lisp, Delphi, E, 72

Erlang, Java, JavaScript, Lua, ML, Objective CAML, Perl, PHP, Python, Rebol e Ruby. Nel codice d’esempio nella pagina a fianco possiamo subito notare che, seppure si utilizzi un’altra sintassi ed un’altra formattazione, i dati dell’oggetto sono gli stessi, e anche la genealogia ed i rapporti genusspecie sono rimasti inalterati. La differenza consistente tra JSON e XML, come già accennato nel corso di questo paragrafo, consiste nel fatto che JSON meglio si presta a progetti web per la sua semplicità di parsing. Il formato CSV è il più semplice e il più anziano dal punto di vista informatico. Si tratta semplicemente di una lista di valori separata da virgole. L’esempio di codice sotto mostra in CSV gli stessi contenuti visualizzati nel tag data in XML e JSON. La sua semplicità nasconde le sue scarse potenzialità in termini di estendibilità, in quanto permette di definire solo i dati, senza alcun tipo di informazioni su sintassi e struttura.

1 2

1 , ”” 10 , 414.13217

Un esempio di dati in formato CSV


Un esempio di dati in formato JSON 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

{ “status”:”active” , “title”:”Ospedale S. Eugenio” , “feed”:”http://api.pachube.com/ v2/feeds/14627.json” , “datastreams”:[{ “tags”:[“blood”], “unit”: { “type”:”basicSI” , “symbol”:”ml” , “label”:”Millilitri” }, “id”:”1” },{ “at”:”2011-0109T01:30:07.305551Z” , “tags”:[“sangue”], “max_value”:498.81253, “unit”: {

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

“type”:”basicSI” , “symbol”:”ml” , “label”:”Millilitri” }, “current_value”:”414.13217” , “min_value”:262.97128, “id”:”10” }], “id”:14627, “location”: { “domain”:”physical” , “exposure”:”indoor” , “disposition”:”fixed” , “lon”:12.4721431732178, “lat”:41.8209668084167, “name”:”Rome” , } }

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Dati in tempo reale e internet delle cose

73


page tags: data visualizing / rappresentazione / parsing / acquisizione / filtraggio / estrazione / interazione

3.4 IL TRATTAMENTO DEI DATI Nel capitolo precedente abbiamo parlato di cosa significa “oggetto in rete”, e dei tipi di file che quest’ultimo utilizza per interagire con altri oggetti e con le persone. In questo capitolo affronteremo la problematica “che lingua parlano gli oggetti”, ovvero le modalità con cui gli oggetti comunicano e si fanno capire tra di loro. Per far sì che ciò avvenga, è necessario che prima ancora degli oggetti, l’essere umano capisca e comprenda la natura di tali dati. Una delle abilità più importanti nel capire i dati è porsi delle buone domande: * Cosa voglio fare di questi dati? * Come posso usarli per i miei obiettivi? * In che modo voglio che diventino informazioni?

Un ricercatore può avere un ricchissimo set di dati senza sapere cosa farsene e come usarli. Processing è in grado di leggere i dati da diverse sorgenti di file: per alcune può essere estremamente facile, per altre la questione diventa un tantino più complicata. Può essere semplice come leggere da un file di testo semplice, o estrememante complicato come estrapolare dati da un database. L’acquisizione può coinvolgere anche il lato utente, perché se il progetto verrà distribuito su internet, la mole di dati necessaria a far funzionare la visualizzazione, influirà sull’interazione complessiva dell’utente con 74

l’applicazione. In molti casi, potrebbe quindi essere necessario strutturare bene i dati sul server per migliorarne l’accesso da parte dell’applicazione. Una volta chiariti gli obiettivi, i dubbi e le perplessità, si giunge alla parte più tecnica della questione: un qualsivoglia progetto di visualizzazione di dati complessi o di data design, è suddividibile in almeno sette stadi, che analizzeremo nel dettaglio. Nello schema della pagina successiva, è possibile visualizzare la successione e l’interazione tra i sette passaggi. Un’altra cosa fondamentale è capire, al momento dell’acquisizione di un dato, come questo dato può cambiare nel tempo: una base di dati può essere fissa e invariata, oppure può cambiare sporadicamente o di continuo. Questa considerazione espande la nozione di infografica a cui siamo abituati e di cui abbiamo parlato nel capitolo 3.1, incentrata sulla soluzione di uno specifico problema per uno specifico set di dati. Prendere confidenza con il tipo di dati che si va a manipolare, significa avviare una meta-riflessione sulla possibilità di variazioni future. Tutte le fasi della figura affianco, fuorché l’interazione, nell’infografica tradizionale avvengono senza automaticità, e vanno affrontate tutte in una volta prima di presentare i dati al pubblico. La forza dell’approccio automatico-computazionale al data visualizing sta proprio nel fatto che le fasi da 2 a 7 possono avvenire contemporaneamente. In più il

5


i sette stadi del DATA VISUALIZING_ La fase di acquisizione dei dati è una fase molto delicata. Sull’attenzione da dedicare a questo stadio abbiamo già ampiamente parlato nel capitolo 3.2, dove abbiamo visto che errori in questo stadio possono comportare un aumento considerevole della mole di lavoro, con conseguente ricaduta sui costi complessivi del progetto.

1

Dopo aver acquisito il dato, c’è bisogno di analizzarlo, convertendolo in un formato leggibile da parte di Processing

2

I dati vanno filtrati per rimuovere porzioni non necessarie all’uso che se ne vuole fare

3

Il passaggio più complesso dal punto di vista algebrico-matematico. I dati vengono estratti utilizzando formule matematiche, algoritmi. Fase conosciuta anche attraverso l’appellattivo di “data mining”.

4

Questo passaggio determina la forma basilare che un set di dati può assumere. Alcuni sono rappresentati sotto forma di lista, altri sono strutturati come alberi, e così via. Lo stadio della rappresentazione è uno step fondamentale che per il data visualizing, e può fare in modo che il ricercatore torni indietro agli stadi precedenti. Il modo in cui scegli di rappresentare i dati può influenzare il primo step (che dati acquisire) e il terzo passaggio (quali particolari parti estrarre).

5 6 7

In questo passaggio, è coinvolto il graphic design. Esso è usato per chiarire ulteriormente la rappresentazione attribuendo maggiore attenzione a dati particolari (stabilendo gerarchie) o cambiando gli attributi (ad esempio il colore), contribuendo in tal modo alla leggibilità complessiva. L’ultimo passaggio del processo complessivo aggiunge interazione, permettendo all’utente di controllare o esplorare i dati. L’interazione può riguardare la selezione di un sottoinsieme dei dati, o addirittura cambiare il punto di vista.

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Il trattamento dei dati

75


page tags: processing / funzioni / map / lerpcolor / norm / rimappaggio

pubblico può intervenire attivamente nelle fasi di raffinamento e di interazione. Basti pensare a una visualizzazione di dati in tempo reale sul traffico in cui l’utente fa clic sul suo quartiere per focalizzarsi su informazioni particolari, e non su tutta la base di dati: l’utente, nel processo automatico, può intervenire attivamente nella fase di filtraggio. 3.4.1 Trattare i dati con Processing Iniziamo con lo spiegare la differenza tra funzioni, costanti e operatori. Un operatore è un elemento di programmazione che serve a far interagire due o più elementi: esempi di operatore possono essere il “+” per l’addizione, il “*” per la moltiplicazione e così via. Una costante è un valore numerico fisso invariabile, a virgola mobile: π è un esempio di costante, un numero a virgola mobile di valore vicino a 3,14. Una funzione è un insieme di operazioni che può restituire un risultato, oppure può identificare una semplice routine da applicare a un elemento di programmazione, a un oggetto, a una variabile, a una classe. Essa può accettare o meno dei parametri all’interno delle parentesi tonde. Elenchiamo ora, un set di funzioni, costanti ed operatori che consideremo come basilari per il trattamento e il parsing dei dati tramite l’ambiente Pro76

cessing. La bellezza di quest’ambiente di sviluppo è la semplicità con cui si possono eseguire operazioni matematiche anche molto complesse:

map(value,low1,high1,low2,high2); Questa funzione converte i numeri da un range ad un altro. Tale funzione è utile per automatizzare un procedimento matematico che richiederebbe più passaggi. Il problema della conversione dei dati da un range ad un altro è un problema molto ricorrente nella visualizzazione di dati, basti pensare alla conversione di un sistema di coordinate geografiche, dal globo allo schermo di un computer.

norm(valore,minimo,massimo); Converte un valore normalizzato ad un valore nuovo cambiando il range di riferimento.

lerp(valore1,valore2,amt); Converte un valore da un range specificato dall’utente a un range normalizzato con valori che vanno da 0.0 a 1.0 (amt è un numero float che va da 0.0 a 1.0).


Lerp() e Norm() insieme costituiscono la funzione map() vista precedentemente. Presi singolarmente possono servire nella fase di raffinamento per perfezionare i dati visualizzati.

lerpColor(colore1,colore2,amt); LerpColor() fa lo stesso di lerp(), con l’unica differenza che considera un range tra due variabili di tipo colore. In Processing lo spazio colore di default è l’RGB, ma quando si applica la lerpColor() è opportuno settare lo spazio colori su HSB. Ciò perché quest’ultimo basa la differenza tra i colori su tonalità, saturazione e luminosità, mentre RGB lo fa sulla differenza tra le quantità di rosso, verde e blu. Se con lerpColor() si vogliono ottenere range di tinte, è meglio settare la modalità colore su HSB se non si vogliono ottenere effetti indesiderati, specie se si utilizzano come variabili di colore due tinte simili per tonalità.

li regolari a partire dal massimo e dal minimo della serie di dati. Quando si ha a che fare con dati che cambiano del tempo, invece, è opportuno settare gli intervalli su valori fissi, in quanto il continuo ricalcolo potrebbe fare apparire sproporzionata la visualizzazione.

nf(value,digits); Questa funzione traduce un valore numerico in un valore di tipo testo. Di grande utilità quando a partire da dati numerici vogliamo costruire delle etichette per la visualizzazione interattiva dei dati. Gli esempi riportati sono solo un estratto delle funzionalità di Processing utilizzate per portare a termine i progetti delle pagine a seguire.

value1 % value2 % è un operatore che serve per calcolare il resto di una divisione. Molto utile per visualizzare grafici e istogrammi in cui c’è bisogno di calcolare interval3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Il trattamento dei dati

77


page tags: vento / rosa dei venti / grafico / data visualizing / processing

3.5 UN ESEMPIO DI VISUALIZZAZIONE GENERATIVA DEI DATI: LA ROSA DEI VENTI Nei capitoli precedenti abbiamo parlato di data design, e della possibilità di costruire identità visive generative a partire dai dati. In questo capitolo verrà detto come fare per ottenere visualizzazioni di dati in tempo reale. Più nello specifico si analizzerà il caso della progettazione, da parte mia, di uno strumento di visualizzazione interattiva di dati per Viento s.r.l., un’impresa con sede a Eboli in provincia di Salerno che si occupa di installazione e manutenzione di piccoli impianti eolici. Il committente del progetto è l’amministratore unico della società, una persona giovane, fortemente orientata alla comunicazione efficace e alle nuove tecnologie. L’azienda attualmente monitora gli impianti eolici installati in tutta italia e all’estero tramite un datalogger con degli anemometri connessi ad un sensore, messo nelle condizioni di comunicare grazie ad una piccola scheda di rete GPRS installata sul sensore. Ogni turbina, una volta in funzione, scrive i dati del vento su un file XML presente sul sito dell’azienda che gestisce i datalogger, e lo aggiorna con i nuovi dati ogni 10 minuti. Viento ha l’esigenza di visualizzare, all’interno del proprio software gestionale web, le seguenti informazioni per ogni impianto: * La situazione della direzione da cui soffia il vento; * La media dei venti da ogni punto cardinale.

78

Queste informazioni devono poter essere visualizzate da ogni parte del mondo, da qualunque dispositivo connesso alla rete, in qualunque momento. Come ampiamente discusso all’interno della prima sezione di questo volume, progettare una visualizzazione di dati è esattamente come progettare qualsiasi altro tipo di comunicazione: bisogna chiarire le esigenze del committente, che in questo caso coincide con l’utilizzatore finale, in quanto la visualizzazione preclude un utilizzo interno dell’informazione che deriva dai dati. Per quanto riguarda il contesto entro cui la visualizzazione svolge il suo lavoro, non c’è bisogno di alcun adattamento, né linguistico, né culturale, proprio in virtù del suo utilizzo esclusivamente interno. Il codice nella pagina accanto, è il file XML generato da una turbina eolica Gaia Wind installata in Italia. Come già visto nel capitolo precedente, un file XML si basa sui rapporti genus-specie degli elementi all’interno. L’elemento data è il padre, il quale ha un solo figlio, location, che a sua volta ha un altro figlio, device (che sta per dispositivo, in questo caso il datalogger). Device ha due tipologie di figlio, item, a sua volta di due tipi: socket A e D, rispettivamente “anemometer” e “direction”. I primi sono coppette anemometriche che rilevano l’intensità del vento, i secondi sono dei piccoli timoni che rilevano la direzione da cui il vento soffia. Gli elementi di tipo chart,


1

<?xml version=”1.0” encoding=”UTF-8”?>

2 3 4 5 6 7 8 9 10 11

<data> <location name=”Italy 4” timezone=”Europe/Rome”> <device name=”LeNETm_Gaia_Italy4” updated=”z”> <item socket=”A1” name=”Wind Speed stdev.” value=”0.93” measure=”m/s” /> <item socket=”A1” name=”Wind Speed max.” value=”10.80” measure=”m/s” /> <item socket=”A1” name=”Wind Speed avg.” value=”8.92” measure=”m/s” /> <item socket=”D1” name=”Production” value=”10.94” measure=”KW” /> <item socket=”D2” name=”Accumulative Power Production” value=”5892.00” measure=”kWh” /> <item socket=”D3” name=”Status Code 1” value=”0.00” measure=”” /> <item socket=”D11” name=”PSU” value=”8.25” measure=”Volts” /> <chart name=”Wind Speed avg. last week” url=”chartpath” /> <chart name=”Production last week” url=”chartpath” /> <chart name=”Accumulative Power Production last week” url=”chartpath” /> <chart name=”Status Code 1 last week” url=”chartpath” /> <chart name=”PSU last week” url=”chartpath” /> </device> </location> </data>

12 13 14 15 16 17 18 19

Il file XML generato dal datalogger della turbina eolica installata da Viento s.r.l., gestito da Windlogger in Scozia

invece, contengono dei link a dei file di tipo immagine contenenti dei grafici, la cui tipologia è opportunamente segnalata nell’attributo name dello stesso tag. Per quelli che sono gli obiettivi del progetto, sono interessanti solo gli elementi di tipo Item, in quanto in uno dei loro attributi, value, è presente il dato che va tradotto visivamente. La gerarchia presente nel file XML, anche se può sembrare stucchevole e ridondante, ha un suo preciso scopo: il fatto che location abbia due figli, ad esempio, è perché in uno stesso luogo potrebbero esserci anche due dispositivi anziché uno come in questo caso; lo stesso vale per data: gli stessi dati potrebbero provenire da due collocazioni geografi-

che diverse. Il file XML è strutturato, in altre parole, in modo tale da garantire duttilità ed estendibilità per gli usi più disparati.

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Un esempio di visualizzazione generativa dei dati: la rosa dei venti

79


page tags: datalogger / anemometro / XML / lettura / feed

3.5.1 Lettura dei dati dal file XML Tornando al codice, per far sì che Processing utilizzi i dati presenti nel file, bisogna prima metterlo in condizione di leggerli ricorrendo alla classe XMLElement, che fa parte del core del programma. Innanzitutto bisogna creare un nuovo oggetto XMLElement, e istanziarlo passandogli come attributo il link remoto del file XML. This è il riferimento a “quell’oggetto”, e link è l’indirizzo remoto del file, in formato stringa. In tal modo, abbiamo permesso che il file XML venisse caricato all’interno di un oggetto Processing chiamato “xml”, e rimanga in memoria per tutta l’esecuzione del programma. Il passaggio successivo consiste nell’ottenere gli elementi figli item, tramite la funzione getChildren(), e archiviarli in un array di tipo XMLElement di nome items. Ottenuti tutti gli elementi item, iniziamo con il creare quattro array per archiviare in memoria tutti i dati relativi a quattro diversi attributi relativi al tag item: tre array di tipo string per gli attributi di tipo socket, names e measures, uno di tipo float per gli attributi values. Quest’ultimo contiene i dati variabili nel tempo, ovvero i dati numerici che contengono la direzione del vento in formato radiante, e l’intensità dello stesso in formato m/s (metri al secondo). Il passaggio successivo consiste nella creazione di 80

un metodo getFeedData() che prende i valori degli attributi tramite la funzione getStringAttribute(). Il parametro attribute della funzione è di tipo stringa, e serve ad identificare l’attributo da cui prelevare il valore, nell’ordine: socket, name, value, measure. Infine, nella funzione setup() effettuiamo una chiamata al metodo getFeedData() per ottenere ed archiviare i valori, che rimarranno caricati nella memoria del programma, e potranno essere utilizzati per i nostri scopi. L’output della console di Processing dopo aver eseguito il programma è il seguente: A1 A1 A1 A1 A2 A2 A2 A2 A3 A3 A3 A3 A4 A4 A4 A4

WS1 WS1 WS1 WS1 WS2 WS2 WS2 WS2 WS3 WS3 WS3 WS3 WS4 WS4 WS4 WS4

(Vortex) stdev.: 0.97 m/s (Vortex) max.: 5.59 m/s (Vortex) avg.: 2.25 m/s (Vortex): 0.37 m/s (NRG40C) stdev.: 2.04 m/s (NRG40C) max.: 9.73 m/s (NRG40C) avg.: 4.55 m/s (NRG40C): 1.67 m/s (D3) stdev.: 1.7 m/s (D3) max.: 10.13 m/s (D3) avg.: 4.64 m/s (D3): 1.01 m/s (Pro) stdev.: 1.49 m/s (Pro) max.: 9.73 m/s (Pro) avg.: 3.9 m/s (Pro): 1.34 m/s


1 2 3

// CREAZIONE DELL’ELEMENTO XML XMLElement xml; xml = new XMLElement(this,http://dev.windlogger.co.uk/xml_feed/plant_id);

4 5

// CREAZIONE DELL’ARRAY DI ELEMENTI ITEM XMLElement[] items = items = xml.getChildren(“location/device/item”);

6 7 8 9 10

// CREAZIONE DEGLI ARRAY DI ATTRIBUTI String[] sockets = new String[items.length]; String[] names = new String[items.length]; float[] values = new float[items.length]; String[] measures = new String[items.length];

11 12 13

void setup() { getFeedData(); }

14 15

void draw() { }

16 17 18 19 20 21 22 23

void getFeedData() { for (int item=0; item<items.length; item++) { sockets[item] = items[item].getStringAttribute(“socket”); names[item] = items[item].getStringAttribute(“name”); values[item] = items[item].getStringAttribute(“value”); measures[item] = items[item].getStringAttribute(“measure”); } }

// // // //

Sockets Nomi Valori Unità di misura

Il file XML generato dal datalogger della turbina eolica installata da Viento s.r.l., gestito da Windlogger in Scozia D1 D2 D5 D6 D7 D8

Rain: 0.0 mm Total rain: 140.6 mm WD1 (Pro): 257.2 degree WD2 (Vortex): 161.0 degree Pressure: 1021.7 mBar Humidity: 79.75 %

D9 Rad. Solar: 38.03 W/m2 D10 Temp.: 7.42 celsius D11 Batt: 6.41

Vortex, NRG40C, D3 e Pro sono quattro tipi diversi di dispositivo, ognuno dei quali installato ad una 3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Un esempio di visualizzazione generativa dei dati: la rosa dei venti

81


page tags: wireframe / coordinate / punti cardinali / dati / disegno / metodi

specifica altitudine. Per ognuno di questi, il sensore ci fornisce, in un arco di tempo di 10 minuti, la velocità massima, quella minima, la deviazione standard (stdev), la media (avg) e la velocità istantanea. Gli elementi da D1 a D11 sono invece dei sensori che forniscono tipi diversi di dato, due dei quali sembrano interessanti per i nostri scopi: D5 e D6 che sono rispettivamente i rilevatori di direzione del vento, relativi a due tipi diversi di rilevatore di velocità visti prima, rispettivamente Pro e Vortex. Come è possibile vedere, è utile rilevare dal file XML anche l’attributo measures, perché fornisce una chiave di lettura dell’unità di misura del dato: nel caso dei rilevatori di direzione, sappiamo che quel valore è espresso in “degrees”, letteralmente gradi. Finora abbiamo visto come fare per leggere i dati da un file XML, nel paragrafo successivo vedremo come utilizzare questi ultimi per la nostra visualizzazione.

3.5.2 La costruzione della rosa dei venti Una volta letti i dati dalla sorgente XML dell’oggetto, bisogna iniziare a programmare per costruire quella che gli operatori del settore dell’energia eolica definiscono “rosa dei venti”, ovvero una specie di grafico tipo radar ai cui vertici sono posti i punti cardinali da cui soffia il vento. La costruzione di un grafico di questo tipo richiede la distinzione tra quattro diverse fasi di disegno: * La definizione delle coordinate del grafico; * Il disegno degli intervalli circolari concentrici; * Il disegno dei punti cardinali; * Il disegno dei dati sul grafico.

Per semplicità di programmazione ho deciso di costruire un metodo per ognuna delle 4 fasi, ai quali assegno questi nomi: 1. drawPlot(); 2. drawDataCircles(); 3. drawCardinals(); 4. drawData();

Il primo metodo, drawPlot(), si occupa delle coordinate dell’area occupata dal grafico. Per meglio comprendere, nella pagina accanto è possibile visualiz82


TITOLO WIDGET VISUALIZZAZIONE INFORMAZIONI

GRAFICO

1 2 3 4 5 6

plotX1 = 50; plotX2 = width - plotX1; plotY1 = 150; plotY2 = height - plotY1; plotWidth = width-plotX1*2; plotHeight = height-plotY1*2;

7 8 9 10 11 12

void drawPlot(color pColor) { fill(pColor); rectMode(CORNERS); noStroke(); rect(plotX1,plotY1,plotX2,plotY2); }

Il codice del metodo drawPlot()

Il wireframe del progetto

zare il wireframe del progetto. DrawPlot() imposta le coordinate dell’area del grafico e né traccia i confini. Questo passaggio è importantissimo, in quanto il disegno dei dati verrà rimappato tramite la funzione map(), utilizzando le nuove coordinate. Il secondo metodo, drawDataCircles() disegna gli

intervalli circolari della rosa dei venti tramite una piccola formula che disegna sia gli elementi divisori obliqui che quelli circolari: i primi sono ottenuti con un ciclo for(), che sulla base del numero dei punti cardinali (4 più gli intermedi, in totale 12) traccia le linee oblique; i secondi dipendono dall’intensità della velocità del vento: la formula arrotonda per eccesso la velocità del vento, e se è dispari gli aggiunge “1”, in modo tale da avere intervalli sempre pari. Nel ciclo for() è inserita una formula, che in base al resto dell’operatore % traccia un cerchio solo se il resto è pari a 0 (e quindi è un numero pari). Il metodo drawCardinals() non fa altro che posizionare le etichette dei punti cardinali, in prossimità della fine del relativo intervallo obliquo. Il metodo drawDataSector() disegna i dati provenienti dal file XML all’interno delle coordinate definite in drawPlot(). Il disegno dei dati avviene sulla base di funzioni trigonometriche che convertono il dato grezzo della direzione del vento espresso in

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Un esempio di visualizzazione generativa dei dati: la rosa dei venti

83


page tags: visualizzazione / rosa dei venti / vento / funzioni trigonometriche / processing

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

void drawDataCircles (color lineClr, float lineSps) { ellipseMode(CENTER); for(float i=0; i<=maxValue; i+=intervals) { noFill(); strokeWeight(lineSps); stroke(lineClr); float diameter = map(i,plotMin,maxValue,0,plotWidth-100); ellipse(centerpoint,centerpoint,diameter,diameter); textAlign(LEFT,CENTER); textSize(10); fill(lineClr); if (i != 0) { text(nf(i,0,0),centerpoint+5,centerpoint-diameter/2+10); } } }

disegna archi esattamente come lo fa il compasso, e prende come parametri: le coordinate del centro, le coordinate del secondo estremo, il punto di partenza e il punto d’arrivo per l’arco. Tutto sulla base della velocità e della direzione. Il risultato di tutti i metodi de-

Il codice del metodo drawCardinals() 1 2 3 4 5 6 7 8 9 10

void drawDataSector() { float coord1, coord2 = 0.0; coord1 = map(speed1,plotMin,maxValue,0,plotWidth/2-50); coord2 = map(speed2,plotMin,maxValue,0,plotWidth/2-50); noStroke(); ellipseMode(CENTER); fill(#FF0000,180); arc(centerpoint,centerpoint,coord1*2,coord1*2,direction1-(TWO_PI/64),direction1+(TWO_PI/64)); fill(#FF99CC,180); arc(centerpoint,centerpoint,coord2*2,coord2*2,direction2-(TWO_PI/64),direction2+(TWO_PI/64)); }

Il codice del metodo drawData()

gradi, nel file XML, in archi radianti, e confronta il valore con il doppio di pigreco (TWO_PI, che altro non è che la lunghezza di una circoferenza di raggio 1 espressa in radianti). La funzione primitiva arc() 84

scritti finora è la figura della pagina affianco, dove oltre al grafico, vengono visualizzate tutte le informazioni fornite dal datalogger, restituendo globalmente una fotografia accurata dell’impianto eolico.


ENVIRONMENT INFORMATION last update on 20:06 - 08/03/2011 Vortex VEL: 4,21 m/s WIND DIRECTION: NNW MAX: 5,98 m/s AVG: 1,45 m/s

DEVICE: LeNETm_Gaia_Italy4 LOCATION: Avigliano, PZ, Italy PRESSURE: 1022.4 mBar HUMIDITY: 83,21% RAD. SOLAR: 69,33 W/mq TEMPERATURE: 6.71 째C

PRO VEL. ISTANT: 2,81 m/s WIND DIRECTION: WSW MAX: 5,03 m/s AVG: 2,52 m/s

La visualizzazione dei dati provenienti da una turbina eolica, disponibile in ogni momento tramite il software gestionale online del cliente.

wind speed

wind avg

85


page tags: tsv / velocità media / punti cardinali / direzione / impianti

Il progetto della rosa dei venti può essere consultato online nel gestionale del cliente, tramite l’esportazione di un applet, o tramite l’inclusione del codice Processing all’interno del tag canvas utilizzando le librerie Processing.js di cui abbiamo parlato in 2.4.3. Oppure è possibile generare un file PDF tramite le librerie esterne spiegate in 2.4.1. 3.5.3 Visualizzazione delle medie da files esterni Un’altra esigenza del cliente era quella di includere nei propri documenti aziendali delle rose dei venti che visualizzassero le medie delle direzioni dei venti su base settimanale, mensile, ed annuale. L’utilizzo del documento è prettamente commerciale: i destinatari di questi tipi di grafici sono il più delle volte responsabili di banca e investitori: è su un immagine di questo tipo che si discute sulla “profittabilità” di un sito per l’eventualità di installazioni eoliche. Il cliente preleva questi dati da atlanti del vento, o da basi di dati elettroniche, in forma tabulare o separata da virgole. Il riquadro di codice a fianco mostra le medie della velocità del vento, da ogni punto cardinale, per tre impianti eolici (nell’esempio Salerno, Roma e Treviso). Una volta effettuato il parsing con Processing, il risultato è quello della figura nella pagina affianco. Tramite la funzione lerpColor(), ho ot86

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Card N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW

SA 3.4 1.2 2.4 5.4 4.9 3.5 3.0 2.6 2.3 1.8 4.2 4.9 5.1 6.0 7.1 8.0

RM 2.4 5.4 4.9 4.7 3.0 2.3 1.1 1.9 4.1 5.6 6.1 6.9 7.1 8.1 7.6 6.9

TV 1.2 2.6 3.5 4.1 3.4 2.9 1.5 2.1 4.5 5.0 5.9 6.2 7.2 7.4 6.9 5.0

Il file con i valori separati da tabulazioni, medie.tsv

tenuto l’effetto che va dal giallo al rosso: più il vento è forte, più il colore diventa rosso e viceversa. Questo progetto può essere esportato per la stampa, oppure può essere disponibile online tramite applet oppure esportando il codice di Processing all’interno del tag canvas di HTML5 (vedi 2.4.3). Nel caso dell’esportazione online, è possibile navigare tra i diversi impianti (sa, rm e tv) cliccando con il mouse sul relativo tab. Con un’unica applicazione sarebbe quindi possibile navigare tra un numero indefinito di impianti, a seconda delle esigenze del caso.


VelocitĂ e direzione dei venti - Anno 2009

SA

RM

TV

10 m/s

8

6

4

2

87


page tags: sangue / iphone / pachube / centri trasfusionali / roma

3.6 VISUALIZZAZIONE GENERATIVA A PARTIRE DA DATI GEOGRAFICI: CENTRI TRASFUSIONALI DI ROMA Il contenuto del presente capitolo si basa su un’idea suggerita dalla prof.ssa Cristina Chiappini durante un incontro con l’esperto di nuovi media, Carlo Infante, tenutosi a maggio 2010 presso la facoltà di Architettura L. Quaroni di Roma. Il tema era “partorire nuove idee in tema di raccolta del sangue”. La Regione Lazio e in particolare Roma, figurano tra i posti in Italia in cui c’è maggior bisogno di sangue. La Regione ovvia a questo deficit comprando il sangue dalle altre regioni. L’obiettivo quindi è promuovere la raccolta pubblica di sangue nella Regione Lazio, promuovendo in particolare i 19 centri trasfusionali presenti sul territorio romano. L’IDEA Raccogliere le quantità di sangue prelevato in millilitri, per creare visualizzazione e rappresentazioni grafiche dell’andamento dei prelievi di sangue da parte dei centri di raccolta, opportunamente taggati e georeferenziati su mappe interattive di pubblico dominio. Alla campagna potrebbero essere attribuiti uno o più obiettivi di raccolta (ad esempio 120 litri di sangue da raggiungere in due o tre mesi), raggiunti i quali una o più figure cambierebbero il loro aspetto: la figura inizialmente vuota verrebbe mano mano riempita fino a raggiungere l’obiettivo.

88

COME REALIZZARLA Per raccogliere i dati sui prelievi basterebbe dotare i centri trasfusionali di un dispositivo connesso alla rete: * un semplice smartphone iphone o android; * un pc connesso a internet; * un dispositivo progettato ad hoc.

Il dispositivo invierà al feed del centro, opportunamente registrato su Pachube (vedi 3.3.1) i dati sulle quantità di sangue per ogni prelievo. I files XML dei vari centri di raccolta saranno disponibili 24 ore su 24 sul server di Pachube, e resi disponibili tramite un link, dopodiché verranno analizzati da un applicazione in Processing, che provvederà a trasformarli in una visualizzazione grafica d’insieme, e in più widget. Si assisterebbe, dunque, a quello che viene definito il passaggio da “dato grezzo” a “informazione”, il passaggio in cui design ed ergonomia si giocano la loro carta più importante.


CENTRI TRASFUSIONALI IN RETE_

DATI EEML

DATI EEML

DATI EEML

DATI EEML

PROCESSING

vuoto sia fisico (c’è bisogno di sangue per le trasfusioni) che culturale (le persone/giovani non hanno la cultura della donazione)

figura che viene riempita in tempo reale grazie all’aggiornamento continuo delle stazioni di rilevamento

89


page tags: mappa / pachube / array / XML / ospedale sant eugenio

3.6.1 Costruzione della mappa interattiva Nell’immagine sotto è possibile vedere la mappa statica dei centri trasfusionali di Roma: ogni centro ha la sue coordinate e ad ogni centro è stato assegnato un ID univoco a cui corrisponde l’etichetta con il nome. Sulla base di questa mappa statica è possibile costruire una visualizzazione interattiva,

vediamo come: innanzitutto si utilizza un sistema GIS (geographical information system) come per esempio Google Earth, si carica la mappa dei centri su un livello, e la si fa coincidere perfettamente con il territorio romano. Una volta fatta correttamente questa posizione, basterà recuperare le coordinate geografiche dei quattro angoli della mappa, in modo tale da creare, insieme alle coordinate geografiche di ogni centro trasfusionale, un sistema di coordinate rimappabile su schermo (tramite la funzione map() di Processing). Per costruire una mappa in Processing sono necessari tre dati di tipo fisso: 1. Un array di ascisse (x) dei centri; 2. Un array di ordinate (y) dei centri; 3. Un array con i nomi dei centri.

La mappa statica dei centri trasfusionali pubblici di Roma 90

È necessario, invece, un solo dato variabile, ovvero la quantità di sangue prelevata da ogni centro trasfusionale. Questo dato dovrebbe cambiare ad ogni singolo prelievo. Per raccogliere questo tipo di dato bisogna registrare ogni centro trasfusionale su Pachube, fornendo per ognuno la posizione sul globo e le relative informazioni. Come


1

<?xml version=”1.0” encoding=”UTF-8”?>

2 3 4

<environment> <title>Ospedale S. Eugenio</title> <feed>http://api.pachube.com/v2/feeds/14627.xml</feed> <status>active</status> <tag>Sangue raccolto</tag> <location domain=”physical” exposure=”indoor” disposition=”fixed”> <name>Rome</name> <lat>41.8209668084167</lat> <lon>12.4721431732178</lon> </location> <data id=”0”> <tag>sangue</tag> <current_value>414.13217</ current_value> <max_value>498.81253</max_value> <min_value>262.97128</min_value> <unit type=”basicSI” symbol=”ml”>Millilitri</unit> </data> </environment>

5 6 7

Registrazione dell’ospedale Sant’Eugenio di Roma su Pachube.com

è possibile vedere dal file XML accanto, una volta terminata la registrazione diventano immediatamente disponibili le informazioni sul centro, comprese le coordinate geografiche, il link univoco remoto che servirà per aggiornare il feed e, una volta effettuato il primo prelievo, i dati su quest’ultimo, sia per quanto riguarda la quantità che l’unità di misura. Leggendo i dati contemporaneamente da tutti e 19 i file XML, è possibile costruire degli liste di valori con le ascisse e le ordinate di cui abbiamo parlato prima, e una lista con i valori relativi ai prelievi. Nella mappa interattiva (vedi pagine successive) ogni centro sarà visualizzato come un cerchio di diametro proporzionale al sangue raccolto: ciò è stato ottenuto creando un sistema di grandezze che varia in un range che va dall’ospedale che ha ricevuto meno prelievi, a quello che ne ha ricevuti di più. Il range può anche essere impostato in senso meno relativo:

8 9 10 11 12 13 14 15 16 17 18 19

File XML che identifica l’ospedale Sant’Eugenio in rete

sarebbe possibile, infatti, fissare un obiettivo di marketing relativo al tetto di sangue da raggiungere per tutti gli ospedali. Il diametro di ogni cerchio potrebbe in tal modo essere relativo a quel valore massimo e non al centro che ha donato di più. Per quanto riguarda l’aggiornamento da parte del centro, nel contesto di una campagna dovrebbe avvenire da parte di chi si occupa della donazione, in questo caso personale medico, che dopo ogni donazione aggiornerebbe il feed dell’ospedale tramite

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Visualizzazione generativa a partire da dati geografici: centri trasfusionali di Roma

91


page tags: blood / iphone / pachube / applicazione / mappa interattiva

tro di un dispositivo mobile come un apple iPhone, per cui esiste già un applicativo specifico per pachube. In questo caso basterebbe digitare la quantità di sangue prelevato e aggiornare il feed. Anche nel caso della mappa interattiva è possibile esportare grafica vettoriale, oppure codice per il web.

OSPEDALE SANT’EUGENIO http://www.pachube.com/feeds/14627

donations last update 8/3/2011

4,8 l File XML che identifica l’ospedale Sant’Eugenio in rete

un’applicazione appositamente progettata, oppure, molto più semplicemente, basterebbe dotare il cen92


93


page tags: identità visiva generativa / logo / centri trasfusionali riuniti / processing

3.7 VERSO L’IDENTITÀ VISIVA GENERATIVA

All’inizio di questa sezione abbiamo introdotto il concetto del tutto nuovo di “data design”, e di come incide all’interno delle tecniche tradizionali “non automatiche” del graphic design tradizionale. Abbiamo parlato anche di come sia possibile, grazie ad un nuovo fenomeno che abbiamo chiamato “internet delle cose”, cominciare a parlare di veri e propri processi di realizzazione di identità generative. Per identità generativa intendiamo quei processi di costruzione di identità visive in cui non si realizzano artefatti grafici manualmente, ma si progetta il codice genetico tramite il quale l’identità viene generata. Quest’ultima può variare a seconda di regole e di algoritmi definiti nel codice, oppure a seconda che varino o meno certi dati a cui il codice è collegato. Per fare qualche esempio basti pensare al sito web di un’agenzia turistica, e al suo logo che cambia a seconda delle condizioni meteo del posto in cui l’utente si trova mentre naviga. L’identità visiva generativa inizia a diventare un percorso quasi obbligato per certi tipi di situazioni in cui progettare manualmente può risultare anche più difficoltoso e macchinoso. Vediamo più concretamente qualche esempio di identità visiva generativa, ricavato da oggetti in rete. Ricordiamoci anche che un’identità visiva generativa può lavorare in sinergia con particolari decisioni di marketing, come ad esempio il raggiungimento di determinati obiettivi aziendali. 94

3.7.1 Il logo dei centri trasfusionali riuniti di Roma Nel capitolo precedente abbiamo seguito la realizzazione di una mappa interattiva basata su una serie di oggetti in rete, nel caso specifico, diciannove centri trasfusionali presenti sul territorio romano. Come possono, questi centri, interagire tra loro e con l’utente in modo tale da creare una vera e propria identità visiva? Il programma che esegue il codice genetico dell’identità visiva, è collegato in maniera permanente a 19 oggetti remoti, che a seconda di certe condizioni cambiano il loro stato e i dati in essi contenuti. Un brainstorming tenuto in aula con la Prof.ssa Cristina Chiappini, durante un corso di Graphic Design in un’aula de La Sapienza, fece emergere un embrione di idea, una sorta di logo costituito dalla posizione geografica dei 19 centri trasfusionali, realizzato esclusivamente con linee e senza riempimenti, che mantenesse i propri spessori anche se allargato o ridotto. L’idea originaria non prevedeva alcun collegamento al tema centrale di questa tesi, ma fu un’idea che mi colpì per la quantità di innovazione contenuta al suo interno. Potrebbe funzionare in maniera nonautomatica, figurarsi se non funzioni applicato a un codice. L’immagine nella pagina accanto, raffigura lo stato dei 19 centri trasfusionali nel momento stesso in cui sto scrivendo. Ogni bolla è relativa ad un cen-


Tramite le coordinate dei centri trasfusionali, e l’afflusso delle donazioni di ognuno di loro, è possibile generare un pittogramma che può variare anche da un giorno all’altro, a seconda del variare dei dati suddetti.

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Verso l’identità visiva generativa

95


96


page tags: figure / vuoto / pieno / obiettivi di marketing

tro, e si trova nella giusta posizione relativa nei confronti degli altri 18. Le bolle più grandi sono i centri trasfusionali più attivi dal punto di vista delle dimensioni. Vediamo ora come fa un identità generativa a sposarsi con gli obiettivi di marketing. Poniamo come 400 litri l’obiettivo di una campagna dei centri trasfusionali di Roma. Il logo in questo caso potrebbe partire come una figura svuotata su fondo positivo, che si riempie mano mano che il totale delle donazioni effettuate presso tutti e 19 i centri raggiunge quel tetto. Raggiunti i 400 litri, la figura sarà riempita, e gli obiettivi operativi della campagna saranno raggiunti. Un logo generativo farà parte dell’immagine coordinata globale dell’istituzione, sarà quindi presente sul sito internet e sulla carta stampata (fogli intestati, biglietti da visita, buste etc.). Per quanto riguarda l’utilizzo su carta, il logo ogniqualvolta sarà stampato su un elemento di identità visiva, riporterà la situazione reale di quel momento della campagna; per quanto riguarda l’utilizzo su web, il logo generativo potrà avere in più elementi di dinamicità e di interazione come il sangue mobile all’interno della figura, e il riempimento in tempo reale nel caso di attività massiccia dei centri.

3. IL DESIGN GENERATIVO E LE SORGENTI DI DATI > Verso l’identità visiva generativa

97


page tags: coppetta anemometrica / timone / viento / movimento / velocità

La girandola del logo varia al variare della velocità del vento rilevata dal datalogger.

3.7.2 Il logo di Viento s.r.l. Nel capitolo sulla realizzazione della rosa dei venti, abbiamo parlato di Viento s.r.l., un’azienda del sud italia che si occupa di installazione e manutenzione di piccoli impianti eolici. Un altro lavoro eseguito per Viento è stato quello di realizzare una versione animata del suo logo che interagisca con il rilevatore di velocità del vento installato presso la sua sede operativa. Un logo concepito in questo modo, fa sì che l’utente che si collega al sito di viento, visualizzi il pittogramma delle tre pale in movimento a seconda dell’intensità del vento che soffia presso la sede di viento. A questo punto, se viento fosse una società per azioni, perchè non utilizzare la metafora dell’andare “a gonfie vele”?: una versione apposita del logo per gli azionisti potrebbe far girare la turbina a seconda dell’attuale quotazione di borsa. Ovviamente questa è solo un’idea, ma serve a far capire definitivamente al lettore cosa si intende per data design: una progettazione grafica generativa in cui si progetta il modo in cui il programma gene98

Una pagina del sito www.viento.it

ra artefatti visivi, e ci si affida al codice per tradurre in grafica e informazione, i dati grezzi di oggetti e dispositivi.


Timone, serve a rilevare la direzione da cui soffia il vento.

Coppetta anemometrica, serve a rilevare la velocitĂ del vento.



Bibliografia


BAER K. (2009), Information Design Workbook, Rockport BERTIN, J. (1983), Semiology of Graphics: Diagrams, Networks, Maps, University of Wisconsin Press, Madison, WI. BREWER, C. A. (1999), Color Use Guidelines for Data Representation, in ‘Proceedings of the Section on Statistical Graphics’, American Statistical Association, Baltimore BROWN, D. (2009), Angeli e Demoni, Simon & Schuster BUJA, A., COOK, D. & SWAYNE, D. (1996), Interactive High-Dimensional Data Visualization, Journal of Computational and Graphical Statistics 5(1), 78–99. BUJA, A. & TUKEY, P., eds (1991), Computing and Graphics in Statistics, Springer-Verlag, New York, NY. CARD, S. K., MacKINLEY, J. D. & SCHNEIDERMAN, B. (1999), Readings in Information Visualization: Using Vision to Think, Morgan Kaufmann Publishers, Inc., San Franciscon, CA. CLEVELAND, W. S. (1994), The Elements of Graphing Data (revised edition), CRC Press, New York, NY. CLEVELAND, W. S. & McGILL, M. E., eds (1988), Dynamic Graphics for Statistics, Wadsworth, Monterey, CA. FEW S. (2006), Information Dashboard Design. The Effective Visual Communication of Data, O’Reilly FRY B. (2007), Visualizing Data. Exploring and Explaining Data with the Processing Environment, O’Reilly GREENBERG I. (2007), Processing. Creative Coding and Computational Art, Friendsof ed. NOBLE J. (2009), Programming Interactivity. A Designer’s Guide to Processing, Arduino and openFrameworks, O’Reilly PARETO, V. (1919), Manuale di economia politica con una introduzione alla scienza sociale, Milano: Società Editrice Libraria – Piccola biblioteca scientifica, n. 13 POLILLO R. (2006), Plasmare il Web. Road Map per Siti di Qualità, Apogeo

102


REAS C., FRY B. (2007), Processing. A Programming Handbook for Visual Designers and Artists, MIT press SEGARAN T., HAMMERBACHER J. (2009), Beautiful Data. The Stories Behind Elegant Data Solutions, O’Reilly SHAPIRO C., VARIAN H.R. (1999), Information Rules. Le Regole dell’Economia dell’Informazione, ETAS SIMON, H. (1997), Administrative behavior: a study of decision-making processes in administrative organizations, 4th edition, Free Press SPENCE, R. (2000), Information Visualization, Addison Wesley, Harlow, England. STEELE J., ILIINSKY N. (2010), Beautiful Visualization. Looking at Data Through the Eyes of Experts, O’Reilly TERZIDIS K. (2009), Algorithms for Visual Design Using the Processing Language, Wiley Publishing TROIANI G. (2008), CSS. Guida completa, Apogeo TUFTE E.R. (1990), Envisioning Information, Graphics Press (2001), The Visual Display of Quantitative Information, Graphics Press VISCIOLA M. (2006), Usabilità dei Siti Web. Curare l’Esperienza d’Uso in Internet, Apogeo WARE, C. (2000), Information Visualization: Perception for Design, Morgan Kaufmann, San Mateo, CA. WEGMAN, E. J. & CARR, D. B. (1993), Statistical Graphics and Visualization, in C. R. Rao, ed., ‘Handbook of Statistics, Vol. 9’, Elsevier Science Publishers, Amsterdam, pp. 857–958. WILHELM, A. F. (2000), ‘Interactive Statistical Graphics: The Paradigm of Linked Views.’, Habilitationsschrift, Universit¨at Augsburg. WILKINSON, L., ed. (1999), The Grammar of Graphics, Springer, New York, NY.vvvv

BIBLIOGRAFIA

103




Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.