Critical Code Studies and Coding4Fun
Published by Jeremy Douglass November 24th, 2005 in Features, CCS, Text Art, Software, Education.The flipside of Critical Code Studies (“more of us should read code!”) are initiatives like Microsoft Developer Network’s new Coding4Fun section (“more of us should write code!”) - although the gap between the rhetoric and the reality is hard to close. A picture of a child beaming at a laptop keyboard helps with the hard sell, although it stops short of depicting the contents of the screen. Perhaps CCS needs a website with a graduate student and a professor beaming at a screen full of source code. Is there an inviting visual rhetoric for code? What follows is one take on the strategic call for code studies, considered in terms of aesthetics.
Marketing has long pictured workers leaning in around the fireplace-like warmth of a cheerful screen. (A gesture echoing the first marketing of the television - or the radio, for that matter). Faked magazine ’screenshots’ and imaginary interfaces like the Apple “Knowledge Navigator” (discussed earlier) often emphasize the screen as providing an approachable, warmly immersive, intuitive, immediate experience which is primarily image-based. But there is a counter-aesthetic that appears in popular depictions of source code - powerful, cooly distancing, esoteric, mediated language.
Tags: interface
If the rosy glow of the image is meant to be inviting, the artificial pallor of code is depicted as off-putting. This is perhaps most viscerally captured by the recent Matrix trilogy, whose operators use a relentless sheer-text interface that alienates the audience from the contents of the screen. This is the initial binary of the movie that is partly deconstructed, as later scenes progressively demonstrate how this symbolically coded information is in fact the material fabric of the Matrix (rather than an abstraction of it). The trilogy of films build up a vocabulary of hybrid material/code understanding through a kind of “code-vision,” in which moving and changing symbols form a hallway, or a man, or a bullet inside a wound.
Although the growing acclimation of the audience to code-vision does not change the dystopia of the Matrix into a place where code is ‘fun,’ code-vision is implicitly part of a greater argument for the understanding and acceptance of code - for example, accepting the person-hood of the pure-code ‘program’ characters. More generally the aesthetic of code-vision to be a successful strategy for de-familiarizing the output and then familiarizing the source. By the end of the trilogy, programs and humans alike can imagine coexistence in both material and procedural space - the signifier and the sign, while not unified, can at least continue in their arbitrary association.
Outside the fictional interfaces of the Knowledge Navigator and the Operator screen, there are of course many real examples of ongoing attempts to conceal or reveal codes. For most, accessible code means graphical code - visual IDEs, hybrids code-and-WYSIWYG applications (e.g. Dreamweaver), and so on. This approach has a long tradition, including the material metaphors of Xerox PARC at the dawn of the modern GUI. Alan Kay, perhaps the pre-eminent champion of coding not just for fun but for children, is also an advocate of the many colorful object handles of the Squeak Smalltalk environment, in which the behaviors, properties, and code of objects are all directly accessible through the GUI.
Can we imagine a pure-text code environment that is inviting to the hesitant scholar? Perhaps the thing to imagine is not just an aesthetic repackaging of code, but a culture of code-literacy, and all that follows. After all, text can’t be *inherantly* uninviting - some coders consider emacs to be not just their editor, but their entire operating system. And then there is the little matter of text interfaces such as “the novel”….
I can’t help but think of hieroglyphics and mathematical equations. Both of these are inviting to me because they are (to me) a bundling of complexity, bursting with meaning. I guess code, although a command, a marker to an action, is actually fairly one-dimensional…in that mark-up is mark-up. Some words will have meaning outside of the code context but the instructions, the programming language is meant to be fairly one-dimensional. And, of course, there is the bias against programming by non-programmers (those who fear or do not understand it). To me, code is interesting because of its creative — as in creation — possiblities. I think good code images are those that you see in sci-fi films of a body or object constructed of code. So you see the relatinship, the implication, the application immediately.