2. Crear amb codi

2.2. Eines de programació creativa

2.2.3. openFrameworks

De forma similar a Processing, openFrameworks (OF) també és un programari de codi obert creat per un artista i programador. Zachary Lieberman, coautor de nombrosos projectes artístics, entre els quals els guardonats Messa di Voce (amb Golan Levin) o The Eyewriter (amb FAT Lab i Grafiti Research Lab), llança openFrameworks v.0.01 el 2005 i poc després desenvolupa la versió 0.03 amb la col·laboració dels seus estudiants de Parsons School of Design (Nova York). Posteriorment, el contínua desenvolupant amb Theo Watson i Arturo Castro juntament amb una creixent comunitat de programadors i dissenyadors.

openFrameworks és un conjunt d’eines en llenguatge C++ que combina recursos d’ús comú com ara OpenGL (per a gràfics), FreeType (tipografia), FreeImage (gestió d’imatges), Quicktime (vídeo), OpenCV (visió artificial) o Assimp (3D) en un entorn de programació senzill i intuïtiu. A més, és compatible amb els sistemes operatius principals (Windows, OSX, Linux, iOS, Android) i compta amb una comunitat d’usuaris, llibreries i recursos compartits.

Lieberman i Watson incideixen en la importància del caràcter col·laboratiu del seu projecte, que consideren una forma de considerar l’art com a recerca:

[…] som artistes desenvolupant eines per a altres artistes. Quan treballem, agafem idees que hem après i procurem portar-les a openFrameworks perquè uns altres puguin usar-les. Ens fa millors programadors i també significa que tenim un major impacte que si simplement fem un projecte amb els nostres noms. L’objectiu és prendre’s seriosament el concepte d’art com a recerca i aquesta és una manera de publicar els resultats de la nostra recerca.

R. Kirschner (2008). «openFrameworks. Zachary Lieberman and Theodore Watson interviewed by Friedrich Kirschner». A: G. Stocker, C. Schöpf (ed.). Ars Electronica 2008. A New Cultural Economy. The Limits of Intellectual Property (pàg. 209-213). Ostfildern: Hatje Cantz.

El programari comercial facilita a qui no sap programar la creació de tot tipus de coses amb un ordinador, però alhora el porta a dependre de la compatibilitat d’aquest programari amb determinats sistemes operatius (com ocorre, notablement, amb Adobe Flash, que ha deixat de ser compatible amb iOS i deixarà d’usar-se oficialment el 2020). Com hem comentat, saber programar allibera els artistes i dissenyadors de les limitacions del programari comercial, però requereix uns coneixements que pocs tenen.

Per aquest motiu, OF busca la major simplicitat possible en l’ús de les seves eines. Partint d’uns coneixements bàsics del llenguatge C++, és possible treballar emprant exemples que es poden modificar, aprenent al mateix temps com funciona el codi de programació. A més, els projectes creats en OF són compatibles amb Processing, la qual cosa facilita la transició d’una plataforma a una altra.

En aquest aspecte, el llenguatge C++ resulta adequat, atès que permet programar en diferents nivells i compta amb nombrosos recursos, tant per a aprendre a usar-lo com per a desenvolupar projectes complexos. Com que és un entorn multiplataforma, també permet que qualsevol pugui usar-lo sense haver de canviar de sistema operatiu i, d’altra banda, facilita que el producte acabat sigui fàcilment exportable, per exemple de Windows a MacOSX o Linux. Aquesta compatibilitat és especialment útil per als artistes, que sovint han d’adaptar els seus projectes a diferents plataformes o màquines.

D’aquesta manera, el treball amb OF no parteix d’un aprenentatge pas a pas des dels conceptes més bàsics, sinó que anima l’usuari a anar directament als exemples que necessita per a desenvolupar la idea que té en ment. Aquests es poden consultar en diferents categories, com ara 3D, comunicació, visió artificial, so, vídeo, etc. Cada exemple permet a l’usuari aprendre com aplicar les funcions necessàries per a aconseguir un objectiu determinat. Per exemple, en la categoria visió artificial (Computer Vision), trobem un arxiu creat amb OpenCV que permet captar, per mitjà d’una càmera, la presència d’una persona o objecte en un espai i seguir els seus moviments. Quan estudia el codi d’aquest arxiu, l’usuari aprèn a capturar vídeos per mitjà d’una càmera o arxiu pregravat, usar el vídeo per a generar algun tipus de càlcul i diferenciar entre l’objecte o persona i el fons.

Seguint el principi de caixa d’eines, es dona més importància al propi projecte, l’execució del qual ha de facilitar el programari gràcies a les múltiples combinacions que es poden fer del gran nombre de recursos que faciliten les llibreries i els projectes realitzats. OF s’ha emprat en tot tipus de projectes, des d’instal·lacions audiovisuals i interactives a performances, projectes de recerca científica, disseny d’interfícies, joguines, robots i nombroses peces desenvolupades amb intel·ligència artificial, realitat virtual i altres tecnologies.