The Importance of Sketching with Code

Sketches are more than just little artworks that you hack together in your bedroom. They're ongoing conversations that you have with the yourself and the machine. It's important to explore them, gain new perspectives and ultimately contribute to something larger than yourself.

The Importance of Sketching with Code
Different stages of the same sketch. A sketch is an ever evolving idea.

Creativity is a strange thing. It comes and goes in waves, and is heavily influenced by the circumstances in your life.

But what is creativity really? If we were to break it down to a fundamental component, then we'd end up with the unitary building block that is an idea. Ideas are the raw material with which new creative works are developed; just like building something with Lego blocks, new things emerge when you combine different ideas.

And the modern world as we known it, is built on ideas. What are technological advances if not conceptions brought to life?

When you write code and conjure visuals onto the canvas, you're essentially pulling something from the ether and giving it life. It's a beautiful thing really, you made something that didn't exist before. And now it does. It's probably one of the most satisfying aspects of this type of creative work.

Moreover, you've made something that has purpose: you've asked a question and you've made an attempt at answering it.

What I'm trying to say is that, sketching is a fundamentally important practice, just like making art in general. These little ideas that you hack together in your bedroom, on the train or during your lunch-break, they're not so different from the ideas that power the most important technologies of our time; it's worth exploring them, saving them and cherishing them in due time.

Planting a Seed

It always fascinates me how ideas evolve over time. Not just in short time-spans, but also over longer periods of time. No matter how trivial an idea that you have, you never know what it can potentially grow into in the future.

When you make a sketch, you basically conjure up a new concept, but at the same time, you're also planting a seed that might carry fruit at some point in the future, be that in the near future or many years down the line.

Zach Lieberman talks about this notion in an interview with _creativelives. He brings up the importance of having a sense of time. Ideas don't just develop over the course of a single project but across the span of your entire body of work.

While creating new work you'll discover the things that you enjoy, that you'll start reusing, making your own, and incorporate into your overall repertoire. At the same time though, you'll also discover things that you don't like, gradually excluding them from your kit. In a sense this all contributes towards you building an individual style, by addition and subtraction of elements, components, media, and most importantly ideas that you enjoy exploring.

I recently had this experience, of an idea coming to fruition, while working on a sketch of mine. Maybe you remember, but around the same time last year I published a post called An algorithm for Irregular Grids, where I discuss a strategy to create a variety of different irregular grids. The key idea then, was an underlying binary boolean grid, which I use to position a variety of rectangular shapes, that slowly fill out and consume the grid.

This led to many interesting sketches that I'm really proud of:

I don't know why I didn't try it earlier, but recently I returned to my code and tried adapting it for more interesting shapes (they're still block-y), and it worked really well:

However, there was more! Just one step further! Just one step further and I unlocked a entirely new output space:

Recently, I've enjoyed thinking about it this way: Sketching is a practice where you're solving problems that you don't have yet.

Thinking in Systems

A couple of months ago I was showing my mother outputs from a sketch asking her what she liked about it and what she didn't, just to get another set of eyes on my piece and get some help developing it further. At one point she asked:

Can you go back? I liked the previous one much more.

And I told her that I can't, that those were basically gone forever. She was incredibly sad about that. Now I try to keep track of the random seed in a more conscious manner.

We often joke that creative coding lies at the intersection of art and technology.

Pixelfool on Twitter.

But it really isn't wrong to describe it that way. I often discover new things that could be technically useful, when I initially set out to make something artsy with the goal to create a visually interesting composition.

Patterns transcend art and technology; after all, everything is patterns. For instance, in case of the sketch that I showed earlier, I can very well see this generative algorithm be used as a dungeon generator of some sort:

A maze like/dungeon like 2D structure. Digital art, computer generated.
Looks like a dungeon for an indie game, right?

Albeit this isn't the pinnacle of technological use cases, I felt that I had found a parametric system that spans an interesting output space.

In the advent of long-form generative art this has become more and more important - the ultimate goal ceases to be output curation - but rather, the entire output space and the system itself become the artwork. Approaching the sketching practice in a system oriented manner brings along an entirely new set of considerations and challenges.

How differently do we think nowadays about the sketching practice? It's a very individual question, but for me personally, the idea always lurks at the back of my mind, telling me that what I'm currently working on could have the potential to become such a long-form system.

It's not an entirely new way of thinking though. Even before the newfound web3 potential, artists thought about systems. That's why it's called generative art after all; every output is unique and different. I recently dug into the past of Vera Molnar, and she always began with a system from the get-go. And that even before she worked with computers for the first time.

A Dialogue with the machine

A sketch is an ongoing conversation that you're having with the computer. You input your thoughts, in form of code, and it answers with what it thinks this thought should evaluate to.

Sometimes it's capable of seizing an accurate representation of your thoughts, other times bits of information are lost in translation, and the machine returns a flawed interpretation.

One of the basic rules of the universe is that nothing is perfect. Perfection simply doesn't exist... Without imperfection, neither you nor I would exist.

Stephen Hawking

There's interest in these flawed results though. These flaws are the essence that push the overall discourse ahead. It would be a boring dialogue if the machine knew exactly what you wanted right from the get-go.

These flaws give reason for you to double down, and adjust your input such that the machine is nudged into the right direction - whatever this direction might be. Just like steering a very complicated vehicle.

The catch here, is that you also don't have a crystal clear image of what you're looking for, hence the machine is assisting you in your endeavor of finding what it is that you're looking for. But it could also be just as likely that you don't know what your ultimate destination is. That you're just a passenger, sightseeing different places that you'd like to visit in the future.

Sketching is finding, exploring and discussing with the machine, yourself and others when you share your ideas on the internet. It's important to play a role in this conversation, to express yourself, and leave a mark.

Sketching is Happiness

There's nothing that I enjoy more in life than having some music in my ears, punching in some lines of code into the editor, and see what the output window spits out.

In an age where attention spans are increasingly shorter, coding is an incredibly effective antidote. It's something that actively engages my brain and often doesn't require much effort on my behalf to find my way into the zone. In that state I'm in control, I have an empty canvas that I can paint whichever way I want. And if I do end up making mistakes, there's always the ctrl+z shortcut to go back in time.

Actively engaging in the sketching practice has helped me understand myself better. My brain works in weird ways, I often don't know how I jump from one idea to another, but looking back at the different stages that a sketch went through always helps me bring in just a little bit of order into this distraught mess.

Sketching with code is fun. I strongly recommend it.

And that's it for this time. If you enjoyed this post consider signing up to the newsletter, and get notified whenever new content is released. Otherwise consider sharing this post on social media and letting Google know that this is good content.

Cheers, and happy sketching!

Another post that you might like 👇

Creative Coding: The New Era
Creative coding is a new interdisciplinary art form that bridges the gap between technologists and artists. This article explores what it means to be a code artist, what it means to make art with code, and how we approach this new discipline today.