APIs as Art

Audrey (@audreywatters) forwarded a very interesting series of tweets to me yesterday from software artist, writer, and educator Jer Thorp (@blprnt):

What a fascinating thought. It is so close to how I see APIs in my minds eye. A single API design can hold so much beauty, information, expression and emotion. Imagine if you hung the API design for each iteration of the Twitter API on a wall. There is so much to interpret. It expresses the vision of Twitter founders and employees, it is in direct response to a million developers and the needs of 500 million users around the globe.  What an impression!!!

While JSON might be the only way we have to visually describe an API, each web, mobile app and data visualization could also be considered an artistic representation of the Twitter API. You could fill an entire gallery with JSON representations of each endpoint and each of its versions, applications, and visualizations. Creating interactive art exhibition of the Twitter ecosystem.

I remember back in 8th grade(1984) I was in my social studies class with Ms. Schuler. She brought in some fractal prints, she said were created by her mathematician boyfriend. She walked us through how each visual was actually a math problem. This was the same year my math teacher Mr. Hathaway got around 20 Commodore Vic 20s, which he didn’t know how to setup and run, so a handful of us stayed after school and helped setup the lab. At this point in my education I hated math, and without seeing the beauty of the fractal, I may never have developed a passion (obsession) for computing. My counselors told me I’d never have a career in computers, because I was so poor at math. Ha! Eat it middle school counselors!

Jer Thorp’s tweets really resonate with me. APIs are a technical, business and political representation that can interpreted in so many different ways. When I read a swagger definition of an API, images begin to form in my mind around the intent of the APIs author (think girl in red dress from the Matrix).

Sometimes an API will invoke kindergarten images in my mind telling me the designer didn’t have the experience it took to represent their information and resources properly. Other times they invoke very precise images, almost too precise, alerting me to the fact this API was designed by another application and not a human.

On a very rare ocasion I will see an API design that you can tell was hand crafted, with the love and care of a individual or group of individuals who considered the needs of many end users, developers, and other consumers. After several iterations an artful API representation will also begin to bear the technical, business and political imprints of its time. Much like a painting will have certain styles, approaches, shapes, sizes, colors and materials going into the ink and canvas, or maybe markings of war, its owners or poor care.

In my opinion APs are a very artful representation of sometimes very complex data or programmatic resources, that have the possibility to evoke very emotional responses from the developers that build on them or the from the end-users who are the intended audience.

Thanks for planting this seed in my head Jer. It is a topic I will visit often, as I’m no doubt going to stumble across patterns and approaches that are more art than tech, as I’m navigating this amazing API driven world I'm obsessed with.

And remember you heard it from Jer Thorp (@blprnt) first!