Creating art with open source

A spotlight on p5.js, a 2018 Global Sprint project

Mozilla Open Leaders
Read, Write, Participate
4 min readApr 24, 2018

--

p5.js Signing Coders Workshop, led by Taeyoon Choi (image credit: Taeyoon Choi)

Lauren McCarthy (@laurmccarthy) is an artist, programmer, assistant professor at UCLA Design Media Arts, and the creator of p5.js. Her work examines how issues of surveillance, automation, and network culture affect our social relationships. Lauren was selected to join our current round of Mozilla Open Leaders with her work on p5.js.

I interviewed Lauren to learn more about p5.js and how you can help at the Global Sprint 2018.

What is p5.js?

p5.js (http://p5js.org) is an open source JavaScript library that aims to expand access to programming beyond engineering fields, and promote software literacy within the visual arts, and visual literacy within technology-related fields. Our goal is to empower people of all interests and backgrounds to learn how to program and make creative work with code, especially those who might not otherwise have access to these tools and resources. Using the metaphor of a sketchbook, p5.js enables users to quickly prototype ideas and learn through direct visual output. A range of functions let users create graphics, animation, sound, video, interactivity, and data within an HTML page. It is designed with a low barrier to entry and is ideal for students of all ages and abilities. For those familiar with Java-based Processing, you can think of it as a re-interpretation of this library for the web.

a p5.js sketch titled “Delaunay Mosaic” by noaner

Why did you start p5.js?

When I started out in open source, it seemed to be a place where you had to elbow your way in and prove yourself in order to be a part of it. As a woman and as an artist, I immediately felt like an outsider. I was intimidated. Luckily, one of my mentors invited me into his project (Processing) and immediately made me feel welcome in this space. I realized what I wanted more than anything was for everyone to have that feeling I did when I was given a chance. I wanted to help people feel like they didn’t have to elbow their way in, but that it’s enough to have curiosity and a willingness to learn. What would it look like to have inclusivity and access be a core value from which all decisions flow, rather than an afterthought tacked on after a platform is built? Could we challenge our assumptions about what was reasonable or normal, and be open to different perspectives? These are the questions p5.js was born out of, and we have tried to follow them through every design decision we make, whether we’re talking about code, documentation, graphic design, outreach, or anything else.

What will you be working during the Sprint?

The focus of this sprint will be on documentation. This includes improving the p5.js reference by fixing typos, clarifying language, adding examples where missing, and making sure all examples have alt text descriptions. Additionally, we are aiming to create many new tutorials. These can be on any topic related to p5.js, for any skill level, in any language, and published on any platform. We will publish them on the tutorials page and share via social media. We’re especially interested in tutorials that choose a specific audience (ex: journalists, activists, poets, etc) and introduce examples that may be relevant for them.

p5.js Contributor’s Conference at the Frank-Ratchye STUDIO for Creative Inquiry at Carnegie Mellon University (image credit: Taeyoon Choi)

What challenges have you faced working on this project?

We want to make this project as inclusive as possible, and this means designing and building for many different types of people. From translation, to accessibility, to newcomer onboarding, to community building, it’s a lot to manage, and the biggest challenge has been finding the resources to keep it all going. It feels especially urgent because we know that not everyone has the time or resources to volunteer their work on this project. If we truly want to make it open to anyone, we need to raise funds to be able to pay people for their work.

What kind of skills do I need to help you?

People of all skills and backgrounds are welcome! We could use help with:

  • writing documentation and tutorials
  • beginner coders testing the onboarding process
  • coding help fixing bugs and responding to issues
  • people making art! and testing and sharing the library
  • outreach to new users and communities
  • foreign language translation of tutorials (or creating new ones in different languages)

How can others join your project at #mozsprint 2018?

You can start with the p5.js community page which describes different ways to get involved in the project. You can also follow along with the issues on our github page and jump in anywhere you like. Anything is fair game, but issues that are good starting points are tagged #mozsprint.

What meme or gif best represents your project?

It’s like this but with code!

Join us wherever you are May 10–11 at Mozilla’s Global Sprint to work on many amazing open projects! Join a diverse network of scientists, educators, artists, engineers and others in person and online to hack and build projects for a health Internet. Register today

--

--

Mozilla Open Leaders
Read, Write, Participate

A cohort of Open Leaders fueling the #internethealth movement through mentorship & training on working open. Work Open, Lead Open #WOLO mzl.la/openleaders