A selection of images from p5.js contributors.

This is part II of the Processing oral history. Read part I here.

As Processing became one of the primary environments for creative coding in the early aughts, a community started developing around it. People were eager to use the tool, and a smaller subset of them wanted to help develop the infrastructure required to maintain the growing piece of software. Community members from around the world contributed to Processing Libraries, which extended Processing’s capabilities and expanded the language to work in different mediums like sound, hardware, and computer vision. The software itself continued to evolve, but the support system behind it was lagging. Since its inception, Processing had been a labor of love. By 2011, Reas and Fry decided to formalize the organization’s work by establishing a foundation that could help raise funding and expand access to Processing through educational efforts.

Jonanna Hedva, Director of Advocacy at Processing Foundation
Saber Khan, Education Community Director at Processing Foundation
Lauren Lee McCarthy, p5.js creator, board of directors at Processing Foundation
Dorothy R. Santos, Executive Director of Processing Foundation

Casey: Processing had been around for about 11 years by the point we started thinking about the Foundation. We had been working completely on a volunteer basis. We probably should have formed the foundation about six years before we did because we were always really struggling to get the software released, and we didn’t have a lot of energy or ability to plan for the future. We had a few pieces of funding come through from different institutions at different points in time, but the project had really just grown to a scale that we needed to start working with money and started applying for grants. So the foundation really came out of necessity of needing to fund the software development. 

Johanna Hedva: I started working in Casey’s garage in the summer of 2014. At the time we had the 501(c)(3) status, and that was sort of it. There was no clear plan or strategy or vision. In the early days it was really trying to figure out how to translate the 11 years of work with the software into a nonprofit foundation that would serve some sort of community. There was already a thriving community, so I think the question was: What role can the foundation serve to support what’s already happening? And is there anything that we could do to catch the momentum and bring in more support?

Casey: An initial idea was, let’s bring in money, and we’ll be able to hire some developers—because the people who were developing the software at the time just had too much responsibility and too much weight on their shoulders to be maintaining such a huge piece of software for such a large international community. It just wasn’t possible for them to carry that burden.

Alt-text: Asian-American woman with long dark hair stands in front of a projection of p5.js editor
p5.js creator Lauren Lee McCarthy teaches p5 at a workshop in Gwangju, South Korea.

Lauren Lee McCarthy: We were at a point in 2015 or 2016 where we felt like everyone was working at capacity. There was this moment of: Okay, we either have to scale back what we’re doing so it can be manageable, or we need to scale up a little bit to build some infrastructure so we can really think about sustainability. I remember asking, “who wants to scale back what we’re doing?” And nobody wanted to, so we had to go the opposite direction. It’s really been about trying to think about what we need to be able to support what we want to do in a way that is manageable and also creates opportunities for people who can’t afford to volunteer their time to these projects.

Johanna: Open source is tricky. It’s kind of a paradox because the whole point of it is that anyone can use it, participate in it, and build it, which also means that there’s no money. It’s free for everyone to use. You can participate in the community, but it also requires a lot of volunteer labor, which of course excludes an entire swath of the population outright. 

Casey: My one-liner is that free software is expensive to make. In reality, we weren’t successful as a foundation in funding development in the early years, but the foundation really expanded the project in a lot of ways that I think were unforeseen by me.

Johanna: It became very clear, very quickly, that things like diversity and inclusion and access were actually something that we could do as a nonprofit and foreground as a priority. We really wanted to try to support community members who hadn’t been supported in other open-source places and contexts before that. The thing that felt really important to me about Processing was not necessarily what the potential is to create, although that feels really expansive. But the potential to change how these things are seen, what code can be, and what people who contribute to software projects could look like. The transgressive potential to me is almost more exciting than the thing of like, “oh, we could make a cool animation,” or something. I mean, that’s nice too, but to me this is very political, actually. 

“My one-liner is that free software is expensive to make.” — Casey Reas

Dorothy R. Santos: 100,000% to everything Johanna said. The way that one contributes to a project can be so multifaceted and can take on so many permutations. For a project or open-source software project to be able to do that and to kind of have that ripple out into not just even like a local or U.S. community, but a global community—that’s very hard to do.

