Qianqian Ye on Building the Web as Accessible Public Space21 min read


Signals spoke with technologist and p5.js Lead Qianqian Ye about prioritizing web accessibility, cultivating inclusive open source community, and finding creative resistance to online censorship.


mai ishikawa sutton (MIS): You come from a background in architecture – can you describe your journey to become a creative technologist?

Qianqian Ye (QY): When I landed my first job after grad school, which was in San Francisco, I worked as an urban designer and the tech culture in SF was – how would I say this – overwhelming. At that time, I was really into VR as well, so I started to pick up VR projects for my personal projects outside of work. When I needed to do some interactivity in one of my VR projects, I had to learn how to program in C#. The more I built with it, the more I realized that this was more fun than designing something that would probably not manifest itself for a while, as in architecture, where seeing the result of your designs takes years. So VR was what brought me from architecture to creative programming. 

C# is the language you use in Unity to create interactive VR experiences, but I felt like that was too hard for beginners. So I slowly learned other tools like p5.js. I did a daily coding challenge myself to pick up new languages. 

Actually around that time I started going to Gray Area quite often. One of the interns working at the company I worked for was doing the creative immersive course there. She invited me over to see her project that was an interactive installation about urban air pollution. I went there and it was mind-opening. That was how I became a frequent visitor of Gray Area, to see and learn the technologies behind the projects exhibited there, and how I got immersed into this creative technology world. I eventually left architecture and worked in tech for a while. 

MIS: I read somewhere that you were a self-taught coder. Was p5.js one of the first languages that you learned after C#?

QY: Yes, after C# I started using three.js, which is another library to create 3D graphics on the web. Much of my early explorations on creative technology had to do with my background in architecture. Three.js is really fun if you are already an experienced coder, but it was hard for beginners like me.

So when I was introduced to p5.js, I got immediately hooked to it. It was very beginner friendly, I knew what I was doing, and the community felt very welcoming. 

When I was first learning p5.js, they were doing a showcase about Asian women and queer folks who make work with p5.js. They started to showcase my work on the p5.js home page too, which was such a big deal for me. I felt like such a beginner and they were showcasing my work on the homepage! That really speaks to how unique the community is. Later I learned that the showcase project was initiated and led by Chelly Jin, a student of Lauren Lee McCarthy. It was really inspiring to see other women and queer people of color in the p5.js showcase and to feel that I could be part of the community. So p5.js really became the intro to coding for me. And that’s the language I’m teaching right now at different places, like USC, to folks who have never coded before.

Screenshot of p5.js contributors, shown as a grid with avatar images and names.

MIS: The p5.js community statement says that the project prioritizes access and diversity to learning code. Can you talk about the kinds of resources you curate and the practices you cultivate to support your learners and artists internationally?

QY: In 2019, the p5.js community collectively made the decision to only accept new features that increase access – and access here means accessibility and inclusion. The reason why we made the decision is that we constantly receive a lot of feature requests, and we reached a point where the community had to decide what to prioritize. 

Some of our efforts around access have been, for example, building features on the p5.js library itself: to make the p5.js HTML canvas more accessible for screen readers. When screen reader users navigate a web page, they can access the text and they can access the image if they use alt text. But it’s pretty much impossible for them to access the HTML canvas element, which is the little sketch canvas for people to visually draw on top of. So we created “describe” features that’s almost like alt text for the canvas.

Screenshot of p5.js website in multiple languages: Spanish, Korean, Simplified Chinese, Hindi.

Some other accessibility efforts we’ve done include translating p5.js to many languages. Right now, we have four official translations: Spanish, Simplified Chinese, Korean, and Hindi. We also have some other community translations that’s hosted by community members like Japanese and French. 

Translation is actually how I got started contributing to p5.js myself. I didn’t come from a coding background but I was trying to help some of the translation efforts in the p5.js community. I was invited to help translate, and ended up translating some of the p5.js examples to Chinese. That was my introduction to contributing to open source software. For me, translation is an important part of the access work to make sure software can grow beyond the English speaking community. 

Some other access work we do is to recognize all different types of contributions, no matter how “small” it is. When I was contributing as a translator, my work was recognized. On the p5.js GitHub home page, you can see the more than 600 p5.js contributors profiles and their names, which is a very important aspect of this project. p5.js has never been a project that’s built by a lone genius or a few expert programmers. It has always been a project built by a community, with a lot of contributors. It’s important for p5.js to lower the barrier to contribute to open source software, especially for the contributors who don’t normally see themselves in the open source software space. 

