2. Crear amb codi

2.2. Eines de programació creativa

2.2.5. vvvv

vvvv va ser creat el 1998 per Max Wolf i Sebastian Oschatz com una eina per a la creació de projectes multimèdia. Juntament amb Sebastian Gregor i Joreg, tots ells membres de l’estudi MESO, van decidir desenvolupar el seu propi programari quan van comprovar que les eines comercials amb què llavors comptaven (Opcode Max, Macromedia Director, Flaix i d’altres) no els oferien suficient llibertat creativa. Després d’un treball que es va estendre durant cinc anys, van desenvolupar l’entorn de programació que es va llançar el 2002 i, posteriorment, van aconseguir una gran acceptació entre els programadors i dissenyadors. Com a programari gratuït (per a ús no-comercial), vvvv se segueix desenvolupant sobre la base de les aportacions d’una extensa comunitat d’usuaris i el vvvv group, que formen els quatre creadors originals.

Aquest plantejament fa de vvvv una eina ideal per VJs que creen espectacles en directe, i també per a artistes que desenvolupen instal·lacions interactives o dissenyadors que busquen crear prototips de productes d’una manera ràpida i efectiva. Entre les seves característiques principals hi ha el fet que permet treballar amb codi alhora que es visualitzen els resultats, podent organitzar els diferents elements que formen un programa i les relacions entre si per mitjà d’una interfície gràfica.

Com altres entorns de programació, vvvv compta amb llibreries i plugins desenvolupats pels mateixos usuaris, que expandeixen les seves possibilitats i faciliten el desenvolupament de projectes sense haver de començar de zero. Els usos principals de vvvv són l’animació 2D i 3D, instal·lacions multipantalla (gràcies a una tècnica denominada boygrouping és possible controlar i sincronitzar diversos ordinadors des d’un ordinador-servidor), motion graphics, video mapping, visualització de dades (a partir d’un arxiu de base de dades o de dades obtingudes a la xarxa), informàtica física (vvvv és compatible amb Wii, Leap, Kinect, Oculus Rift, Arduino i altres dispositius), so (si bé admet no arribar al nivell de PureData i MaxMSP) i visió artificial (inclou detecció del moviment, rostre, color, gest, etc.). Les possibilitats de creació que facilita aquest entorn de programació són immenses i han estat explorades per nombrosos artistes i dissenyadors.

Una part important del desenvolupament i la popularització de vvvv es dona en el context de l’organització NODE Forum for Digital Arts, fundada el 2010 a Frankfurt. Aquesta organització sense ànim de lucre crea esdeveniments, com ara tallers de programació, exposicions, performances i debats que tenen lloc en un festival biennal que, durant una setmana, reuneix professionals, estudiants i artistes de tot el món. Entre les col·laboracions desenvolupades a NODE, cal destacar la convocatòria oberta als artistes que ofereix l’empresa FRM, creadora del marc d’art digital FRAMED*, un dispositiu compost per una pantalla de 24 polzades amb un ordinador, càmera i sensors integrats pensat per penjar-se a la paret com si es tractés d’un quadre i que pot mostrar una àmplia varietat d’obres digitals creades amb tecnologies com ara openFrameworks, Processing, vvvv, Cinder o HTML5, entre d’altres. D’aquesta manera, FRM promou la creació d’obres d’art amb vvvv exclusivament per a un dispositiu dissenyat per a acollir-les.

El treball en vvvv es duu a terme en una finestra en què no hi ha absolutament res. Aquesta finestra es denomina patch (la programació en aquest entorn es coneix com a patching) i és l’espai on es col·locaran els nodes, que són els elements amb què es construeix un determinat programa. Cada node genera, processa o envia informació i ho fa per mitjà d’una sèrie d’entrades (inlets) i sortides (outlets). En aquestes entrades o sortides es creen enllaços amb altres nodes per a anar construint el programa. Un tipus de caixes particular són les IOBoxes, que permeten introduir valors que posteriorment es comuniquen amb un node perquè aquest processi o enviï la informació rebuda. Per a visualitzar els resultats del programa que s’està creant amb els diferents nodes, cal introduir un node denominat renderer, que duu a terme la renderització en temps real del codi que s’està escrivint quan es connecten les caixes.

Les dades circulen d’un node a un altre en funció de si els enllaços s’estableixen en els seus inlets o outlets i els resultats es fan visibles per mitjà d’un renderer. Quan es modifiquen les dades, és possible veure com els canvis afecten la visualització en temps real. Com a eina pensada per a treballar amb dades en temps real, la seva interfície presenta similituds amb la de Max/MSP i Pure Data, si bé presenta les seves pròpies particularitats i pot resultar més complexa d’usar.