Entrevistamos a Aarón Montoya-Moraga sobre su experiencia promocionando p5.js, una biblioteca de JavaScript de la Processing Foundation, y cómo la programación creativa se está volviendo más accesible en América Latina. p5.js está disponible en Código para el Desarrollo.
Aarón, cuéntanos un poco sobre ti y a qué te dedicas. ¿Cómo llegaste a la programación?
Soy chileno, nací el año 1989. Estudié ingeniería eléctrica en pregrado, empecé a trabajar con software para música electroacústica y perfomance, y eso me llevó a unirme a la comunidad de artistas mediales. El año 2017 me gradué del Interactive Telecommunications Program en New York University, y este año, 2019, me incorporé como investigador y estudiante al equipo de investigación Poetic Justice en MIT Media Lab. Me dedico principalmente a enseñanza, desarrollo, investigación y difusión de software de código abierto para artes mediales.
¿Qué nos puedes contar sobre la herramienta p5.js? ¿Por qué es especial esta herramienta?
p5.js es una biblioteca de JavaScript, que es un lenguaje que los navegadores web (Chrome, Explorer, Firefox, Safari, Opera) son capaces de ejecutar. A grandes rasgos, las páginas web se escriben en HTML, donde se indican los contenidos y estructura de la página web, incluyendo, texto, imágenes y videos. Este código en HTML se complementa con el lenguaje CSS, que permite cambiar el estilo de la página web: agregar colores, tipografías, alineación, márgenes, y tamaños. Así, HTML y CSS permiten hacer páginas web estáticas. Sobre esta base, se puede programar en el lenguaje JavaScript, que permite agregar comportamientos a la página web que son dinámicos e interactivos, como por ejemplo que cuando la persona presione un botón, se reproduzca un video, o el texto cambie de color, o que cada minuto la página se refresca, entre otros.
Estos lenguajes web, aunque obedecen a necesidades técnicas o utilitarias, poseen plasticidad y abren terreno a que nos expresemos artísticamente en la web. p5.js es una manera de usar tecnologías web para expresarnos artísticamente.
p5.js fue creada en 2013 por Lauren McCarthy tanto como una comunidad como una biblioteca, desarrollada al alero de la Processing Foundation, una entidad sin fines de lucro que promueve la alfabetización tecnológica en las artes, y la alfabetización artística en el campo tecnológico, haciendo que estos campos sean más accesibles y estén al alcance de comunidades diversas.
La herramienta de mayor trayectoria de esta fundación es Processing, un lenguaje que permite programar apps multimedia, y que es de código abierto, libre y gratuito. Processing fue creado en 2001 por Ben Fry y Casey Reas, cuando eran estudiantes en el grupo de investigación Aesthetics and Computation, en MIT Media Lab. Desde ahí, se han consolidado como una comunidad con presencia en todo el mundo, han construido la fundación, y se han ampliado a otros proyectos relacionados, incluyendo p5.js.
p5.js es una reinterpretación de Processing, pero ahora como lenguaje web, a diferencia de Processing, que corre en tu computador, no en tu navegador web. p5.js te permite hacer páginas web artísticas, creativas, interactivas, y fáciles de compartir y de programar.
¿Cómo te involucraste con Processing Foundation y p5.js? ¿Cómo has colaborado con ellos?
Mi primer acercamiento a los softwares y las comunidades en torno a las artes mediales fue a través de la comunidad de música electroacústica en Chile. Eso me llevó a conocer Processing, y a empezar a estudiar mucho por mi cuenta. En esta búsqueda, postulé a NYU ITP, y tuve la suerte que cuando ingresé a ese programa en el 2015, fue la primera vez que tras más de una década, el curso de introducción a la programación se enseñó usando p5.js, reemplazando a Processing. Además, ese año Lauren McCarthy era profesora en NYU ITP y tomé un curso de performance y tecnología con ella.
Cuando entré a este máster yo ya sabía programar, pero como no sabía mucho de web, tomé este curso y quedé fascinado con las posibilidades web, sus posibilidades gráficas y de difusión de contenido, y con la expresividad de p5.js.
Tras terminar el primer año de máster, el 2016 hice una internship durante el verano con la Processing Foundation. Mi propuesta fue ambiciosa: incluía diseñar y desarrollar workshops de introducción a la programación para principiantes, así que viajé a Chile y hice más de diez clases, a más de cien personas. Además, propuse que la web de p5.js debía estar en español, y también el libro introductorio. Ese verano terminé una primera versión de estos materiales y seguí trabajando en mis tiempos libres en este proyecto. El siguiente verano tras terminar el máster, volví a dedicarme a tiempo completo al proyecto gracias a la iniciativa Google Summer of Code, y lanzamos la web de p5.js en español, con todo el material educativo en español, disponible en http://p5js.org/es.
También lanzamos la página https://processingfoundation.press/, donde publicamos la traducción a español del libro introductorio de p5.js, que está disponible en formato PDF con el formato paga-lo-que-quieras, y también en formato físico a través de Amazon. Me enteré de que en NYC el departamento de educación ha adquirido el libro para enseñar en comunidades latinas y mi sueño es que sea un libro que se use en toda Hispanoamérica.
¿Qué talleres de difusión de p5.js has hecho en Latinoamérica y qué aprendizajes te dejaron estas experiencias?
El año 2017, con cuatro artistas, educadores y grandes amigues, Camila Colussi, Natalia Cabrera, Guillermo Montecinos, y Christian Oyarzún, nos unimos y lanzamos el proyecto CODED Escuela, que había empezado ya Christian. Con CODED unimos esfuerzos en enseñar software para fines artísticos, con herramientas libres, de código abierto, y gratuitas.
Durante estos dos años de trabajo hemos hecho muchos cursos de introducción a la programación para fines artísticos, incluyendo varias versiones de introducción a la programación para arte gráfico con p5.js, además de escritura creativa con Python, arte sonoro con ChucK, y últimamente aprendizaje de máquinas con ml5.js. También hemos hecho encuentros de artistas mediales, para fortalecer la comunidad de artes mediales en Chile, y quiero mencionar el apoyo del proyecto Sinestesia en Santiago. Este año 2019 como equipo nos tomamos una pausa, para replantear el proyecto, y explorar nuevos rumbos a seguir, lo que además pasó porque nos hemos alejado geográficamente, al menos en el futuro cercano.
Además, este último año tuve varias experiencias muy lindas en torno a la programación creativa en contextos latinoamericanos. Por ejemplo, a principios de febrero 2019 fui parte del primer Día de la comunidad de Processing, celebrado en Quito, Ecuador. Se realizaron más de 100 de estos eventos gratuitos en todo el mundo, por gente de la comunidad de Processing Foundation, y tuvimos mucha presencia en toda Latinoamérica, incluyendo talleres para gente principiante que no conocía estas herramientas y lenguajes.
¿Cuál es el potencial que ves en el uso de herramienta como p5.js en Latinoamérica?
Creo que en el mundo de la tecnología la gente de Latinoamérica estamos muy subrepresentados. Estoy convencido que el uso de p5.js por gente de cualquier edad y en cualquier formato educativo es muy atractivo, ya que permite que nos expresemos, que compartamos y que veamos la computación como una herramienta poderosa para que podamos crear, experimentar, e incluso idear nuevas utopías y denunciar sistemas de opresión o tiránicos.
Estoy convencido que la programación al servicio de las artes y el diseño son muy positivos para el desarrollo cultural latinoamericano. Creo en el gran potencial del arte y los computadores para sanar y conectar a la sociedad, con total libertad, sin censura, y gran transparencia, especialmente al usar código abierto, y con bajo costo y gran facilidad de distribución.
¿Tienes una experiencia utilizando p5.js? ¡Cuéntanos en los comentarios!
Visita la página en Código para el Desarrollo para más ideas y recursos sobre p5.js.
Si quieres aprender más sobre el código abierto en general, ¡empieza con este artículo!
Ana Dice
Aarón es un crack. Gracias por ser tan generoso..