Skip to content
Scholia
Lineage

Software as Medium

Casey Reas (b. 1972)

The co-creator of Processing argued that software itself is an artistic medium worth taking seriously.

processingemergenceagents

Where this library's canvas comes from

Every study in this library is drawn with p5.js, a reinterpretation for the web of Processing, the programming language Casey Reas and Ben Fry began at the MIT Media Lab in 2001.

Casey Edwin Barker Reas was born in 1972 in Troy, Ohio. He studied design at the University of Cincinnati, then took an M.S. in Media Arts and Sciences from the MIT Media Lab in 2001, in John Maeda's Aesthetics and Computation Group, where Ben Fry was a fellow member. Processing came out of that group. They built it so that writing code could feel like sketching, and aimed it at artists and designers rather than engineers. In 2003 Reas moved to Los Angeles, where he teaches in UCLA's Design Media Arts department.

Elements, Forms, and Behaviors

The tool below is built on the vocabulary of Reas's Process Compendium (2004 to 2010). He defines an Element as:

A simple machine that is comprised of a Form and one or more Behaviors.

— Casey Reas, definition of an Element, Process Compendium

There are two Forms (F1 a Circle, F2 a Line) and seven Behaviors: B1 move in a straight line; B2 constrain to surface; B3 change direction while touching another Element; B4 move away from an overlapping Element; B5 enter from the opposite edge after moving off surface; B6 orient toward the direction of a touching Element; B7 deviate from current direction.

An Element is a named combination of those parts. Element 1 is F1 plus B1, B2, B3, and B4. Element 5 is F2 plus B1, B5, B6, and B7.

The Process series

Reas describes a Process as defining an environment for Elements and determining how the relationships between them are visualized. Each one is a short text that defines a space to explore through multiple interpretations, and the image comes from running it. Here are two of them:

A rectangular surface filled with varying sizes of Element 1. Draw a line from the centers of Elements that are touching. Set the value of the shortest possible line to black and the longest to white, with varying grays representing values in between.

— Casey Reas, Process 4, 2004

A rectangular surface filled with instances of Element 5, each with a different size and gray value. Draw a quadrilateral connecting the endpoints of each pair of Elements that are touching. Increase the opacity of the quadrilateral while the Elements are touching and decrease while they are not.

— Casey Reas, Process 18, 2010

Both use the same small set of Forms and Behaviors and produce very different pictures. The Process 4 and Process 18 presets in the tool are adapted from these texts.

{Software} Structures and Sol LeWitt

In 2004 the Whitney Museum's Artport commissioned Reas to make {Software} Structures (restored in 2016), implemented with Jared Tarbell, Robert Hodgin, and William Ngan. The project opens with this question:

Is the history of conceptual art relevant to the idea of software as art?

— Casey Reas, {Software} Structures, Whitney Artport, 2004

With permission from the LeWitt estate, Reas translated Sol LeWitt's Wall Drawings #85, #106, and #358 into running software, then wrote three original Structures of his own. LeWitt handed written instructions to human drafters; Reas gave the same kind of instructions to a machine and credited LeWitt by name. It is a documented, direct connection between two artists in this collection, so the Sol LeWitt lesson is a good one to read next. The Software Structure #003 preset in the tool is one of Reas's own Structures.

From Processing to p5.js

Processing began in 2001 with Reas and Fry at the Aesthetics and Computation Group. In 2012 the two founded the Processing Foundation, with Daniel Shiffman as a third project lead. In 2013 Lauren Lee McCarthy began p5.js, a new interpretation of Processing for the web written in native JavaScript, and led the project from 2013 to 2020.

The canvas on this page, and in every other tool in this library, is p5.js.

Software as a medium

Reas has spent his career arguing that software is a material with its own properties, to be taken as seriously as paint or marble. The Process series treats a running program as the artwork. {Software} Structures uses source code to work through a question from art history. In his Artport text he wrote:

I want programming to be as immediate and fluid as drawing and I work with software in a way that minimizes the technical aspects.

— Casey Reas, "A text about Software & Art", {Software} Structures, Whitney Artport, 2004

The Studio

Exercises

1. Recreate the feel of Process 4

~6m

Load the Process 4 preset and read it as a program. Reas's text fills the surface with Element 1, draws a line between the centers of touching Elements, and grays each line by its length. Match each control the preset set to a phrase in his text.

Goal: Run a verified Reas Process unchanged and map its plain-language rule onto the tool's controls.

2. Toggle one behavior off

~8m

Load a preset and turn off one behavior. Try removing B4 (move away from an overlapping Element) from Process 4, or B5 (enter from opposite edge) from Software Structure #003. Change nothing else, and see how much of the image changes.

Goal: See what each behavior contributes to an image made by several of them together.

3. Find a combination that surprises you

~12m

Set your own Element form, Behaviors, Draw rule, Count, and Steps, aiming for something you could not have predicted. Press New seed until you get a result you did not intend, then work out which behaviors produced it.

Goal: Author an original Element and rule set whose result surprises you, and locate where the surprise came from.

4. The seed is the work

~7m

Find a surface you like and write down its seed and every setting. Load a different preset, rebuild the configuration from your notes alone, and check that the same surface comes back. A saved Reas study stores only those settings and the seed.

Goal: Confirm that a config and its seed are enough to rebuild a software artwork.

Sources & further reading

Primary sources

Casey Reas, "Process Compendium" (2004-2010), artist's statement and Process texts.
The Element/Form/Behavior vocabulary and the verbatim Process 4 and Process 18 texts.

Casey Reas, ProcessCompendium.md, REAS/studio repository, GitHub.
Independent artist-published cross-check of the Compendium definitions and Process texts.

Casey Reas, "A text about Software & Art" and Structure texts, {Software} Structures, Whitney Artport, 2004.
The premise question, the verbatim Software Structure #003 text, and the immediate-and-fluid-as-drawing quote.

p5.js project, "People" and "About" pages, Processing Foundation.
Lauren Lee McCarthy as p5.js creator and lead, 2013 to 2020.

Lauren Lee McCarthy, "Making p5.js," Processing Foundation, Medium.
First-person account of p5.js as a new interpretation of Processing for the web.

UCLA Department of Design Media Arts, faculty page for Casey Reas.
Professor with the department since 2003.

Museum and foundation records

Whitney Museum of American Art, "Software Structures" exhibition page.
The 2004 Artport commission, 2016 restoration, and collaborators Tarbell, Hodgin, and Ngan.

Whitney Artport, "{Software} Structures" commission page (2016 restoration).
The translation of Sol LeWitt Wall Drawings #85, #106, and #358 into software.

bitforms gallery, Casey Reas biography.
Born 1972, Troy, Ohio; corroborates the MIT Media Lab and education timeline.

Related lessons