¡p5.js 1.0 está aquí!
Este artículo traducido por Aarón Montoya-Moraga y Luis Morales-Navarro. ¡Gracias!
You can read an English version of the post here. Você pode ler a versão em português deste artigo aqui. 日本語版はこちらです!
¡Estamos muy emocionadxs de anunciar el lanzamiento de p5.js 1.0! p5.js es una biblioteca de JavaScript que busca hacer que expresarnos creativamente y programar en la web sean más accesible e inclusivo para artistas, diseñadores, educadores y principiantes. Aunque han pasado siete años desde que iniciamos p5.js, fue hasta hace un año que intencionalmente empezamos a desarrollar 1.0, cuando Kate Hollenbach creó una hoja de ruta para lograrlo. De ahí en adelante, el esfuerzo fue liderado por Stalgia Grigg y Evelyn Masso, trabajando con Lauren McCarthy, Cassie Tarakajian, Kenneth Lim, y miles de contribuidores alrededor del mundo que se unieron para trabajar en todos los aspectos del proyecto incluyendo código, documentación, enseñanza, haciendo arte, escribiendo y mucho más. Reflexionando en los valores del proyecto p5.js, 1.0 no es solamente un hito en cuanto a código, es también uno que se basa en un trabajo significativo de documentación y comunidad.
Revisión de la biblioteca
En el último año, trabajando hacia la versión 1.0, hemos publicado 5 versiones que representan 1,488 commits (cada commit puede considerarse como una sola ronda de cambios en uno o más archivos). Puedes descargar la nueva versión en p5js.org. Hay tantas cosas nuevas que tratamos de capturar las características clave y los cambios a continuación. Si contribuiste con algo que no está en la lista, avísanos a hello@p5js.org y lo agregaremos. :)
- ¡Soporte para dibujos animados de GIF usando la función image()!
- Adición de métodos de dibujo amigables para principiantes como circle() y square(), que permiten dibujar círculos y rectángulos, respectivamente.
- Soporte para (y requisito de) texto alternativo dentro de los métodos de dibujo de imágenes.
- Actualización de todos los materiales orientados al usuario, materiales orientados al contribuyente y toda la base de código y los procesos de compilación que lo acompañan para usar ES6, dirigido por Hirad Sab.
- Introducción de nuevas herramientas en el proceso de construcción para garantizar la capacidad de mantenimiento del código y priorizar la accesibilidad. Esto incluye cosas como linting y validación HTML para cumplir con las especificaciones WCAG.
- Una biblioteca p5.Serial mejorada creada por Shawn Van Every, Jen Kagan, y Tom Igoe que permite la comunicación entre el boceto p5.js y Arduino (u otros dispositivos).
- Actualizaciones a la funcionalidad de audio/video y la biblioteca p5.sound dirigida por Jason Sigal tomando en cuenta los nuevos requisitos de los navegadores.
- Mejoras en el sistema de errores amigables (FES). El FES es un sistema que los principiantes pueden activar en la biblioteca p5.js que verifica los tipos de argumentos y detecta errores comunes, y proporciona explicaciones más accesibles sobre cómo arreglar el código en la consola. Actualizamos esto para proporcionar errores amigables más útiles e intuitivos en toda la biblioteca.
- Adición de soporte de internacionalización para mensajes de error amigables.
- Robustecimiento del modo de dibujo WebGL. Esto incluyó limpiar la representación del texto, el dibujo de geometría y la iluminación, mejorar las capacidades de mapeo de texturas y simplificar y documentar toda la tubería de gráficos WebGL.
- Fusión de nuestra biblioteca DOM externa con la biblioteca principal para permitir una gama de funcionalidades usando elementos HTML como cámara web, entrada de micrófono, video, audio, elementos de entrada y selección de archivos.
- Numerosas correcciones de errores y mejoras de documentación en todas las áreas.
- Revisión, simplificación y documentación del proceso de compilación y herramientas para la sostenibilidad.
- Realización de pruebas unitarias exhaustivas en toda la biblioteca para garantizar que el código siga funcionando con nuevos cambios.
- Implementación de bots, acciones y plantillas de GitHub, incluido un bot de bienvenida amigable y plantillas de problemas para ayudar a nuevos contribuyentes.
- Una nueva característica que permite a los contribuyentes iniciar encuestas en Twitter desde GitHub para reducir las barreras de acceso, participación y discusión en la comunidad.
- Un conjunto rediseñado de documentos de contribuyentes y un sitio web de documentos de contribuyentes que documentan cómo se organiza y gobierna el proyecto, y cómo participar.
Editor p5.js
A través de todo este trabajo, el editor de p5.js dirigido por Cassie Tarakajian ha sido clave para ayudar a personas de todas las edades y habilidades a comenzar a crear, editar y compartir rápidamente bocetos de p5.js. El editor se lanzó oficialmente hace poco más de un año y ha seguido creciendo desde entonces, ¡más de un millón de bocetos han sido creados en la plataforma!
Conferencia de contribuyentes p5.js
Uno de los pasos clave para este lanzamiento fue una Conferencia de contribuyentes de p5.js celebrada en agosto en el Frank-Ratchye STUDIO for Creative Inquiry en Carnegie Mellon University en Pittsburgh. Dimos la bienvenida a un grupo de personas extremadamente enérgico, diverso y generoso que van desde contribuyentes de toda la vida hasta personas completamente nuevas en el proyecto. Grupos de trabajo se enfocaron en varias áreas temáticas: Acceso; Música y Código en Performance; el Estado de la Tecnología; e Internacionalización.
Algunos logros incluyeron:
- Un prototipo de interfaz notebook para p5.js. Creado por Allison Parrish.
- El diseño de un sistema de bibliotecas para el editor de p5.js. Creado por Cassie Tarakajian y Luca Damasco.
- Prototipos para conectar p5 a otras bibliotecas. Creado por Alex Yixuan Xu y Lauren Valley.
- Herramientas para contribuyentes globales de p5.js. Creado por Aarón Montoya-Moraga, Kenneth Lim, Guillermo Montecinos, Qianqian Ye, Dorothy R. Santos, y Yasheng She.
Conferencia de contribuyentes de p5.js, día 1, los participantes conversan y comparten. [Descripción de la imagen: En primer plano, cinco participantes conversan y se ríen juntos mientras que los participantes en segundo plano están participando de otras conversaciones o trabajando.]
- Un grupo de trabajo sobre cómo escribir código creativo no-violento y una revista liderada por Olivia Ross.
- Un panel sobre género y afro-descendencia en espacios virtuales liderado por American Artist, con shawné michaelain holloway y LaJuné McMillian.
- Una reforma del sitio web para accesibilidad. Incluyendo actualizaciones para accesibilidad usando lectores de pantalla, y mejoras a las páginas principal, descargas, empezar y referencia. Con contribuciones de Claire Kearney-Volpe, Sina Bahram, Kate Hollenbach, Olivia Ross, Luis Morales-Navarro, Lauren McCarthy y Evelyn Masso.
- p5grid. La implementación de patrones flexibles con formas de triángulos, cuadrados, hexágonos y octógonos para p5.js. Creado por Aren Davey.
- p5.multiplayer. Una serie de plantillas para construir juegos para varios jugadores en distintos dispositivos donde múltiples clientes se conectan a un servidor. Creado por L05.
- Experimentos utilizando P5LIVE, pruebas de una implementación temprana de softCompile, interface OSC y conectividad aumentada con un demo para su uso con MIDI. ¡Un ambiente de vj colaborativo para codificar en vivo con p5.js! Creado por Ted Davis.
- Presentaciones colaborativas por Luisa Pereira, Jun Shern Chan, Shefali Nayak, Sona Lee, Ted Davis, Carlos Garcia y Natalie Braginsky.
- Talleres de data scraping y narrativas no-lineales liderados por Everest Pipkin y Jon Chambers.
Tomamos tiempo de la conferencia para hablar sobre el futuro de p5.js, especialmente sostenibilidad y gobernanza. Juntxs, tomamos la decisión de explorar un modelo rotativo de liderazgo que abriría el proyecto a nuevas perspectivas y direcciones. También haría que el acto de liderar fuera menos oneroso, reduciendo las barreras de entrada. Con esta decisión, quedó claro que teníamos que hacer un esfuerzo significativo en documentación y infraestructura para facilitar la transición entre lxs líderes.
Documentación
Basándonos en la conferencia y debates en línea, trabajamos para documentar el proyecto, sus estructuras organizativas y de gobierno, y las diversas formas de contribuir. A través de estos documentos, presentamos ideas clave para estructurar nuestro proyecto en torno a diversidad, inclusión y la construcción de comunidad. La documentación se puede encontrar en distintos lugares:
- Sitio web de p5.js — La estructura del sitio web y el lenguaje fue actualizado para ser más intuitivo y amigable para principiantes. También reestructuramos el sitio web completo para ser más accesible y que cumpla con WCAG. Esto incluyó agregar herramientas al proceso de construcción del sitio web que validan las páginas HTML y nos alertan de problemas de accesibilidad.
- Páginas de Referencia y Ejemplos de p5.js — La documentación exhaustiva y amigable es un aspecto clave de p5.js. Se agregaron y actualizaron entradas de referencia y ejemplos para que la funcionalidad sea más clara y fácil de aprender.
- Documentos de contribuyentes — Trabajamos en una carpeta de documentación para contribuyentes que guía a la gente a empezar a contribuir, explica la estructura del repositorio, cómo añadir documentación, crear bibliotecas, procesos de lanzamiento, toma de decisiones, evaluaciones comparativas, pruebas, y más.
- Herramientas para contribuidores globales de p5.js — Una guía para contribuyentes internacionales y una reflexión sobre qué significa contribuir a p5.js. Este documento habla de oportunidades y problemas, incluyendo las implicaciones colonialistas/(neo)imperialistas subyacentes al hacer que p5.js esté “disponible globalmente”.
- Cómo escribir código creativo no-violento — Una zine que reflexiona en el gran paisaje del código creativo, y en cómo abrazar la inclusión radical, la decolonización, y cómo descentralizar a las comunidades dominantes dentro de estos proyectos y comunidades.
Diferentes contribuyentes trabajaron en muchos proyectos documentales y educativos para fortalecer y diversificar la comunidad de p5.js.
- Qianqian Ye quiere que p5.js sea más accesible en China, especialmente para los grupos minoritarios como mujeres y gente que no se identifica de forma masculina. Para contrarrestar el hecho que la mayor parte de los materiales educativos en línea como Youtube están censurados en China, ella grabó tutoriales de p5.js en video en mandarín y los compartió en sitios de video chinos. También se alió con programadoras creativas en China para realizar talleres de p5.js para niñas, mujeres y gente no-binaria, además de publicar entrevistas con referentes y modelos de la comunidad de p5.js en redes sociales chinas.
- Manaswini Das, Nancy Chauhan, y Shaharyar Shamshi trabajaron en empoderar gente en la comunidad india de diversos orígenes para que aprendieran a programar. A través de sus esfuerzos de traducción a Hindi, fueron capaces de proveer de herramientas a la comunidad india en su lenguaje nativo, y de preparar educadorxs al colaborar con diversas ONG e individuxs para construir una comunidad diversa en torno a software.
- Matilde Wysocki desarrolló un currículum de p5.js y le enseñó a gente joven sin vivienda de la comunidad trans y no-binaria, programación básica como un medio de expresión personal y alfabetización digital en un contexto de seguridad personal y de privacidad queer.
- Yeseul Song tradujo el sitio web de p5.js a coreano, aumentando así nuestro conjunto de traducciones que ya incluye a español, chino e hindi (en progreso).
- Layla Quiñones y Emily Fields, mentoreadas por Saber Kahn, nuestro Director de comunidad Educativa, escribieron un currículum que enseña a estudiantes cómo integrar sonido, animación, movimiento e interactividad a artefactos computacionales creativos escritos en p5.js. Su trabajo se enfocó en el desarrollo de herramientas para profesorxs que tienen poca experiencia en enseñar temas de ciencias de la computación en sus propias comunidades.
- Finalmente, Ashley Kang creó una galería de p5.js para exhibir proyectos de p5.js al redeor del mundo, con un enfoque en artistas, programadores y creadores de orígenes subrepresentados. Esta galería se lanzará más adelante en este mes, en conjunto con la versión 1.0 de la biblioteca p5.js
Siguientes pasos
Una de las decisiones clave que hicimos en la Conferencia de Contribuyentes fue que de ahora en adelante, “p5.js no agregará nuevas capacidades, excepto por aquellas que aumenten el acceso”. Esperamos que este compromiso enfoque el futuro de la biblioteca en torno a nuestras prioridades de inclusión, diversidad y accesibilidad. Imaginamos que esto abrirá muchas conversaciones sobre las diferentes formas en las que podemos aumentar el acceso, y sobre el rango de barreras y la estructuras que atentan contra él. Tenemos una visión a gran escala de cómo la biblioteca p5.js puede fomentar significativamente hacia una web más accesible, y queremos seguir investigando y prototipando esto junto a programadores con discapacidades, artistas, estudiantes, e instituciones.
También estaremos publicando nuestra zine de contribuyentes de p5.js 1 en marzo. Este libro celebrará a todes les contribuyentes de p5.js y el trabajo que hemos hecho juntes. ¡Mantente sintonizadx para más información sobre esto!
Finalmente, aceptamos el desafío que nos hemos impuesto — ¡abrir el proyecto en una nueva manera al implementar un modelo de liderazgo rotativo! Lauren McCarthy dejará su rol de líder del proyecto, dándole espacio a emocionantes nuevas ideas y líderes en el proyecto. Estén atentos a una llamada abierta para el rol de Líder del proyecto p5.js este mes.
¡Más novedades pronto! Estamos buscando profundizar más en todo este trabajo después de nuestro lanzamiento 1.0, y en atraer a la comunidad en formas más profundas y expansivas. Por ahora, queremos darles los más grandes agradecimientos a ustedes, artistas, creadores, educadores, seguidores y contribuyentes por ser parte de esto. p5.js no sería lo que es, y no seríamos quienes somos, sin ustedes. ❤