Code, Data & the Visual Arts
Consider for a moment that data has no specific “look” or “feel”. It has no texture. At its most raw, this ‘material’ is simply information, a sequence of intangible 0’s and 1's. But hidden within data are clues, tidbits, morsels of potential stories that artists can draw upon to give shape and consistency to the creativity that drives them.
Their choice tool? The algorithm, which provides a set of boundaries within which the computer can execute a series of steps that sift and sort through the data, extracting insights and providing context. When data, Big or small, is added to the creative mix, by default of being manipulated with algorithms the resulting work falls into the ‘generative’ category. Its most well-known definition comes from Philip Galanter:
Generative art refers to any art practice where the artist creates a process, such as a set of natural language rules, a computer program, a machine, or other procedural invention, which is then set into motion with some degree of autonomy contributing to or resulting in a completed work of art.
Simply put, the algorithms crafted by the artist create a frame within which their creative bias can take shape independently of the artist.
But what about the data itself? It inevitably comes from somewhere, and with the exception of randomly generated data, it represents something.
Awareness of that something can mean anticipating certain clues and choosing specific avenues of exploration ahead of time. While other clues, buried deep in the data, might remain completely imperceptible if not for the luck factor provided by an algorithm’s autonomy and its potential for random output. In this way, creating with code opens the door for artists to directly influence the processes referenced by Galanter, but only ever indirectly influence the result of that process. In a sense, data is nothing more than raw material. And while the gestalt of the work remains rooted in the data’s essence — that something mentioned above — the artist’s aesthetic vision and how it’s applied to the data — can remain quite independent of whatever/wherever the data has been sourced from.
And so in the case of generative art, the main task becomes one of assessing and reassessing how the artist structures their influence (or in other words, their code.)
Of course, these decisions will be driven in part by technical needs — the piece does, after all, have to run. But since the look and feel of the artwork will depend on what parts of the data the artist deems worthy of being highlighted or hidden, in a sense generative art is creativity at it’s most literal: the artist conceives of their idea, engineers their desired toolset and sets their creative machine in motion. All that’s left is to sit back and see what their program spits out. But of course, it’s never quite that easy.
Think of how many years it might take a master painter to feel at ease commanding his brush, or how much time he might spend wrestling with colour mixtures before landing on the perfect palette. In the same way, creative coders wrestle with algorithms, data sets and a surfeit of other technologies at their disposal.
When Processing appeared on the scene, ‘Generative Art & Design’ became a bit of a “thing” in tech-curious creative circles. Don’t get me wrong — there were certainly worthy precursors like MaxMSP and Pure Data. And some great antecedents like openFrameworks have their rightful place in this conversation too. But unlike Processing, none of these were created or propagated with the specific goal of promoting software literacy within the visual arts and vice versa.
One of the huge selling points for adding code to one’s creative process became how “quick and easy” it made sketching out and testing ideas for visual artists: the surprises offered by randomness, the limitless iterations, and especially the freedom from the constraints of pre-packaged creative software — artists could dream up and use their own digital tools! — were all great things indeed.
With one (major) caveat. Learning how to code is hard and at times can feel quite awkward. Add to the mix the math and science involved in producing any dynamic visuals with code, and you’ve got a barrier to entry that is intimidating to say the least.
Outside the computer, form itself is physical and intuitive — it is the curve of a line on a page, the texture of paint, or the slope of a hillside. To manipulate form in the world, we don’t need to understand the mathematics behind how things are put together and we can specify where things are in relative terms, like ‘over there’… in contrast, computers rely on the ability to specify everything in numerical form.
Form & Code / Casey Reas, Chandler McWilliams, and Jeroen Barendse
Those brave enough to venture into such differential territory might find their focus turned towards simply getting a program to execute at all.
An artist’s tools
The artist’s initial excitement over the medium and it’s possibilities therefore risk being overshadowed by the sheer difficulty involved in mastering code as a creative tool. You can’t hold code in your hand like a you can a pen or a paintbrush, nor can you drag it across the screen with a click of a mouse. You’re dealing with snippets of numbers and characters in a code editor or your Terminal. It’s syntactical first, visual second — which can lead even the most well intentioned to compartmentalize their work’s functioning, look and raison d’être.
Think of it as a strange twist on Maslow’s hierarchy of needs — before the artwork can express anything, it must exist, and for it to exist it must take on a form of some kind, but in order to do so, the program must run. The better an artist gets at building the program, the more influence they can have over the aesthetic of its output, the mastery of which in turn better conveys the artists expression or area of exploration.
If an artist wrestles with the basic needs of their medium, everything else stagnates. And where other art forms rely on a trained eye, ear or hand, a creative coder also requires a mind trained to a certain degree, in science and math. Ah yes — science and math. Vectors, Fractals, the inverted coordinate system just to name a few… Anyone who tells you that you don’t need good grasp of math and science concepts to code is most certainly not a creative coder.
The crux of generative art
As more and more people have become aware of the potential of generative visuals, a long standing (and long winded…) debate about how art, math and science influence one another has found itself at the heart of the form. Add to that the issue of authorship, (is the artist the true author of his work if the work requires audience participation to be complete?) and intrinsic value, (if the artwork can be infinitely reproduced, how then to quantify its aura?) It’s no wonder why there’s been such a struggle among the art world’s more orthodox circles to acknowledge that Generative Art is in fact art.
But this fledgling genre, appearing on the scene around the same time as the Digital Revolution circa the 1960’s, leaves no man behind. Least of all those clutching outdated tenets. Which isn’t to say that the Fine and Applied Arts are obsolete by any means. Just that their heritage doesn’t cancel out the evolution of artistry in tandem with the increasingly digital fabric that governs our world. And let’s not ignore that Generative Art is not only of the digital type. Galanter’s definition makes that clear. But in 2016 it’s hard to ignore that characteristically, one begets the other.
Of course, we were first enticed into using our most trusted digital tools for purely practical reasons: computers are faster than humans. You can cmd + z you’re way out of what could otherwise be a costly, disastrous situation in the ‘offline’ world. However, while a computer’s speed and pragmatism is certainly a winning quality when it comes to productivity, it sidesteps the essence of the machine — which brings us back to those elusive 0’s and 1’s. Computers are powered by programs, which are themselves nothing more than sets of data (again, 0’s & 1’s) expressed by series of coded instructions that control computer operations — that is to say, software. The ultimate tool then is not the software but the computer itself, the ultimate mastery is not how well you use a program, but how well you can make one. To that end, the line between technical tool and creation process blurs — they become one and the same.
Using data as raw material, code as technique, and the computer as tool seems to force an overlap between fields: science, technology, engineering and math turn into creative vehicles for the artist. In the meantime, the dissemination of software literacy, and the natural alliance between Generative Art and the computer squelch any debate to the contrary.
>> Also published on Medium