Art and Artisanship: Code and Data
I recently visited the Linkedin profile of a web developer friend of mine. His name is Shaun Russell, and he's an excellent developer.
On his profile, he calls himself an artisan.
To me, its a marvelous way of thinking of coding.
A master coder is absolutely an artisan, sometimes of incredible genius.
Artisanship means mastering something to the point of self-expression.
It's the difference between this:
A nice chair that works, is even handsome.
It is solid.
It works.
But it doesn't have a voice.
It doesn't have opinions or establish its own conventions.
And this:
A chair that makes a statement.
It expresses something about the wood that is being used;
about the body that will sit in it.
It even expresses philosophical opinions about what the form of the chair means.
But it is still definitely a chair for being sat upon.
When it comes to code, sometimes the artisanship is obvious.
You might see a site that displays in an unusual way, perhaps it has interesting scroll effects, or animations when clicks and hovers and form submissions happen.
But just as often, the artisanship is hidden.
You might catch a glimpse of it when content changes smoothly without reloading the page.
You might be able to see it if you investigate the source code and see how few elements there are, or how the styles and scripts are neatly organized into logical groupings.
Sometimes artisanship in code is obvious, but just as often it is hidden in the source.
This craftsmanship relates to content strategies, frameworks deployed, and systemic logics that reflect the developer's views on what role an interface should play in a user's life, and who the user is, and what the creator of the organization wants to say about itself.
If you were to talk with a coder about what techniques, languages, and frameworks they do and don't like, you will start to get the expressive language that denote not only opinions, but also a desire for self-expression.
"Functional programming cannot not be a chaotic, bulky mess."
We've got someone who values order, structure, and cleanness and abhors looseness and whimsy.
"With today's processors, strong typing is just a waste of keystrokes."
Here we have someone who loves speed, and is not worried about practical considerations like fuel efficiency.
"Typescript is very nice. It keeps javascript from being its own worst enemy."
Here we have someone who is humanistic and psychoanalytical.
All of this is very helpful for giving developers the respect they deserve, but ultimately it is not art.
Developers deserve respect, but almost nothing of what you see online is art.
But what of art?
I have been mulling over the question "what is art for the personal computer?" for a long time.
Good art activates the mind and the emotions, and allows the audience to have their reactions.
In some way, all good art stands on its own, independent of the artist.
If artisanship in coding is in the code, then artistry is in the data.
The difference between art and craft is basically this:
An elegant image of a stylish woman, crafted and designed to sell a product.
The mastery of makeup, lighting, framing, and typesetting are all on display, but if this image fails to help sell Shontex (whatever that is), then it really isn't serving its purpose at all.
vs this:
Willem de Kooning's Woman 1: A masterful work of art utilizing an incredible arsenal of brushstrokes and colors.
It also depicts a woman, but what makes it art is that it draws the viewer into a unique relationship with the subject and allows the viewer to have her own reaction to it.
Code is the form, but data is the content.
A banking website may be craftily created, but its function has to work for a bank, or it fails.
A personal website may be very expressive, but it usually sells its owner.
So, if you want to create a truly artistic website or application, you have to provide data to the user, and then completely give up on all the platitudes:
- Don't make the world a better place
- Don't help people work better
- Don't help people be their best selves
- Don't try to sell anything, including yourself.
We have reactions to the data all around us, whether it's products on Amazon, or news items in a feed.
If a website or application is to be art, it cannot have a prescribed purpose.
Most of the time, we don't realize how we're being manipulated, or just battering ourselves with emotionally draining content.
Breaking the spell of that data is what art can do, but you have to find a way of letting go of all that built-up intention.