Artists Learn to Code [ 1 ] How to Bottle Lightning

Jessica Fenlon
Tab & Space | Creative Coding
4 min readNov 3, 2017

Artists have imagination, that’s why we are artists. Big ideas, big images, big dreams about what we want the work to do, on the digital platform. Silicon valley enables us, its advertising insisting on “limitless potential” and “endless anything is possible!” when using their tools.

Working with computers means working with vary narrow limits. It means boiling the vision down to extremely granular choices. Which red, rgb(244, 66, 116) or rgb(122, 7, 39)? When I paint I can reach for alizarin crimson or rose madder lake, and mix visually. Sometimes, the number of choices one must make to get to the result, it feels impossible.

Creating with software engineered by third parties, the decisions made by the software maker shape the possibilities in the art. Each ‘end user’ artist-editor makes a series of . . . acceptances? concessions? deals with the devil? per necessary software limits. One-click color palette looks relieve me of the exhaustion of all those minute editing choices. Additionally, the audience is used to seeing that color cast. My choices will feel familiar and safe to them, when they look at the art.

This unconscious pact between artist and software becomes visible when it is broken. When Apple changed Final Cut Pro’s way of editing in the transition from FCP 7 to FCP 10 in 2011, editors and artists were confronted with such a hard set of new limits, a majority of them stopped using the software. Hollywood quit it, too. I personally know of three educational institutions — two undergraduate art programs and one independant film school — that changed their curriculum to minimize FCPX’s footprint in their programs. FCPX manages a series of plug-ins, while FCP7 was a tool which allows the user to, in very close quarters, make editing choices aligned with the editor’s vision.

sketch for the discoKing 2016. p5js

Flipping through plug-ins and presets means asking Apple to supply the vision to the editor. Even if we customize presets, some other engineer’s vision starts our work. There are other issues as well, but this was where I stopped negotiating acceptance with it as an editing tool. Now it is an assembly location, a place where video in many codecs can be made to work together to get to a final video file.

The artist chooses to learn to code to find ways of making the computer execute the vision more directly. That vision comes quickly, it’s the lighting we’re trying to bottle in the art.

Learning to code? Slow and pedantic. A misplaced semicolon means the art won’t happen.

Teaching artists to code means finding the intermediary goals, steps on the path to that greater vision. It means keeping them engaged through learning the boiling-down-to-tiny-choices process. Planning a path to tutor an artist through to that goal employs computational logic on my part. Nesting boxes — we teach the art form by employing the strategies inherent to that form of artmaking. Hmm, this person wants to do this thing that looks simple (certain kind of color gradient work) but is complicated to make, in that the computer manages color in a particular abstraction that takes time to reach enough of an understanding to make it happen. How to get there from here? Start with variable manipulation of color values for interpolation on one object. Cool.

For the artist teaching onesself, am I encouraging you to think small? No! Think big. But break that vision down into smaller and smaller pieces. Without metalearning, it becomes difficult — how am I supposed to know the middle steps to get to the result when I don’t know how to do this? Chip away from both ends of the path. Read and take tutorials that build from where you are, while also studying examples similar to the result you wish to create that are way out of reach and only vaguely comprehensible. By doing this, you will find the smaller goals, the achievement of which will teach you the next step.

You want to make those particle clouds that look like smoke — what’s involved with that, code-wise? Reading through other people’s larger finished code examples you recognize a piece of it. Ok, something something particles arrays. Thank god for other coders commenting their code. Arrays don’t make sense, because they do something that doesn’t easily have a real-life metaphor. But — spend a week writing code to do things like factoral calculation, something concrete and small that you can follow. Then shift to larger arrays walking or doing other patterned movement.

Learning in this way means tolerating struggle through what you don’t know for a long time. Return to the practice each day, and you’ll notice recognizing more, as you build your skills over time. Those intermediate-step sketches have more lightning in them, and you are on your way.

--

--

Jessica Fenlon
Tab & Space | Creative Coding

⚡️ARTIST CREATING THROUGH IT ⚡️http://tinyurl.com/y5rwtqyp⚡️ I make [ installation, video, performance ] art with computers. My old life : www.sixth-station.com