31 Jul 2019
Digital Art Insight: What is p5.js?
What is p5.js?
Art is visually stimulating. Lines of code, for most people, are not. But of course, the two become intertwined in the field of digital art. p5.js is a web-based programming language that works as open-source graphic library. In short, the platform aims to aid non-programmers in learning the fundamentals of coding through a visual context.
Lauren McCarthy, creator of p5.js noted:
“When Processing began in 2001, art and technology was still relatively new. One of the goals was to bring ideas like combining design and code out of institutions and to the broader public. Since then, Processing, and the space of art and technology in general, has grown tremendously.”
p5.js allows users to create shapes and basic objects, as well as providing a library that offers animation capabilities. The program also allows for interaction with HTML5 objects (another programming language) so the two can simultaneously be used on the platform.
Beyond exciting animations capabilities, many artists have been able to use the platform to combine coding with performance. Dancer and creative technologist Devon Frost used the platform to conceptualize and help develop Tap Encoding Decoding (TED), a program that uses signal processing techniques to determine what text a dancer is performing based on tapping and performing steps. They note that the program ultimately leads to “a performance partnership between the dancer and TED.”
For digital artist and former Decode Experiential panelist, Maya Man explains how she began working with the program to combine it with her dance background:
“For a long time my interest in art and dance was very separate from my interest in computer science and coding. But then I ended up meeting people who were in the processing and p5 community, and they exposed me to this world where you can use code as a medium to create visual work.”
The platform also gives many options to correct work and trouble-shoot, something that is especially helpful for people who are not used to coding. Digital creator, Ben Choe, notes that after a three-year hiatus from coding, he was able to make a website in less than a day to showcase his 3D photo gallery:
“As a newbie, having everything thoroughly documented and countless project examples available through the online playground made it easy to quickly remedy any mistakes I’ve made in my own project.”
One argument in the creative tech space is that many new technologies are not accessible to most people. Whether that’s from high expenses to creator bias, these are things that the Processing foundation has aimed to tackle. In their mission statement, the developers write:
“ We believe that learning to program is not about acquiring a certain skill set, but is instead a creative and exploratory process. We believe software, and the tools to learn it, should be accessible to everyone. We believe software literacy and an understanding of media of all kinds is essential knowledge for today.”
Whether you’re just beginning your journey in creative coding, or are already an expert, p5.js offers a range of opportunities to advance your skills. There are also a wide array of resources and tutorials for beginners (a popular one being The Coding Train from Processing Board member Dan Schiffman, who offers Programming and p5.js tutorials). For more information on p5.js check out: https://p5js.org
Featured Digital art by Maya Man