Got an idea or
just need more info?

Get In Touch Plan My Event

[ X ] Close

Request Info Form

If you’d like to check space availability, work together for an event you are planning, or tour Lightbox please fill out the form below and we will contact you back shortly.

(i.e. Corporate, Product Launch, Presentation, Private Event, etc.)

(i.e. Catering Specifics, Advanced Technology Needs, etc.)

[ X ] Close

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. 

The program first came about as a project under the software program Processing. Developed in 2001 by Casey Reas and Ben Fry, Processing is an IDE (Integrated Development Environment) meaning that it is designed to facilitate the coding process for creative coders. The program uses Java language (different from JavaScript and considered to be the number one programming language), which enables coders to perform complex functions.  

Processing is a desktop software that is not usable on the web. Fortunately, p5.js uses JavaScript and works as a complementary web version to the original program. It offers full drawing functionalities and users are able to incorporate sound, animation, and video elements into their work. 

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.”

The Capabilities:

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.” 

Still from ‘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.” 

Still from online 3D photo gallery by Ben Choe

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

Happy coding!  

Featured Digital art by Maya Man