As a programmer who tries to use of computer code as a means of subjective expression, I often times find myself struggling with tensions arising from the practice of software tool-making. In the past, I have experienced an immediate inclination to frame coding for personal projects in almost “engineering-like” terms. Usually, this involves extending code’s original scope and reusability so it can serve as a general framework for future work, and for other users as well. This is what happened for example with the first iteration of the Latent State piece, which resulted in the development of an application for live drawing, called Andiamo. Beyond an obvious criticism to such an approach grounded in very practical arguments (coding for a specific artistic piece is hard enough, let alone to try to make the code usable in more general scenarios, our time is finite after all), the idea of a software framework for artistic creation raises many interesting points and questions.
The very term framework by itself establishes the notion of control (a frame or skeleton, a system to contain and determine overall shapes and directions). In a more specific context, software frameworks might define several key components of the creative process: workflow, interface, and aesthetic decisions and outcomes. On one hand, it can be argued that frameworks are needed to facilitate, or just to make even possible, the access to the creative and expressive affordances offered by the computer, specially to the non-technical users. On the other hand, successful frameworks for digital creation are sometimes criticized as constraining the users to specific interface paradigms that narrow down the possibilities of digital manipulation.
This connects with the idea of computer literacy: the knowledge of the internal aspects of computer function (not so much from the hardware point of view, but from the conceptual/semantic perspective). How much computer literate do artists need to be? The use of specific frameworks represents a certain level of computer literacy that allows the manipulation of specific software paradigms and metaphors. To keep with the literary analogy, the artist/user becomes expert in expressing herself in one style of prose or poetry (perhaps recent american short fiction or 60’s historical novel).
But computers, by virtue of being universal Turing machines, can be accessed only through specific abstract constructs: programming languages being the most fundamental. But even the most low-level language imposes its own semantic restrictions and allowances. Henceforth, the knowledge of computer programming as an advanced form of computer literacy won’t avoid being locked down in some form of literary style.
But after all, why all of this should matter? A pragmatic answer could be: as long as the software in question (be high-level audiovisual framework or lower level programming language) allows to solve the problem at hand, we should be fine.
But since anything we can potentially think of solving is implicitly defined by the language itself, we would probably be better off by keeping in mind what is lost and what is gained when we adopt a certain framework or language. At least, we should make sure we can express with it the subjective metaphors and even the contradictions that are part of our expressive intentions.
As for Andiamo, it just doesn’t constitute by itself a developed-enough framework to take as a concrete example in favor of any position. Given my current take on these questions, I would abandon it in favor of more lower-level constructs that still allow for some degree of “reusability”. But at the very least, Andiamo has proved useful (although only for me) to start exploring these questions. In this sense, it has fulfilled its goals as a platform for personal creative experimentation.