MIS: At their worst, free and open source communities can be quite exclusive, cliquey and have a pretty toxic culture. I appreciate how p5.js takes constructive actions to thwart that. But have you gotten some push back? Has the p5.js community confronted some challenges while prioritizing access?

QY: That’s a great question. When someone submits a feature request on p5.js GitHub, they’re asked how their new feature increases access. Sometimes, when contributors file the request, they skip that question. We follow up with them to say, “Hey, thanks for filing the request. Could you add your access statement here and explain how this new feature increases access?” Sometimes we get a response, like, “Why are you making your software so political? It’s just neutral software, what’s the point of the access statement?” We get this often. 

Photo of p5.js Contributor Conference presentation. The presentation screen reads, “p5.js will not add any new features except those that increase access (inclusion / accessibility).”

Luckily, we have a lot of community members to step in and explain why this is important for us. We often felt like this small question which we include in our official request form, is almost a way for us to educate ourselves as well about who is included in this conversation. What is it that we are trying to do? So, I wouldn’t call this pushback. But we hear different voices in our community. Sometimes people say that p5.js is too “woke” or too radical. But I feel like these sorts of comments are a reminder that actually we’re doing the right thing. 

We’re going through a big revamp of p5.js documentation, as we speak. Working on p5.js documentation is working on the core of p5.js project in my opinion, as documentation makes p5.js accessible. The community statement and Code of Conduct are the ones that we are trying to update significantly. We hold our Code of Conduct very dearly, to make sure our project is a safe space. If people violate the Code of Conduct, we should have a manageable workload for the maintainers, because otherwise, it’s a lot of emotional labor for them.

We hope the community statement and Code of Conduct could provide frameworks for care work too. Care work is often overlooked in open-source software space, like checking in with maintainers and contributors, calling out toxic communication patterns, navigating conflicts and working through different opinions, making sure the GitHub issues and forum are safe spaces. But, a lot of the care work by women, queer, and people of color are made invisible in the open-source community.

MIS: I want to shift the topic to your thinking and approach as an artist. Many of your works play with digital interactive interfaces, such as the web browser, AR, or virtual gallery spaces. As you experiment with the kind of media that can be transmitted through them, you also use them as sites of inquiry to reflect on the infrastructure that makes those interfaces possible. What are your thoughts about the web browser, specifically, as a space for this kind of play and inquiry? 

QY: I’m a big fan of the web, but I know there are a lot of issues with web technology that we can be critical about too. What’s the physical infrastructure behind the web, and what are the environmental concerns of the infrastructure? Who’s benefiting from the technology and who is being pushed out? When we think about the web, it’s not an abstract ‘cloud’ floating in a void. There are so many socio-political implications behind it. Folks who live in places where a lot of sites are banned, their digital experiences are going to be very different from folks in places like the United States. 

As I mentioned earlier, we are doing a documentation revamp for p5.js, and meanwhile, we are trying to update our website as well. Our website has a lot of issues. First, it’s not quite accessible for screen readers. Second, some pages are very slow to load for people with slower internet speeds. We’re also trying to be mindful about the carbon footprint of our website – the environmental impact of the website itself. This echoes back to what I said earlier, but a website is not just sitting in this abstract ‘cloud’ that doesn’t have any implications. It costs resources. It impacts the environment. It reaches folks in different regions with different access levels.

Screenshot of The Future of Memory, “a provocation on algorithmic content moderation, power, profit, and the ever shifting nature of language online”

MIS: I wanted to discuss your Future of Memory project. You’re taking what you know about the hidden workings of content moderation —and at times censorship — and inviting people to question these mechanisms while providing tools to skirt those restrictions. 

Most of the ways in which we experience the “Internet” and the web are constrained to pretty unimaginative ways of thinking. Much of it is laid out left to right, a reflection of how English-centric the web is. Also the ways in which much of the layout and interactions of apps and websites are standardized so it’s easier to collect and process data about users. 

What’s beautiful about the Future of Memory project and the Hanzi Maker tool is that you’ve found ways to creatively fight this system that expects us to be passively commodified into data. Do you see a connection between that project and p5.js, and the ways in which you give people tools to reimagine and shape their digital experience?

