Grid with black and white pixels, showing emoji heart, gravestone, and part of an image of food.

Cooking Up Code

Romello Goodman

My first job after graduating college was at a tech company that specialized in hosting obituaries and guest books online. At the time I was interested in working at smaller tech companies, and what drew me to this one was the unique intimacy of its software. Before working there, I had never thought about designing a place for my loved ones to remember me online or creating a space for them to share their favorite photos and memories of me—how this might persist over time and serve as an online portal for anyone to browse and remember me. Before then I hadn’t considered that software could be a tool to help soothe a person during one of their worst moments or what it meant to design a place where grief can be processed. 

At this company, when the engineers and designers got together we discussed our work through this lens. We were not thinking about how to optimize our website for engagement, but instead focusing on the friends and family of the person being remembered. Each decision was grounded in the intimacy of imagining the use case for our own loved ones. We were taking guest books and translating them to the web while retaining the memory-sharing aspects that made them personal and special. Whereas most of our digital environments are designed to surveil and coerce us, we were creating something that was interactive and based in relation. 

As I’ve progressed in my career, and started to work for larger tech companies, this feeling of closeness and care was lost. As the number of people using a service increases, it becomes hard to think of every user as a unique person. Instead, the companies I’ve worked for group people into personas and design against them in aggregate. Because these companies view data as an unbiased decision maker, they gather increasing amounts of data and rely on it to tell them what their users are doing. Whereas, at my first job, we mostly relied on user research and personal anecdotes, these larger companies standardize the design and decision-making process. One way this unfolds is with the use of A/B Testing.

Through A/B Testing, companies run numerous versions of their applications at the same time. Each version has slight variations and allows companies to collect data on how each change affects the user’s behavior. In my career, I’ve designed and built A/B Tests at nearly every company I’ve worked for and added code to track each swipe and click that a person does. At one company where my team was devoted to live news coverage, we would regularly run tests to try and increase our engagement. One test involved the placement and presentation of different informational widgets throughout the website. Another involved creating variations of shapes and text colors of the label to indicate to a user that the coverage was currently occurring. Then we would wait and watch as user data was gathered, and the results of our experiments told us what changes we should implement.

When companies design at scale they fail to see how each person’s interaction with their application is different. Or how each person’s experience and concerns are unique. These companies sand down the edges that make a person unique and, instead, turn them into a user whose behavior they can track and ultimately change—placing the desires of the company ahead of the user. For these companies, directly communicating with people who use their applications is too complicated. It’s easier to remove user desires from the conversation altogether. Other than opting out, there’s no real choice for people using the applications.

Throughout the pandemic, death and digital guest books were constantly on my mind. Without being able to gather and collectively mourn our loved ones, I began to reflect on the importance of the software I used to work on, and how it might aid people in this moment. As more time was being spent in digital environments, I became more attuned to the lack of intimacy and care present in them. We’re at a time when people are rethinking what they want from their digital environments. It is becoming clear to me that our use of applications, including social media, is shifting, and there is a collective desire to imagine something more. People are leaving bigger platforms in favor of more segmented chat servers and smaller services. How might we design our digital environments for this moment?

The practice of Melanie Hoff and their idea of Digital Love Languages provides one example. Hoff’s idea is to imagine a world where our software is small, personal and made by people who love us; a world where code is a craft capable of expressing a “full range of feeling and desire.” This approach can shift our relationship to technology: from one of passivity and surveillance to one of intimacy and service. Through this personal nature of software building, users are able to experience applications that are built to help and love us. This feeling is present in websites like maketikoy.net, by the artist Angelique De Castro, which gives the user a Filipino recipe for glutinous rice cakes and opens a form for people to submit their own Lunar New Year traditions, which are then published for others to read. Websites like Hoff’s and De Castro's are intimate and generally feel as though they were created to tell a story and create a shared experience.

The author Robin Sloan further illustrates alternative processes by detailing the creation of a photo sharing app for his family. He describes the feeling of ownership they have that “there will be no sudden redesign, no flood of ads, no pivot to chase a userbase inscrutable to us.” Created with a specific group of people in mind, Sloan’s app highlights the power of a design process that customizes for loved ones. Design at a local level means that designers know the desires and needs of the members of the community. There isn’t a need to track users because designers can ask for feedback and iterate on the design through personal conversations. Sloan further invites us to reimagine technology and the process of creating it as an act similar to creating a home-cooked meal. Something made by a singular person, for the people that they love. 

Local design isn’t a cure-all for every issue in our current tech landscape; the simple addition of intentionality and love-based design won’t turn the most surveillant app into a utopia overnight. However, these alternative design processes create room for a conversation between the creator and user of the application. Yes, when more voices are added into the design process there will be disagreements and competing interests. It can also make the process longer and less efficient, but ultimately it turns the design process into a conversation. This feeling of mutual exchange that I’ve been trying to recapture from my first job. A design process that is driven by community response rather than using aggregate data as a north star.  Local design is about moving past data as the only source of information and turning to each others’ lived experiences to build better digital environments.

Romello Goodman is a designer, artist, and educator specializing in exploring code as a creative medium.

This piece appears in Logic's upcoming issue 19, "supa dupa skies (move slow and heal things)." Subscribe today to receive the issue as part of a subscription, or preorder at our store in print or digital formats.