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.
OF comparteix amb Processing el plantejament de ser un programari creat per a apropar les possibilitats de la programació a artistes i dissenyadors, però té les seves pròpies característiques.
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.
OF es basa en la filosofia DIWO (Do-It-With-Others, faci-ho amb altres persones) que promou la creació col·lectiva i col·laborativa, a partir de recursos desenvolupats per una comunitat els resultats de la qual es reverteixen en la mateixa.
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.
Segons admet Watson, una part de la motivació per a treballar en un projecte com OF sorgeix de la necessitat de desenvolupar la pròpia creativitat sense veure’s limitat pels programes comercials de disseny gràfic o edició d’imatges, vídeo i àudio (entre d’altres).
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.
Una vegada desenvolupat l’openFrameworks, Lieberman i Watson afirmen haver establert un sistema modular que permet als no-iniciats començar a treballar de manera senzilla, però alhora facilita una extensa varietat de recursos més avançats als usuaris.
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.
Som-hi amb openFrameworks
El web www.openframeworks.cc conté tota la informació sobre OF, documentació, una galeria d’exemples i el propi programari a descarregar. Segons recomanen els seus creadors, el millor és partir d’una idea i buscar en els exemples el codi que ens permetrà desenvolupar el nostre projecte.
El web d’OF resumeix en quatre passos el procés d’instal·lació i primer ús de les eines: descarregar el programari, explorar exemples, crear un projecte i consultar tutorials.
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.