CODeDOC takes a reverse look at 'software art' projects by focusing on and comparing the 'back end' of the code that drives the artwork's 'front end'--the result of the code, be it visuals or a more abstract communication process. A dozen artists coded a specific assignment in a language of their choice and were asked to exchange the code with each other for comments. The assignment was to 'connect and move three points in space,' which obviously could be interpreted in a literal or abstract way. The 'core' of the code (commonly referred to as the 'main') was not to exceed 8KB, which equals a fairly short text document. The results of the programming are made visible only after the code--what visitors to this site encounter first is a text document of code from which they can launch the front end of the project. The languages in which the code is written are Java, C, Visual Basic, Lingo and Perl. Obviously, this is only a selection of scripting and programming languages. HTML (Hypertext Markup Language), the scripting language on which the World Wide Web is based, and Flash Script were excluded mostly for pragmatic reasons (the inclusion of these languages probably would have doubled the number of artists, making the project unwieldy). Not all of the artists originally invited were able to participate in CODeDOC due to their busy schedules.
The category of software art, commonly used for artist-written software, is a manifestation of fairly blurry terminology. Software is generally defined as formal instructions that can be executed by a computer. However, there is no digital art that doesn't have a layer of code and algorithms, a procedure of formal instructions that accomplish a 'result' in a finite number of steps. Even if the physical and visual manifestations of digital art distract from the layer of data and code, any 'digital image' has ultimately been produced by instructions and the software that was used to create or manipulate it. It is precisely this layer of 'code' and instructions that constitutes a conceptual level which connects to previous artistic work such as Dada's experiments with formal variations and the conceptual pieces by Duchamp, Cage and Sol LeWitt that are based on the execution of instructions.
What distinguishes software art from other artistic practices, is that, unlike any form of visual art, it requires the artist to write a purely verbal description of their work. In traditional art forms, the 'signature' and 'voice' of an artist manifests itself in aesthetics of visuals and execution. Every medium may have its specific language but in digital art, this language has a quite literal rather than figurative manifestation. In software art, the visual results of the artwork are derived from the language of code. Languages are defined by grammar and complex rules and at the same time leave space for individual forms of creative expression. Our identity and the roles we play are expressed in our use of language. One might assume that the aesthetics of artists who write their own source code manifest themselves both in the code itself and its visual results. Artist John F. Simon, Jr. (who wasn't able to participate in the project) has talked about code as a form of creative writing. Code has also been referred to as the medium, the 'paint and canvas,' of the digital artist but it transcends this metaphor in that it even allows artists to write their own tools--to stay with the metaphor, the medium in this case also enables the artist to create the paintbrush and palette.
The projects featured as part of CODeDOC are expressions of distinct artistic signatures: the conceptual approach to the project, the way the code has been written, and the results produced by it reveal a lot about the respective artist. Some of the artists interpret the assignment in a predominantly graphic, visual way; others connect points in the global network of the Internet; one project explicitly treats the language of code as a narrative connecting 3 'characters'; another one creates a meta-layer for profiling the code itself, collapsing the boundaries between front end and back end; yet another project focuses on 'language abuse' and illegal instructions.
Intrinsic to software art is a procedural element that allows for reconfiguration and extension, and, as way of commenting on the projects, artists started to 'remix' their work, applying their own code to other projects or combining sections of code into a new project.
One does not need to be a programmer and have an in-depth understanding of computer languages to establish a connection between the code and its respective results: even a glance at the artists' source code will reveal certain mathematical functions, and in many cases, the artists' comments on their writing clarify the functionality of a line or section of the code. In some cases, reading the source code will enhance the perception of the work; in other cases, the code doesn't necessarily add to the projects. CODeDOC is an endeavor to take a closer look at the process of this particular artistic practice, and to raise questions about the parameters of artistic creation.