Sitemap
Jonathan Webb

Jonathan Webb

Solve more problems than you create

Programming Art

3 min readJul 19, 2014

--

This is not a post about how I think that programming is more of an art than a science, although I probably should do that sometime. Rather about the act of programming something that is art. The obvious question arises what makes a program a piece of art. Well, truthfully, the large majority of software out there today is not art, in fact, most software can be grinded down to what is basically a tool. We invented the wheel because moving things large distances can be cumbersome, moreover we invented email clients because manually sending emails is… well impossible for basically anyone except those with an obscene amount of knowledge in that topic for some less than apparent reason.

Get Jonathan Webb’s stories in your inbox

Join Medium for free to get updates from this writer.

I was fortunate enough to be involved in a independent short film titled “Incoming” written and directed by my friend Lia Odette. I’m credited for Visual Effects but to get into more specifics I was involved in writing the software that appears on the computer screens in the film and that the actors had to interact with. It was a very different experience than I’m used in terms of how I had to approach the code as the things I had to consider changed dramatically.

It doesn't have to be good code

Which is really weird right? Like seriously it was the pinnacle of hacky code. Literally at one point I had about 700 lines of code with 1 character changed in it. I just wrote a python script (the language I was writing in was C#) that generated it all for me. Now in a world where extensibility, simplicity and elegance mattered, I would of wrote some kinda of object with an enumerable interface implementation but I didn't care. I wasn't ever going to use this code again, no one else would certainly ever see this code so why would it matter what the code looks like, all that matters is what it visually looks like.

It doesn't even have to really work

Which is even weirder to be honest. It’s like a quick 20 line script you write up because you need to automate some random task. That script will probably only ever work for you as you define specific variables for context. Like directories, it literally makes zero sense to hard code directories in code because in almost 99% of the circumstances it would make sense for a user to want to be able to change, where for example, a video player would find a file. Thing is, I didn't even care, it would work when I ran it with the videos in the same folder and that’s all that matter.

How it looks was all that mattered

Which is still just weird. As someone who mostly just makes pure command line tools as that’s all I can be really be bothered, with having to actually care how it looks is just odd. I mean, I already knew how to make GUIs (which is a strangely rare talent) but I never really put much thought into it beyond pure functionality. It was a useful and fun experience that has made me begin to analyze some concepts that I feel are valuable for all developers everywhere.

Looks should always matter (in this context anyways)

As someone who grew up primarily using Windows, as I’m sure is true for many of us, good looking software would be a rare sight. That’s probably an unfair statement as everything just begins to look really average after a while, not much of anything is really on the cutting edge of design. After using my MacBook for sometime now, it still seriously impresses me how almost everything on the app store looks good. It’s made me realize that good design doesn’t just look good, it works even better. Not from a pure functionality standpoint because I’m sure the code is all the same, but rather, it’s easier to use something that we understand faster and easier. This is something that has given me pause and will probably influence basically all of the software I develop from now on, command line or not.

--

--

Jonathan Webb
Jonathan Webb

Written by Jonathan Webb

Solve more problems than you create