QY: When the internet was first made, it was for military use, right? Much like a lot of other technologies, they existed for a military purpose first. A lot of artworks make us think about what other types of internet are possible, or at least, what alternative spaces on the internet are possible. 

So p5.js and the Future of Memory project — which is a collaboration with Xiaowei Wang, by the way — those projects are hacking the traditional notion about what the internet should be. Can we imagine something different from the original intention of the internet? It’s about creating some sort of counter narrative of how we can use this technology itself. And here, the technologies are not just those of the internet itself, it includes AI or other technologies that are entering our daily lives now. 

And again, most of them have military origins, and that really gives us context of who’s building it, why it was built in the very beginning, and what the implications of the technology are. So in the intro to web coding course I teach at USC, I teach my students to use p5.js, and more importantly, the history of the internet and explain how it was built and how that affects our day to day.

MIS: I can see that by giving that context, it would allow them to question how things are. If things were designed for a specific purpose, in a subjective way with certain interests in mind, it would enable students to see how the web could be built and designed differently.

QY: Most of my students are making websites. Sometimes they might have these questions, like, “When there are so many website builders like Squarespace and WordPress, why are we still making a handmade website?” I often shared this quote from Aral Balkan: “We lost public spaces. Online public spaces. Facebook and Google are shopping malls, but we think they are parks!” 

What we are trying to do is to make little parks online, little gardens on the web. If we don’t make the handmade web, if we don’t make our own digital space, then the internet would be occupied by all these “shopping mall” spaces.

Screenshot of the Algorithmic Censorship Resistance Toolkit, a constructed and collected toolkit of different tactics that obfuscate and encode text so that it becomes machine unreadable.

MIS: There’s been more and more of an omnipresence of AI in mediating our online interactions. Has your thinking shifted since you released the Future of Memory? In what ways are you optimistic or pessimistic about increased automation of content moderation?

QY: The project was released during the pandemic. We were trying to do more in person workshops, but because of the pandemic we couldn’t do it. And that project was part of Mozilla’s initiative on misinformation and AI. We were in the same cohort with other artists, including Carrie Sijia Wang and Kyle McDonald, to rethink the impact, the harm and implication of AI in terms of misinformation.

AI makes content moderation easier for censorship purposes. This has become more omnipresent nowadays. But you can see folks come up with their tactics to bypass it constantly. If a technology has restrictions, you can see the netizens come up with ways to bypass it constantly. It’s almost a nonstop battle. I’ve been finding that very inspiring. To see at different places, when the censorship is more intense, how people still find ways to communicate.

MIS: I’ve noticed that unfolding recently with the genocide in Palestine, where people are adding numbers to replace letters in certain words, using completely different terms to refer to things, or using the watermelon emoji to signify solidarity. It’s incredible that it seems to happen in real time. While oppressive systems keep trying to suppress and censor speech, people are able to keep routing around it. 

QY: I’ve constantly been so inspired by that. Also the way folks are posting selfies in the middle of posting what’s going on in Palestine to fool the algorithm. The phrase we use for Future of Memory is about tactics trying to fool the machine, because the machine and technology can often be fooled by humans.

One of the core values of p5.js is that we don’t believe technology is a black box. You can go modify it and you can understand it. We want to make sure we are part of the tool so other people feel like they can be part of building it too. We also want to highlight the human factor of software, since technology often appears faceless and hides the individuals behind it. Technology is never neutral. Human fingerprints are everywhere in software, which is built by people with emotions, bias, and vulnerabilities. We want to highlight that, because technology and the human – they are just not separable.

MIS: What’s on your mind these days, and what comes next for you? Are there themes that you’re hoping to explore or questions that you’re hoping to deepen in your current work?

QY: Thanks for asking this question. I haven’t thought about it because I’ve been so deep in wrapping up some work for the end of this year. I feel like I’ve been dividing my time and my identity in two parts: one is what I do for p5.js, and one is what I do as an independent artist.

p5.js has been really fortunate to receive a big grant from the German government to work on the documentation from September to December in 2023. We received it from the Sovereign Tech Fund under the German Government’s Innovation Department. They have this challenge for the free and open software space to work on different projects within a short period of time. We’re really grateful for the financial support so that we can actually pay a lot of contributors, who normally just volunteer their time. But the timelines are so tight. I’ve definitely been overwhelmed and stressed about that, but I’m so delighted to see the progress made so far. We’re wrapping this up, and hope to continue working on some next iteration of this project next year. 

