Our Blog

Il secondo appuntamento dell’Educational Programme in Interactive Arts è dedicato ad openFrameworks un toolkit opensource e cross-platform basato su C++ . Sono felice di presentarvi Enrico Viola, creative coder italiano che vanta prestigiose collaborazioni come Onformative , Marco TempestMuseo della Scienza e della Tecnologia di Milano e St Gallen Art Museum. Conosciamolo meglio con questa intervista.

1. Che cosa è per te il creative coding e quanto e perché può essere importante in ambito educativo?

Innanzitutto devo ammettere che, quando l’espressione creative coding ha iniziato a circolare, l’ho trovata un po’ approssimativa: un coder e’ una persona che crea delle specie di “carillons logici” per risolvere problemi in maniera efficiente, quindi, a prescindere dal fatto che scriva sistemi di guida per robots, videogames o software per installazioni interattive, ogni programmatore e’ creativo.

Detto questo, parlare di creative coding oggi significa sostanzialmente parlare di almeno due fenomeni importanti. In un certo senso, il creative coding rappresenta la maturità del software come medium comunicativo. In un mondo in cui la maggior parte della comunicazione umana e’ digitalizzata e mediata da software, e’ abbastanza normale per un comunicatore (un artista, un pubblicitario, uno storyteller…) accorgersi che il software non e’ solo un canale che trasporta in modo neutro immagini, filmati e testi: così si comincia a sperimentare, a riconoscerne le specificità come linguaggio e a sfruttarne appieno le potenzialità espressive.

L’altro aspetto per me fondamentale e’ la volontà di capire il proprio medium espressivo fino in fondo, sporcandosi le mani e arrivando a creare i propri ferri del mestiere: mentre la maggior parte dei digital artists classici (photo editors, video makers, modellatori 3D,…) acquistano comunemente strumenti di lavoro proprietari, praticamente imposti dal mercato, i creative coders, armati di un linguaggio di programmazione, di un editor di testo e poco altro, non solo creano installazioni e spettacoli, ma progettano e sviluppano autonomamente anche i tools e le librerie necessari a realizzarli, spesso collaborando tra loro e condividendo i propri risultati con la comunità (la maggior parte del materiale e’ rilasciato sotto licenze open source).

Da quando esiste l’umanità, le innovazioni tecnologiche hanno sempre contribuito al rinnovamento della comunicazione: dalla pittura rupestre, ai colori ad olio, alla fotografia e al video. Il creative coding rientra in quest’ottica e, in maniera analoga a quanto e’ accaduto con altre innovazioni tecniche, molti creativi ne sono attratti, ma sono intimiditi dalla presunta difficoltà della programmazione e dal fatto che e’ ancora difficile trovare percorsi educativi specifici (la maggior parte della vecchia scuola e’ composta fondamentalmente da eclettici autodidatti).

Proprio per dipanare questa specie di aurea esoterica, credo sia importante spiegare alle persone come sia possibile dare vita in modo unico alle proprie idee, imparando a descriverle attraverso un linguaggio di programmazione. Non tutti ameranno questo modo di lavorare, ma molti si renderanno conto che progetti che credevano irrealizzabili, sono in realtà alla loro portata.

2. Come ti approcci ai progetti commerciali e quanto i brand, le agenzie e i tuoi committenti sono sensibili 

all’utilizzo del creative coding?

C’e’ sicuramente un interesse crescente per il creative coding, specialmente nel mondo dell’advertising in senso lato (digital signage, conferenze, eventi…).

Detto questo, molti non hanno ancora un’idea chiara di come funziona il mio lavoro e capita spesso di essere contattati per richieste che degenerano velocemente nella barzelletta: agenzie che, usando la sola fantasia, hanno promesso progetti improbabili e ti chiedono di realizzarli in una settimana, aziende disperate perché un altro (presunto) coder li ha piantati in asso con un software non funzionante, gente che “non ha budget, ma garantisce grande visibilità “, …

Al di la’ delle richieste improbabili (che tutti i creativi conoscono bene), resta il fatto che tipicamente i clienti si rivolgono a me per provare a fare qualcosa che non hanno mai fatto prima, quindi ritengo fondamentale iniziare ogni nuovo progetto con un momento in qualche modo “educativo”: mi faccio spiegare i loro bisogni e propongo una serie di possibili approcci, spiegando in modo semplice, ma completo, come le diverse soluzioni tecniche e comunicative influiranno sul risultato finale.

3. Raccontare attraverso la tecnologia, ci puoi spiegare cosa significa Generative Storytelling ?

Ho iniziato a usare l’espressione generative storytelling per cercare di spiegare quello che faccio a chi non e’ del mestiere: quando ti chiedono che lavoro fai, se dici di essere un programmatore pensano che tu scriva gestionali, se ti definisci interaction designer ti immaginano a fare siti web… così alla fine ho iniziato a rispondere “I tell stories with software”.

Come ogni appassionato di semiotica sa bene, l’atto di comunicare implica sempre il raccontare una storia; le storie che racconto io sono fluide, tentano sempre di coinvolgere attivamente il pubblico e si adattano alle sue reazioni.

