Software, Art, Music and Games

I am a software engineering student. The exact definition of that varies among my classmates and professors. Some say that it implies an ability to write software. Others argue that it requires a strong grasp of algorithms and mathematical optimization. Still others say that software engineers need only be able to design large, complex pieces of software, or manage teams of coders, or communicate project specifications, etc.

Few people correlate software engineering with art.

There are those that will argue that “software itself is a form of art,” or that “this code is beautiful.” There are certainly pieces of software, written in different languages, that could be considered their own distinct forms of “poetry.” (And no, I’m not just talking about Lisp poetry.) Elegance, cleverness, and the functionality of the code all contribute to this sense of inherent artistry.

I prefer to write code that is outwardly visible as art. Code that you need to run, not read, to appreciate.

This is the schedule view of a radio station’s website. (CFRU 93.3fm at the University of Guelph, Ontario, to be exact.) I did not design this site – that was done by the wonderful folks at Studio Function. However, I did have the pleasure of implementing the design and creating the website itself during my last work term at The Working Group.

Although there is a fair amount of complexity behind this site, the part that was most enjoyable to implement was this schedule view. It helps that it’s beautiful and eye-catching, but writing code to make this design functional was extremely satisfying. Even more satisfying was the ability to see someone use the site, enjoy it, and being able to say “Yes, I helped make that.”

This site, via its design and partially through its functionality, is a form of art. I’ve spent my first three work terms (one year in total) working at web development shops on client projects, implementing (and sometimes designing) beautiful software that can be appreciated by almost anybody. I had a great time doing that, and enjoyed nearly every minute.

This is the Wub Machine, my online music remixer. If you know me, or if you read this blog, I’m sure you’ve heard enough about it so far. One thing I haven’t talked about yet is the art behind it.

I initially created the Wub Machine as an experiment in computer-generated music. If I were an arts student (or even a grad student in some software programs), it would have made a great thesis project to explore computer-generated art. While the technology used to power it is stunningly awesome, and the site itself is somewhat complex, that’s not the purpose of it. (Although, I did learn a lot.)

The average user of the site is not a technophile. They could care less about the software. However, the average user can definitely appreciate the product – a piece of music (ahem, mostly) that is not only listenable, but danceable and entertaining. Many would call it art.

(Hopefully.)

This is a screenshot from Dead Rising 2, an awesome action-adventure game released a couple years ago by Capcom. Yes, those are zombies, and that’s the main character (Chuck Greene) using a modified yard tool to mow them down. It’s a great game, with a great story, great gameplay, visuals, music, and the like. Save for some vocal critics, most people would consider this art.

Visual artists modeled Chuck Greene’s character. Writers crafted the brilliant story. Software engineers put it all together, and made the entirely immersive experience possible. Their work, while technical and complex, is just as much art as the models, textures, sounds and words in the game. It doesn’t just allow users to interact with art; it forms the fundamental experience that is enjoyed and appreciated.

Using software to make immersive, beautiful, artistic experiences that can be appreciated by anybody is awesome.

TL;DR: Software can be art, in many ways. That’s what I like to make.