A man stands at a lectern, in front of an audience. To his left is a screen with CART (Communication Access Realtime Translation) captioning. To his right is a wall with projected text that reads: “We believe software, and the tools to create software, should be accessible to everyone.”
Processing Community Day at UCLA in LA in 2019.

Lauren: There’s a way in which we’re taught to believe that a technology or tools are just about the code. And I think that’s totally false. A contributor is someone that contributes, not necessarily writing code.

Saber Khan: I think all those things make Processing a really important voice in the K-12 education space. In K-12 education there’s a lot of interest from Silicon Valley and corporations to have their curriculum and their presence [in schools]. I think this makes it really important that the software gets made by people who have politics and interests. I find that often in K-12 there’s the sentiment of, you can have fun when you’re a kid, but when you grow up it’s gonna get really serious. 

“There’s a way in which we’re taught to believe that a technology or tools are just about the code. And I think that’s totally false.” — Lauren Lee McCarthy

Dorothy: I don’t want students to ever feel that they must learn Processing or that they must learn programming in order to be successful in the world. But this is also a part of the challenge of getting funding. Oftentimes you have to prove the worst of a project in terms of its output—not because of what it teaches an individual. 

Casey: I just believe in the value of the arts. We’ve always approached coding in the same way that it’s useful to learn how to play a violin or a recorder when you’re in elementary school—it enriches life. We’re not training worker bees. We’re allowing people to be creative and expressive in this emerging way. 

Dorothy: I actually took one of my first Processing workshops at Gray Area in 2011, and I remember I felt very embarrassed and ashamed because I literally thought to myself, “everyone in this 101 beginners workshop knows how to code really well.” They’re making like freaking wormholes in their laptops, and I was excited to make a circle that could bounce up and down. 

Lauren: One of the things we thought about really early on with p5 [ed note: more on p5 in just a moment] was the culture on GitHub, which is like the main place where the code base is developed. A lot of the conversations can be very aggressive, and you have to put yourself forward as an expert in order to be listened to. And we just really wanted to change that dynamic.

Participants conversing in a busy classroom.
Kenneth Lim, Qianqian Ye, and Dorothy R. Santos at the 2019 p5.js Contributor’s Conference at CMU STUDIO for Creative Inquiry. Photo credit: Jacquelyn Johnson.

Around the same time the Processing Foundation was established, another project started to take form. In 2013, Lauren Lee McCarthy ran into Reas at a conference and they began talking about the lack of diversity in the open-source coding space. Soon after, Reas reached out to McCarthy to see if she wanted to work on Processing. When McCarthy joined the project, she began thinking about how Processing’s initial goals of access could be updated for 2013. She believed that a web-based coding environment could make the software more accessible to people, from both an educational and technological perspective. The result was p5.js, an update to the original Processing tool built for a web interface that used JavaScript as its core coding language. 

In 2019, McCarthy stepped down as the lead of p5.js after six years of leading the project in order to make room for a new generation of leadership. It was a moment of transition for the organization, as it searched for a way to make leading a large-scale open-source project more equitable and sustainable. p5 embraced a novel rotating leadership structure that would pass the reigns from leader to leader every year as a way to breathe new ideas and perspectives into the project. Today, p5 continues to focus its efforts on expanding its reach to people outside of the typical creative coding profile.

Evelyn Masso, current p5.js co-lead
Cassie Tarakajian, p5.js online editor lead
Qianqian Ye, current p5.js co-lead

Lauren: p5 really started during a conversation between Casey, Ben, Dan and me where they asked: “What would Processing look like if it were reinvented today?” And so the first thought we had was, well, it would live on the web again, and it would run in all the browsers really easily. Beyond that, we were also thinking about how we would take that early idea of expanding access to this field and kind of update that in 2013. What does access mean to us at this point, and how can we evolve that idea?

Casey: In 2001, Processing was completely entwined in the World Wide Web. You would export from Processing, you’d put it up on the web, and you’d share it with everybody. But because technology moves and changes so quickly, the ability deteriorated over the years. p5 allowed this way of thinking—a lightweight approach to entering into the web again. It was so essential.

Ben: What’s so fun about stuff like p5.js is that it gets us so much closer to that idea of turning the computer on and Basic is just there. The browser is this sort of lingua franca thing that works everywhere. The idea of having folks be able to connect code right in that environment was super exciting. 