Per me, il bello dell’usare il software come medium espressivo, risiede proprio nella sua natura generativa: in ogni progetto io creo le regole di base che governano un micromondo, poi le persone ci entrano, lo esplorano e ognuno ha la sua esperienza unica.Non solo le mie storie non si ripetono mai due volte allo stesso modo: spesso mi e’ impossibile sapere nel dettaglio che strada prenderanno quando incontreranno il loro pubblico.

4. Come è nata la tua collaborazione con Marco Tempest ?

Come spesso accade, la nostra collaborazione e’ nata quasi per caso. Qualche settimana dopo l’uscita del primo modello di Kinect, ha visto una mia demo nella quale mostravo come fosse possibile usare il sensore per creare un contesto di AR markerless, che consentiva di ottenere una collision detection precisa tra ambienti fisici e digitali; così mi ha scritto una email chiedendomi se fossi disposto a creare qualcosa di simile per uno spettacolo al quale stava lavorando (lo spettacolo sarebbe poi diventato Magic and Storytelling  [http://www.creativeapplications.net/openframeworks/magic-and-storytelling-at-ted-collaboration-marco-tempest-onformative-checksum5/]).

All’inizio doveva trattarsi di una breve collaborazione di un paio di settimane, ma ci siamo piaciuti a vicenda e sono ormai 3 anni che lavoriamo insieme quasi ogni giorno.

Making of “Nikola Tesla in Sound and Light” from Marco Tempest on Vimeo.

Nikola Tesla in Sound and Light from Marco Tempest on Vimeo.

5. Quanto è importante la parte di R&D e quanto tempo dedichi in un anno?

La R&D e’ fondamentale: non solo operiamo in un mondo che cambia parecchio in fretta, ma, come dicevo prima, non esistono vendors che ogni anno immettono sul mercato l’ultima novita’ trendy per il creative coding (e questo, a parer mio, e’ solo un bene). Di conseguenza e’ importante rimanere costantemente informati, seguire conferenze, studiarsi i papers che parlano di quella nuova interessante ricerca nell’ambito della computer vision, del GPU computing  ecc…

Specialmente in quest’ambito, il senso di comunità e la filosofia open source rivestono un ruolo centrale: lavorando insieme e condividendo liberamente i risultati, spesso capita di riuscire a prendere teorie e tecniche sperimentali e trasferirle nel mondo reale in tempi brevissimi.

In definitiva, faccio fatica a quantificare quanto tempo dedico all’R&D in un anno, perche’  per me e’ un processo costante: quasi ogni giorno frequento blogs e forum e, quando qualcosa mi colpisce, mi ritaglio un po’ di tempo per smanettarci. Inoltre va considerato che la natura stessa di questo mestiere prevede di creare ogni volta qualcosa di nuovo: ogni progetto richiede almeno una parte di ricerca.

6. Realtà Aumentata. Un esercizio di stile o una possibile espressione artistica ?

Oggi “realtà aumentata” vuol dire un po’ tutto e niente: personalmente la intendo come un qualsiasi tipo di interazione tra oggetti/persone nel mondo fisico e elementi sintetici digitali.Amo sperimentare soluzioni espressive basate su questo tipo di dinamiche perché mi permettono di giocare con paradigmi di interazione istintivi: puoi proporre alla gente esperienze nuove e tutti (bambini e anziani compresi) capiscono immediatamente come parteciparvi, senza bisogno di istruzioni.Purtroppo la maggior parte di quello che viene etichettato come Realta’ Aumentata e’ poco più di una demo tecnica: prendi la pagina X della tale rivista, mettila sotto la webcam e TADAAAN! spunta fuori una macchinina. Credo che questo tipo di lavori, nei quali l’illusione digitale e’ tutto, rappresentino i primi, necessari tentativi di utilizzare una nuova tecnologia per fare spettacolo, un po’ come e’ accaduto con “L’arrivo del treno” dei fratelli Lumiere; ora pero’ credo sia tempo iniziare a spostare l’enfasi dall’effetto speciale (la gente ha capito: non si meraviglia più!) alla ricerca di un linguaggio specifico.

7. Arte e tecnologia. In che direzione sta andando la tua ricerca e come vedi il futuro dell’interaction design?

Usare il software come mezzo di espressione, comporta un paio di conseguenze che trovo particolarmente stimolanti.La prima e’ che si sta utilizzando un linguaggio ancora in via di definizione: la sperimentazione espressiva con il computer e’ vecchia almeno quanto il primo computer (si pensi ai videogames, alla demo scene, alla net-art, …), ma il contesto tecno/culturale odierno offre la possibilità di spostarsi al di fuori di una nicchia di sperimentazione, confrontandosi per la prima volta con un pubblico vasto e contribuendo alla maturazione di un medium in qualche modo “nuovo”. La seconda risiede nella natura proteiforme del digitale in generale e del software in particolare: un po’ come e’ accaduto con il cinema, e’ possibile inglobare nel proprio lavoro altre forme di comunicazione (la musica, l’immagine, il video, …), assecondare o sovvertire le loro regole, provare a portarle in contesti inesplorati.

In definitiva, credo che nell’immediato futuro dell’interaction design debba esserci parecchio dialogo con le altre arti (forse sarebbe più indicato il termine inglese crafts, ma non credo sia questa la sede per discutere di arte con la “A” grande e con la “a” piccola). Musicisti, coreografi, video makers, architetti, ecc… : molti di loro iniziano a chiederci come si potrebbe aggiungere un pizzico di interattivita’ o come inseminare un comportamento generativo nel loro lavoro. Specularmente, il nostro mondo relativamente giovane può sicuramente arricchirsi attraverso un confronto attento con quei linguaggi che l’hanno preceduto e che, in qualche modo, hanno contribuito alla sua nascita.

8. Chi sono i tuoi riferimenti e a chi ti ispiri ?

La fonte di ispirazione più ovvia e’ probabilmente rappresentata da altri creative coders: ammiro particolarmente il lavoro di persone come Kyle McDonald, Chris O’Shea, Memo Akten.Facendo un discorso più generale, il mio lavoro risente sicuramente di influenze provenienti da discipline diverse: pittura, cinema, letteratura, cultura pop. Sono cresciuto a suon di postmoderno e semiotica e, come e’ ovvio, questo tipo di formazione lascia un’impronta in quello che faccio.Sul piano tecnico/pratico, infine, credo di essere sostanzialmente il prodotto di una sana esposizione alla vecchia demo scene, alla cultura hacker e all’etica DIY tipica del punk rock: quei contesti mi hanno insegnato a pensare fuori dagli schemi, che si impara di più condividendo che tenendo segreti, che se vuoi qualcosa che non esiste, puoi lavorare sodo e crearla. Un importante corollario di quest’ultimo punto e’ il seguente: la caffeina e’ la tua migliore amica, ma puo dare dipendenza 🙂

9. Perché hai scelto di dedicarti a pieno ad openFrameworks ?

Ho provato diverse librerie/toolkits/ambienti, ma, in effetti, la maggior parte del mio lavoro utilizza ampiamente openFrameworks.Le ragioni di questa scelta sono molteplici:

– e’ open source: come gia’ emerso in altre mie risposte, credo molto nell’open source e ci tengo a sottolineare che la mia presa di posizione deriva da motivazioni sia teoriche/etiche che pratiche: mi capita spessissimo di andarmi a leggere il sorgente degli strumenti che uso, per capire meglio come funzionano e trovare il modo migliore di ottenere il risultato che voglio. Questa operazione e’ semplicissima con OF, ma impossibile se si usano tools proprietari.

– e’ multipiattaforma: con un unico strumento posso sviluppare su Mac, Linux, Windows, iOS, Android

– e’ scritto in C++: per farla breve, il C++ e’ un po’ il Linguaggio di Programmazione per eccellenza: e’ versatile e consente un altissimo livello di controllo, che si traduce in alte prestazioni. Tra i neofiti ha la fama di essere un linguaggio “difficile”, ma in realta’ e’ semplicemente molto preciso e performante; si può vederla così: se fai lo scemo guidando una Panda, magari prendi un muro e ti ammacchi la faccia; se fai lo scemo guidando una Ferrari, il muro lo sfondi e poi bisogna anche scrostarti fuori dai rottami. Tutto sta nell’imparare a usarlo responsabilmente: nel creative coding spesso portiamo al limite l’hardware che abbiamo a disposizione, quindi un linguaggio performante può fare una differenza enorme.

– tra tutte le soluzioni che ho provato, e’ quella che mi offre l’ambiente di lavoro più confortevole: mi mette a disposizione una serie di strumenti che soddisfano in maniera semplice la maggior parte delle mie esigenze giornaliere e, quando ho bisogno di fare qualcosa di diverso dal solito, si lascia “scavalcare” agevolmente.

– infine, il senso di comunità e’ grandioso: ci si ispira a vicenda, si collabora, si sperimenta.

10. Cosa consiglieresti ad un giovane affascinato del creative coding e perché consiglieresti questo workshop.

E’ un buon momento per chi si avvicina a questo mondo: tutto e’ ancora nuovo, ma, a differenza di qualche anno fa, esistono strumenti solidi e maturi, un po’ di letteratura e diverse occasioni di incontro e di crescita.

Il mio consiglio e’ sicuramente quello di guardare il lavoro degli altri, capire come funziona (sul piano tecnico, espressivo e progettuale) e, chiaramente, studiare tanto e provare tanto.

Nella mia esperienza, il formato del workshop e’ uno dei modi più efficienti e veloci per imparare: ci si ritaglia una parentesi di qualche giorno nella quale si acquisiscono competenze nuove, ci si confronta con l’approccio e la preparazione di altri e si ha l’occasione di provare in prima persona le tecniche trattate. Questo tipo di full immersion ti da l’occasione di chiarirti un sacco di dubbi e, dopo aver letteralmente respirato creative coding per giornate intere, torni a casa con un progetto completamente realizzato da te e la piacevole sensazione di essere in grado di applicare nel mondo reale quello che hai imparato.

http://naufolio.augmentedrealityag.com