Code as art

9. March 2020
Time4 min read

The following is a transcript of a talk I gave on November 28, 2019 for PechaKucha Night Winnipeg Vol. 40 at Park Theatre.

I've been writing code for over 20 years. I didn't set out to become a software developer, but it's been a huge source of opportunity in my life, to meet people, to travel. It's also been a huge source of creative output. I get to see my ideas in action.

Most people don't think of code as an artform. It's called Computer Science, after all. And science should be concrete. But if you've ever seen the bug tracker for an average piece of software, you'd see it's anything but concrete.

I'll give you a little back story on how I became a developer.

I was an obsessive kid who was set on being an artist. I drew constantly. I filled notebooks full of drawings and video game ideas before I had a computer. Surprise, I work in the game industry now.

Then after reading Mrs. Frisby and the Rats of Nimh, I decided I was going to be a writer. I filled more notebooks full of short stories and bad poetry.

Then I got a guitar and I could see no other path except rockstardom. I spent my teen years living that delusion.

By that time, my creativity hadn't really interfaced with a computer. I didn't have the internet until I was 16, then all of a sudden our band needed a website, so I learned HTML.

Then I took a computer science class in high school. My teacher hated me, but he was a great teacher. I got to make kind of a crappy MS Paint, which was my first creation tool - software that help other people make things.

But remember, I was going to be an artist, a writer, a rock star, or maybe a graphic designer, but not a developer. It wasn't creative enough. I judged myself for liking it so much.

Then I did something drastic and moved to Winnipeg when I was 18. I needed a job.

I got a job at the Free Press doing data entry for various newspaper websites. Data entry sucks, so I put my developer skills to use and by the end of the year I had automated most of it.

Long story short, that sparked me creating a content management system a couple years before Wordpress existed. It was my second creation tool, helping people make websites.

Fast forward to 2013 when I got a taste of working in virtual reality, and started a company with two of my friends.

After a bunch of experiments, we had this crazy idea to make a virtual TV studio where people can make animations just by acting them out.

We let users import all their own art, so they can make anything they want. That was very important for us, that our users have the creative agency they need.

Which leads me back to code as an artform. Code isn't narrative or story-based, but we express our values to the world through what our code makes it possible for people to do. What we believe should be possible. It's kind of like architecture or urban design that way.

A novel contains ideas, but software helps someone on the other end do something they couldn't before. That makes software a powerful agent for change.

Software also expresses our values in the ways we choose to license and distribute not just the software itself, but also the code.

Open source is a great example of this. It's an international community who share and build software together, with the belief that we all gain by sharing knowledge and working together.

Code falls under copyright law, by the way, because the law considers it a creative work.

Some code generates art as its output, like Photoshop. Live coders perform music on the fly by writing code.

Perl programmers hold Perl poetry contests. They're also known for creative one-liners, which are some of the least readable but most creative code out there.

We invent weird programming languages, like Shakespeare, which is exactly what it sounds like. Or Whitespace, an invisible language that uses only spaces, tabs, and newline characters.

And we have huge disagreements over things you can't even see, like whether to use tabs or spaces for indentation.

My software helps people make their stories come to life. The values we express through our code are things like a belief in making animation easier, in creative agency, and that if we're not careful the choices we make as developers can limit our user's voice. Making a creation tool means holding someone else's art in your hands, and that's a big responsibility.

But it took me a long time to reconcile my storyteller and developer sides. I carried a lot of subtle self-judgement. I had to learn to appreciate the creativity in code, and the impact that code can have.

As I use my own software to tell my own stories, my relationship with it grows and evolves, and changes me too. Combining my creative sides has started me on the most creative period of my life so far, and I feel like I'm always just scratching the surface of what's coming.

If you're a developer, I hope you take time to reflect on what your output means to the world, and how that's shaped your own life too.

If you're a software user (isn't everyone?), the next time you sit down at your computer, I want you to take a moment to think about the people behind the tools you use, how their values carry through to the experience that you have, and how those values have helped open up new possibilities in your life.