Lauren: I started working on p5 within the context of an early fellowship, which is a program that the Processing Foundation runs. It was really just like 100 hours of work where I was experimenting with this idea. Pretty early on, I joined with Evelyn Eastmond, who I was co-teaching with at RISD, and we kept developing this idea together and teaching it to our students.

Casey: At the time, in order for high school and middle school students to work with Processing, they would need to install it on the computer labs in schools. A lot of the IT folks who were running these labs didn’t want to install this piece of open-source software from an untrusted source. It created quite a bit of friction. With p5 being able to code directly through the browser, that whole difficult administrative hurdle was taken out, and it became far more accessible. 

Saber: In 2013, I was not aware of Processing at all. I started getting into teaching tech around 2012 or 2013, and like a lot of teachers, found myself needing to learn more. A lot of folks in New York suggested checking out Processing, but it wasn’t what I was looking for. When p5 came out, that made a huge difference because a lot of logistical questions kind of got solved.

Lauren: One of the things I felt early on with p5 is that it wasn’t just about having a diverse community of users; it was really about asking who’s making the tool, who’s contributing to it, because any tool is going to be embedded with the biases and the perspectives of the people making it. Some of the things we did really intentionally were saying, okay, let’s expand what it means to contribute to a tool. It’s not just writing core code, it could be making graphics, it could be doing outreach, it could be organizing, it could be teaching—these are all building this tool together.

Three people of different races and genders sit with laptops using assistive technologies while Claire, a white woman, looks on.
Claire Kearney-Volpe testing p5.js accessibility with disabled programmers.

Cassie Tarakajian: Part of the impetus for the web editor was a lot of this access stuff. When I first started learning how to program, I remember day one of coding class my professor opened up his computer, opened the terminal, and I was just like, what is happening? No one explained it [coding] to me, and I really wanted to be part of a space where you could start writing code and it didn’t feel like you were immediately doing something wrong.

Lauren: It’s been this continuous process of trying to ask ourselves what access actually means, and then trying to address it in different ways. Less of a top-down strategy and much more of a bottom-up constant learning where we realize when we got something wrong or missed something, and then think about how to address it. 

“I really wanted to be part of a space where you could start writing code and it didn’t feel like you were immediately doing something wrong.” — Cassie Tarakajian

Evelyn Masso: I remember at the 2019 Contributor Conference we talked a lot about how we make it more clear that the access work is kind of like the most important part of this.

Lauren: We’ve been thinking a lot about disability. Normally the elements that we’re using under the hood to make graphics on the screen are as ones that are not readable to someone that is using a screen reader or someone who is blind or has low vision. We’ve been doing one project that’s been led by Claire Kearney-Volpe, Luis Morale-Navarro, and Mathura Govindarajan, and they’ve been thinking about how we incorporate image descriptions into the code itself, and how we incorporate audio output so it crosses different domains. 

Evelyn: There have definitely been more tutorials for more and more different kinds of people, especially in different languages but also different age ranges.

Qianqian Ye: We have seen people using p5 in K-12 education, and there are more people creating work to make p5 accessible for elders. In 2020, two of the Processing Foundation fellows, Inhwa Yeom and Seonghyeon Kim, made a project called p5 For 50+ that created materials and tools to teach p5 to people who are older than 50. All of their teaching materials are in Korean because that’s where they had all of their workshops.  

Cassie: I think having a voice in the tools that are being built is important. If you step back and think about what the point of technology is—it’s to help us, right? And if the people designing the technology don’t know who you are, they’re probably not going to be able to help you. This was part of the foundation of Processing. What are tools that you can use to do art with computers? It’s Adobe products, which are a black box that you pay for and you have no say over and then at any moment could just disappear. If you give people the reins, then they’ll make themselves. 

Lauren: We didn’t start from zero, though. Processing had been made, and it wasn’t just the syntax or the code that we were building off of—we were building off of the experiences that Ben, Casey, and Dan had, not to mention the Processing community and a lot of other creative coding and open-source communities. We were able to learn from that and get advice from those community members in making some of the decisions we did. One of my big hopes for this work in general is that these projects don’t have to try to reinvent the wheel and have all the same problems. We should understand how much we’re part of a larger Processing project, but we’re also part of a much larger community, and these are all building on each other.