Another very interesting part of p5.js is it was created by Lauren Lee McCarthy in 2013, and Lauren started this rotating leadership model around 2020. And I’ve been doing this for more or less three years now. I feel like it’s time for me to rotate out, and I’m very excited about that too. While I’m very deep in working mode for this documentation project, I’m preparing a transition plan as well. I’m excited to see who will come to lead this for the next round. I haven’t seen a lot of other open source software projects do this rotating leadership. So I’m excited to see what’s next for p5.js.

MIS: That’s so cool! I love that rotating leadership model.

QY: Yeah, when I’ve been leading it, I’ve felt like I want to distribute the leadership or decentralize it as much as I can. Because I don’t want to be the only person making decisions for this project. I think that rotating leadership is one of the ways to decentralize p5.js over time. 

MIS: And what about your personal projects?

QY: So there are two projects that I’m currently working on. One is a project about AI witchcraft, which I collaborate with AX Mina. This was initially supported by the USC Civic Media Fellowship, where fellows from different cohorts were encouraged to collaborate on projects. 

While being in the epicenter of modern witchcraft – LA, AX and I were thinking about exploring the role of traditional forms of magic during a time of AI magic. The project aims to merge ancient beliefs with futuristic systems in order to explore tensions, opportunities, anxieties, and hopes around AI.

In the current iteration, it’s a website called, Do machines dream of magic?, an open sourced website you can go to and choose different personas and then enter your inquiries. You will receive a spell that’s collectively made with your input, personas created by guest artists we invited, and the ChatGPT API. We released the first website iteration a few weeks ago, and we are trying to find resources to continue building it for the next iteration.

Image of “Nakili”, a collaborative Augmented Reality sculpture co-designed by Tiare Ribeaux and Qianqian Ye.

The other project that I’ve been working on for a while is Kai-Hai, a project about the Pacific Ocean. That’s a collaboration with Tiare Ribeaux, who was based in the Bay Area before and now moved back to Hawaii. That project started during the pandemic when I was really homesick. My hometown, Wenzhou, is a coastal city in southeast China and I live in LA – so what’s in between where I live and where I’m from is this massive Pacific Ocean. 

I would scan Google Earth quite often, just to visit home virtually. And then I called my friend Tiare, who is from Hawaii, and she shared a lot with me about the Pacific Ocean. So we just talked about the ocean and the folklore we know about it growing there. So we decided to just make a project to ease our homesickness a little. We definitely didn’t start with a grand agenda, it was just a project to find some solace in home and the ocean. 

A.A.G in REPLICANTS Virtual Exhibition. A.A.G. stands for the Asia-America Gateway submarine cable system and is a transpacific deity born from submarine fiber optic cables and embodies the desire for human connection across the Pacific Ocean.

In Kai-Hai, we created a lot of speculative mythology figures. We recently worked on a video about a new mythology figure of the Greater Pacific Plastic Patch. Prior to that, we created A.A.G, a mythological goddexx of the trans pacific underwater internet cable that connects California, Hawaii, Guam, and Southeast Asia. 

I’m visiting home in China right now as we speak. After working on Kai-Hai for almost three years, I finally traveled across the Pacific Ocean for the first time since the pandemic, which feels very surreal. I’ve been trying to do this so many times virtually on Google Earth, and I’ve been trying to do this so many times with the Kai-Hai project. I often felt like I got to visit home across the Pacific Ocean via the Kai-Hai project, which is like a trans-pacific portal for me. 

And I finally got out of the portal physically now! I can’t really come to comprehend how I feel at this moment. I’m definitely feeling a lot, particularly when I was seeing myself crossing the Pacific Ocean through the live airplane map during my flight, I can almost see all the mythology figures we created the last few years emerging in the ocean. I’m planning to visit another coastal city called Quanzhou, which is south of my hometown. Quanzhou is like the heart of the Maritime Silk Road, and it’s the epicenter of a few ocean-centric religions. I’m very excited about visiting Quanzhou with my mom in a few days.

I hope I will continue working on some new chapters of the Kai Hai project, especially after crossing the pacific ocean, finally, after many years. I’m hoping that I would work on something that could elaborate the sea of feelings that I cannot really comprehend right now.