PBS's Off-Book series recently released a digital short on an art movement involving the creative use of computer programming. Off-Book is a bi-weekly web series all about exploring new art movements that are pushing the boundaries of our creative potential with the onset of new-age media. Just to name a few of these movements, previous episodes touch upon typography, animated GIFs, Lego art, web design, and Internet cultures that have greatly influenced and provided new forms of creative expression to artists all around. These new forms of media are enabling all of us to openly express ourselves in ways that continue to push our human capability forward.
This week's episode, dubbed “The Art of Creative Coding,” covers three sets of software communities that aim to provide their respective members with tools that far exceed the limiting potential of paint and a brush. Daniel Schiffman sits and talks about Processing, a community of online software enthusiasts. The community is a great source for artists to use simplified code in order to create visuals that operate on algorithms and processes. Schiffman goes on to point out the limiting factor that is broken by our ability to learn how to program our own software. Think about what you're capable of accomplishing on your smartphone, thanks to the development of apps -- a whole lot, perhaps. Yet, we're still limited to the apps that are there for us to choose. Nevertheless, with the ability to create things for ourselves, we not only benefit from our own creations but also provide others with that same opportunity. Art is no different in the way it allows anyone to pick something up and creatively express themselves.
Keith Butters, of Barbarian Group, later presents the evolution of the Cinders program. The re-mastered code used to develop the iTunes visualizer was given new life in the form of Cinders; a library of code designed to provide artists the necessities to focus on their creations more so than the coding itself. This toolbox of audio, video, and graphics code also operates as an open-source project: the users are free to use the software and often contribute back by writing new code for others to use. This is another great example of the wonders that can come from open-source projects -- how many times do you give Wikipedia a visit when doing a little research?
The home stretch of the PBS short has Jonathan Minard and James George talking about the Frameworks community and their RGBD Toolkit. The toolkit was created by the pairing of an Xbox Kinect with DSLR cameras to experiment with the possibility of new forms of cinema. This kit is also unique in the way it allows users to engage with their work in real-time and make adjustments on the fly. The Frameworks coding environment is used simply for its philosophy of sharing, and the positive effects of the move are self-evident in its success. The guys wrap the video up by pointing to the coding art movement as unique in the way that these particular artists share their tools and help each other out along the way, ensuring the growth and success of the community.
Creativity has now established a community of coders and artists alike that continue to experiment, push the boundaries of new technologies, and create new forms of expression. It is no coincidence that most of these movements are sparked by open-source availability, as art shares many similar characteristics with these kinds of projects, allowing anyone to participate and contribute. So, if you feel like expressing yourself, give coding a try. You might just spark some new ideas and kickstart a completely new community of creators.
Yes, Cabe, I think it's wonderful to learn a spoken language--and increasingly necessary, almost, these days (especially if one is an American in Europe!). But learning a programming language without utility seems an exercise in futility...unless, of course, you were really into that sort of thing! Coders probably do it for fun, but it's not in my nature. For a job, however--that's a different story.
I find it may be a waste of time to learn any programming language for no reason. If I had a job that needed “X,” you bet I would be at it hardcore until I could handle the situation. I taught myself how to use Solidworks since I needed to draw 3D models for some jobs I had. Now I can handle it for anything. I suppose my last minute learning strategy isn’t the most diligent…
I feel your pain. Anthropologists/linguists concluded long ago that humans have a short window as small children for learning spoken language when it's as easy as falling off a tree. I began learning a second language, French, at age 11 in school, but it took years before I felt so at home in it that I dreamed in it and could read novels in it, two indicators that it's sunk in. It's much harder to start as an adult.
Yes, I completely understand you, Ann. it just occurred to me that as I am in the process of learning a second language, I experience this abstraction and complexity first hand as well. Living in Europe, I constantly marvel as I watch friends who are used to hearing so many languages and learned others when they were younger switch so easily between two and three, and my brain is still grappling with its second after three years of lessons. But easier to learn these things when we are young, I think. And as we've mentioned coding is a whole other language--just not a spoken one. I find writing and reading languages easier than speaking them personally, so perhaps coders have an advantage!
Thanks for getting my point. Spoken language is so natural to humans that it appears to be partly coded into our genes, at least the ability for it. Yet the process itself is highly abstract, even when we consider the structures of grammar. It may be the most complex thing humans have invented. In most cases, pictures are much easier to "decode" assuming everyone knows what the items shown are and their cultural and temporal context.
Fair point, Ann! I guess when it comes down to whatever medium we use for creativity, it's all perspective in the end. I don't think of language as abstract generally, but while watching the children of my friends learn how to speak, I do marvel at the process of learning and try to imagine what it must be like for them to try to put all of this complexity together. Probably pretty abstract!
I'd agree that it's not art by most definitions. But the process itself, not just what it produces, is definitely creative. Regarding abstraction, to a programmer it's no more abstract than the process of writing in English is to you or me. And that's actually pretty abstract.
You're absolutely right, Ann, I agree. It's just a different type of creativity than we would think of when we think of abstract types of art. But in its own way, coding also is a bit abstract as well. However, I won't even begin to try to understand the mind of someone who writes code and how that creative process works; I have a hard enough time understanding my own creative process (in writing, conceptual art, photography, music, humor...and other things I have attempted in my life)!
Some could argue that coding is more of a technical skill, so more a high degree of technique – but not art. I was once told that art should move a person in emotional ways, anything else is just mechanics. Art is subjective. Will the most elegant code sit next to a Picasso or Van Gogh in future museums? I am leaning towards no.
I've often listened to programmer friends discussing coding with each other. It's definitely a creative process: there's usually more than one way to do things at different points along the structure, and those choices involve creative thought and problem-solving. It depends to some extent on the language, but the creation of a program in (at least) some of those languages can be compared to the creation of a long-ish document written in English: there's a particular structure for a given overall outcome or set of functions, and there are subsections each with different functions stitched together to support that overall outcome. There's even grammar. Anyway, lots of room for creativity.
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This discussion will examine what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.