SOURCE CODE ANALYSIS AS TECHNICAL ART HISTORY

DEENA ENGEL, AND GLENN WHARTON  Department of Computer , Courant, Institute of Mathematical ,  Museum Studies Program, New York University

As part of its program to conserve software-based artworks, the Museum of Modern Art undertook a risk analysis of  works that use a variety of software programs, programming languages, and code libraries. Risks assessed in this study include the potential impact due to changes and upgrades to hardware, operating systems, and program- ming languages that would render the software obsolete. The assessment made clear that one of the museum’s primary conservation strategies should be building technical documentation about the artworks. Consequently, the museum undertook a second project to build documentation about the software and hardware dependencies for  software-based works. While analyzing artist-rendered source code, the researchers in some cases discovered hidden information about the working methods of the artists and their programmers. This information includes the development of aesthetic properties such as color, movement, and sound. The discovery of these clues to the artists’ concerns broadened the scope of the research to include an argument for source code analysis as a tool for technical art history. In this article the authors describe the potential for adapting documentation methods from software engineering for conservation purposes, and further argue for using these methods in art-historical research.

KEYWORDS: Computer, Digital art, Documentation, Media Conservation, Software, Software-based art, Source Code, Technical art history

.INTRODUCTION The Museum of Modern Art (MoMA) launched a Following these interviews, three artworks were program in  to assess risks associated with its selected for an additional research project with com- media art collections. Among the most vulnerable puter science students at the Courant Institute and media works identified in the assessment were those graduate students in Museum Studies to investigate driven by artist-generated software. A primary the potential of adapting models from software concern is that commercial hardware and operating engineering to create technical documentation of the systems frequently change, requiring active manage- source code. The aim of creating this documentation ment of the software to keep it functional. In , was to provide information for future programmers the museum launched a project to build technical docu- to recompile or re-write the code for new operating mentation for the software-based works in the collec- environments. tion. This research, designed to aid in conservation The initial findings of this project were published in strategies, included artist and programmer interviews, an article, “Reading between the lines: source code research on the hardware, software, and media com- documentation as a conservation strategy for soft- ponents of the artworks, and technical documentation ware-based art” (Engel and Wharton ), that of the source code. describes three software engineering models used to Knowing that MoMA staff did not have all of the document source code (see Appendix  for artwork expertise or time needed for the project, the media descriptions). The original aim of the present article conservator developed partnerships with three pro- was to report the potential for a fourth method of grams at New York University (NYU) to aid in con- code documentation, UML (Unified Modeling ducting the research: the Computer Science Language) diagrams. Yet during the project, the Department of the Courant Institute of Mathematics, authors came across a new finding that altered the the Moving Image Archiving and Preservation course of the research and broadened the scope of the Program, and the Museum Studies Program. The study. Technical research on artist-generated source project included  artworks. Under the guidance of code not only serves conservation, but it can also aid  MoMA staff and university faculty, students inter- art-historical research on artists’ aesthetic aims and viewed  artists and  programmers. their working methods.

© American Institute for Conservation of Historic and Artistic Works  DOI: ./Y. Journal of the American Institute for Conservation , Vol.  No. , –  DEENA ENGEL AND GLENN WHARTON

Technical studies in the service of art history are not As reported in the first publication from this study, new, but their application to software-based art is technical documentation of source code will provide novel. The original framing of art conservation as a valuable information to future programmers to under- science was an effort to better understand mechanisms stand how artist-generated software programs work. of material deterioration in order to prevent further They will be able to use the documentation to maintain decay and provide conservators with material knowl- the software when there are changes to the underlying edge to aid their cleaning, repair, and aesthetic inte- operating system and/or to the hardware. For works gration strategies. For over a century, this scientific of art that include multi-media items, technical docu- research has increasingly been combined with tra- mentation will also be helpful when there are changes ditional connoisseurship to better understand the to relevant audio, video, and image formats and materials and techniques used by artists in the pro- standards. duction of their work. Since the founding of the Software maintenance is a standard practice in soft- Doerner Institute and first museum conservation lab- ware engineering that seeks to correct and improve oratory in late-nineteenth-century Germany (Clavir upon computer programs over the time that they are ) and the pioneering research at Harvard Univer- in use, and technical documentation of a program’s sity’s Fogg Art Museum in the early-twentieth century source code is a core activity of this discipline (Ali (Bewer ), a number of museums have created con- ; Das et al. ; de Souza et al. ; Scanniello servation science laboratories to research their collec- et al. ; Stroulia and Systä. ; Wong and Tilley tions. More recently, universities have developed ). Various methods of documentation have been courses in technical studies, and there is a growing developed to provide programmers with tools for soft- body of literature on the results of technical investi- ware maintenance (Correia et al. ; Forward and gations that some now refer to as technical art history Lethbridge ; Huang and Tilley ; Tilley (Ainsworth ; Considine ; Hermens ; ; Trese and Tilley ). In the first phase of our Hill Stoner ). Technical knowledge of artworks research, we demonstrated the use of three of these facilitates an understanding of aesthetic intentions, of methods for museum use: code annotation, narrative opportunities and limits afforded by methods and description, and visual documentation. Figures – materials of production, and of broader questions illustrate these methods from our research, along with about creativity and the nature of creative processes. UML diagrams, a fourth method that was investigated As we demonstrate in this article, technical research in the second phase of the study. of software-based artworks provides many of the same benefits to art historians and conservators. Our . CODE ANNOTATION aims in this article are to describe the technical research Figure  depicts an example of documentation in conducted by MoMA and NYU, summarize the which comments were added to the source code itself. findings that now include the use of UML diagrams in Such annotation can be added to specific statements, documenting source code, and argue for code analysis blocks of code, or other structural elements within the as a new form of technical art history. program. The source code in black font within the text box is compiled into software that transmits infor- mation to the computer to produce the image seen on the computer screen. The text in the blue font (follow- .SOURCE CODE DOCUMENTATION AS A ing the double-slash (//) in the text box) is technical CONSERVATION STRATEGY documentation that will assist future programmers in . SOFTWARE MAINTENANCE deciphering the code. The computer does not use these comments embedded in the source code when Programmers write source code in specific program- the program runs. ming languages. It is typically stored in a text file so it is human-readable. Like any language, those who . NARRATIVE DESCRIPTION know how to read it understand source code. Just as spoken languages are comprehensible to people who Figure  illustrates an example of narrative documen- know their grammatical rules and vocabulary, a com- tation that describes the software application as a puter program in Java can be read and understood by whole, or specific aspects of how the software computer programmers who have studied and behaves. This narrative excerpt was written by Ben worked with Java. Programming languages are born Wagle, a computer science student at NYU as part of and fade at a much faster pace than spoken languages. our documentation of Thinking Machine  by Martin As programming languages are replaced and become Wattenberg and Marek Walczak. It provides the extinct over time, new programmers will not be reader with a description of a method (block of code) trained in reading them. in which a “chess piece” is rendered.

Journal of the American Institute for Conservation , Vol.  No. , – SOURCE CODE ANALYSIS AS TECHNICAL ART HISTORY 

FIG. . This drawing of a Bezier curve is a sample from the Processing website from the “Examples” section which supplements the “Tutorials” section on the site. The code in black font in the text box generates the drawing, while the annotation in blue font describes the function of the code. When the program runs to render the drawing, the resulting design is responsive to the user; it shifts and changes as the user moves his or her mouse. This animated behavior is clear from the code but not from the still image as it is captured on a printed page. Source: http://processing.org/examples/bezier.html (accessed March , ).

FIG. . Example of Narrative Description documentation of source code from Thinking Machine  by Martin Wattenberg and Marek Walczak. In this excerpt, the author describes the purpose of this specific program (ChessPieceGraphics.java) and the importance to the work (in this case, to be sure that the reader understands that the “chess pieces” in Thinking Machine are dyna- mically drawn and not taken from static image files such as .GIF or .PNG files.) Further, the author clarifies a scale that is used (.) which will be applied to the drawing program which would be called to actually render the “chess pieces.” (See fig.  for images of some of the rendered “pieces.”)

. VISUAL DOCUMENTATION Kelsey Lee, Liz Pelka, Erin Schoenfelder, and Albert Yau. In some cases we found that using charts and dia- grams provided the best way to succinctly describe . UML DIAGRAMS the structure and components of the software that we studied. The program structure for  Questions Per In the second phase of our study, we investigated the Minute is relatively complex. The diagram in fig.  is use of UML (Unified Modeling Language) diagrams as a flowchart that describes the order in which specific a fourth method of documenting source code. UML dia- sections of the computer program are run to process gramming is a standard approach used to create a visual the data and produce the output. This diagram was gen- representation of the components and aspects of a soft- erated collaboratively by five NYU computer science ware application (Schattkowsky et al. ;Grayetal. students who worked on this project and were ; Flint et al. ). UML (http://www.uml.org/) is members of our research team: Susana Delgadillo, an open source notation that was developed in 

Journal of the American Institute for Conservation , Vol.  No. , –  DEENA ENGEL AND GLENN WHARTON

FIG. . A simplified version of the flowchart for  Questions Per Minute. All of the important program file groups are listed in relation to when they are actually called or run within the work of art. The program begins with main.pas and a programmer can see from this chart which steps are executed next by following the arrows. In some cases, such as the wait time in the pale diamond on the lower right, a condition must be met before the next program is called. and is independent of any specific programming case study, we used UML to focus on the use of language or programming approach. UML offers a object-oriented programming in Java, which is a pro- formal and widely known for describing gramming paradigm that allows the developer to even large and complex software applications in a suc- model elements and behaviors within the program in cinct and visual way. a coherent way. Further research could be done to We introduced UML diagrams into our study with determine how and whether conservators would Thinking Machine , which is written in Java. In this benefit from learning UML to participate in the docu- mentation process. The small excerpt in fig. , devel- oped by NYU computer science students Anthony Spalvieri-Kruse and Ben Wagle, is from the UML diagram of Thinking Machine .

. SUMMARY OF TECHNICAL DOCUMENTATION FINDINGS Each of these four approaches can assist conservation in different ways. Code annotation provides infor- mation for future programmers who may be asked to migrate, update, or re-compile it for future display. This method offers a high level of detail, including line-by-line documentation that is beneficial to future programmers. Narrative documentation, either in an external document or stored within the source code as FIG. . An example of an excerpt from a UML diagram lengthy comments, provides a succinct description of for Thinking Machine . This excerpt describes a class, or a specific block of code. Visual diagrams such as block of code as it is used in Java, that the artists used to flowcharts and UML diagrams give future program- test whether the chessboard and wave motion were working mers an overview of the system as a whole, and how properly. The top line refers to the name given to this different aspects of the software work together. specific class, which in this case is the descriptive term “Grid- There are additional ways in which software docu- Test” (a programatically “safe” way to spell the name “grid test” or “testing the grid”). The middle section of the box con- mentation can assist conservators. For instance, a tains information about what is included in this class and how good study will point out weaknesses in the system that information is represented. The bottom section lists the that could lead to future problems: we found a “bug” permitted operations as a way to describe the behaviors for in Thinking Machine  which causes the system to this class. stop running if specific game sequences are “played.”

Journal of the American Institute for Conservation , Vol.  No. , – SOURCE CODE ANALYSIS AS TECHNICAL ART HISTORY 

The code documentation process highlights files such as configuration files, the specific interface to the operating data sets, multi-media files, drivers for hardware, exter- system, how the work of art addresses specific and/or nal code libraries used to supplement the artist/pro- customized hardware, and how the software manages grammer’s code, and other required files that are and uses libraries and multi-media file formats. These uncovered as the source code is studied. This helps con- aspects of the software are relevant to many software servators make sure that the museum has obtained all applications and are not specifically related to the artis- of the files and data required to exhibit the work and tic nature and aesthetic goals of software art. However, conserve it properly. Software documentation also we documented these aspects of the software with aids the conservation process by providing specific respect to aesthetic implications of the artist/program- information about the work from a technical stand- mer’s decisions. The following examples illustrate point. This is information that is not necessarily how standard software documentation strategies evident when observing the artwork visually. applied to the conservation of artworks in our study. It is important to keep in mind that software engin- eers and art conservators have different objectives in .. SYSTEM CONFIGURATION their documentation strategies. The aim of software Some artists/programmers use systems configur- engineering maintenance is to sustain the functionality ations data to prepare a work for re-exhibition or to of software until it is upgraded to a new version, or exhibit the same work of art in different environments replaced altogether. The aim of software art conserva- or in different ways. For example,  Questions Per tion is to maintain the artist’s vision at the time the soft- Minute runs in English, German, or Spanish. A ware was created for future public experience of their configuration file is used to store the language setting work. This may include software upgrades and replace- (among other parameters), which is determined at the ment, or it may require preservation of original soft- time of installation and is respected throughout the soft- ware and/or hardware environments. ware application so that the program appears to run Media conservators must navigate between technical only in English, German, or Spanish. All of the vocabul- possibilities and artist concerns. Often artists have not aries required in each language are included in the setup fully thought through the implications of future conser- files and the program is written in such a way as to vation, and the conservation interview is the first time create grammatically reasonable (if semantically non- they attempt to articulate their thoughts. Media conser- sensical) questions in each of the three languages vation, like other areas of conservation, involves careful within one set of source code and installation files. research and discussion in order to negotiate strategies Therefore, the artist/programmer can deliver the same that may sometimes alter the work in the name of pres- software program for exhibition regardless of where it ervation. As in other areas of the discipline, conserving will be shown and the language (English, German, or software-based art requires managing change, with full Spanish) can be selected as part of the installation and documentation of decision-making rationale for future setup process at the time of each exhibition. scholars and decision makers. .. OPERATING SYSTEM SPECIFIC ISSUES .ANALYSIS OF RESEARCH FINDINGS We found that the artists at times used features of the underlying operating system or programed on the oper- Based on our research, we found that there are multiple ating system level in order to render their works in benefits from documenting the source code of software- specific ways. For example, Shadow Monsters, which based art. These benefits can be divided into three can crash if there is too much activity to process (such broad categories that are discussed in the sections as a number of active children creating “monsters” at below the same time), uses Mac-Unix scripts to restart when necessary; this is nearly transparent to the viewer. • documentation for software maintenance; • documentation to understand aesthetic intent of the .. CUSTOM AND/OR UNUSUAL HARDWARE artist; and The software written to output the text to multiple • documentation of unused code to understand the screens for  Questions Per Minute is hardware- artist’s working methods. specific and an examination of the source code and a review of the drivers was needed to understand how the hardware was addressed in this work. There are . DOCUMENTATION FOR SOFTWARE MAINTENANCE also examples of other works of software art in In our study, we documented various aspects of the MoMA’s collection that use customized, unique hard-  software application within the operating environment ware built specifically for the work of art. In our to help maintain the software. Among these aspects of earlier work, we studied the importance of document- the software application are the role of systems ing the operating environment for each artwork,

Journal of the American Institute for Conservation , Vol.  No. , –  DEENA ENGEL AND GLENN WHARTON including the operating system and specific version, the sounds including titles such as “high sounds,”“low programming language and specific version, and sounds,”“burps,” and others. The artist uses a library specific configurations in the hardware requirements to play the selected sounds that are stored as .aif files. such as the minimum amount of RAM needed and  other issues (Engel and Wharton ). In reviewing . DOCUMENTING AESTHETIC INTENT OF THE ARTIST the source code, we found it important to review and confirm any specific hardware requirements so that In addition to analyzing source code for software the software would run correctly. This information maintenance, we found that important aesthetic infor- further informs conservation decisions. mation is often written into the code. The research allowed us to study the work of art through topics such as the use of color, randomization, speed (for ani- .. SOURCE CODE FROM SPECIFIC LIBRARIES From a conservation perspective, we discovered code mated images), and the construction of images (progra- fi libraries are of concern to the museum during acqui- matically or from external les). Thus, documenting the sition as well as exhibition. Programmers often use source code allowed us to better understand the aes- libraries that are collections of pre-written code which thetic intent of the artist in the following ways. programmers can re-use; these collections are some- times written by a third party and typically not included .. COLOR in the programming language itself. Different libraries The study of pigments and dyes plays a significant may be written to meet specific needs of different pro- role in the technical analysis of traditional artworks grammers. For example, a physics library typically con- such as paintings, drawings, and textiles. Colors in a tains code to model physical effects such as rendering digital world are defined by a series of numerical the “bouncing” motion of a spring, the pattern of a values and described in terms of color space. For wave, how hair might move in a breeze and other example, both of the Processing works that we effects. Phil Worthington used a physics library for studied use RGB: the red, green, and blue additive special effects in Shadow Monsters, but the source color model used for electronic systems. In the case of code for the physics library was not included with the software art, the colors used are clearly defined in the rest of the source code provided to the museum. source code. In MoMA’s Thinking Machine  the Shadow Monsters also uses a sound library to facilitate colors used when the program is “thinking” about rendering the sounds of the “monsters” (the grunts, which “move” to make next are derived from a range groans, and squeals). The source code from these of numerical values which are modified programatically libraries would be required if one were to update and to render the series of yellow and orange hues for one re-compile the program at a later date, but it was not player’s “moves” as seen in the arches that are drawn. included at the time of acquisition and no longer The other player’s “moves” use another set of numerical appears to be available from other sources. It was values for the arches in differing shades of green. By only through the process of documenting the source examining the source code, one can identify and code that we were able to ascertain which libraries (thereby reproduce if necessary) specific colors that were used and thus determine which libraries or code are used. modules were present or missing. When a code library is available for study, it is important to determine .. SPEED (FOR ANIMATED WORKS) whether the artist/programmer had further modified An examination of the source code reveals infor- that library. If the artist/programmer modifies a mation about the relative speeds at which an artwork library, then future upgrades or modifications would will run as well as the artist’s intent as to the speed require that the upgraded library reflect the artist/pro- and periodic or occasional variations in the speed. grammer’s original intent or changes. This is a vital These aesthetic qualities of the work are not easily aspect of conservation for a work of software art. understood by simply observing the work as a viewer. We found in studying the source code for Shadow .. MANAGING AND UNDERSTANDING THE USE OF MULTI- Monsters that the artist used several programming tech- MEDIA FILES niques to simulate a pause in movement at various As we described in our earlier work, it is important times. However, by examining the code, it became that museums acquire uncompressed file formats for clear that due to the way in which these pauses are multi-media components of artworks (Engel and written, they could disappear if the work were run on Wharton ). In this study, we analyzed the source a computer with a faster processor. This aesthetic con- code for further information about multi-media files sideration was documented for future re-exhibition. and how they are used. For example, in Shadow Mon- In another example, in the case of Thinking Machine sters, the sound files are located within the hierarchy of , we learned from the source code that the amount of folders designated to organize files for a variety of “thinking time” allotted for the computer’s “turn” is in

Journal of the American Institute for Conservation , Vol.  No. , – SOURCE CODE ANALYSIS AS TECHNICAL ART HISTORY  fact randomly determined within a specific range of values. In this case, the viewer’s perception that the computer “thinks” for a different amount of time at each move is correct, and the time allotted for each “move” is unpredictable. However, the length of dur- ation of the computer’s “turn” is expressed as a length of time (measured in seconds). In this case, a change in the hardware such as a faster processor should not FIG. . Three examples of image files that are used to render impact the viewer’s experience of the work. “teeth” in Shadow Monsters. Each of the shapes in this figure is meant to be a single “tooth” in Shadow Monsters and is fi fi .. RANDOMIZATION AND AESTHETIC CONSIDERATIONS stored in a single .PNG le. These les were supplied to the It is often difficult to ascertain from viewing a work museum by the artist upon installation. For example, the “ ” fi of software art whether, where, and how randomiz- center tooth is from a le called tooth_canine.png. When Shadow Monsters is running, this image would be displayed ation is used in the execution of the software. “ ” fi repeatedly along a contour, to resemble a line of teeth in However, an analysis of the source code clari es the that specific monster’s “mouth.” use (or absence) of randomization. We saw above that the duration of time that the com- puter “thinks” between “moves” in Thinking Machine  In Shadow Monsters, a selected image, such as one of is based on a randomly generated value. In other cases, the three in Figure  is displayed in a repeating pattern aspects of a work appear to be random but actually along the contour of the monster’s “mouth” to desig- follow a specific and predictable underlying pattern. nate a row of “teeth” or along the monster’s “arm” or For example, the groans and grunts of the “monsters” “head” to designate “hair”. The .png filenames are in Shadow Monsters give an impression that they are prefixed with “tooth_” or “skin_” to differentiate how randomly selected but in fact, the source code they are used. specifies the order in which specific sounds are played Thinking Machine  however renders the chess pieces as well as which sounds are played for which shapes programatically and dynamically during the “game” by (by evaluating the size of each monster’s “mouth”). “drawing” the images rather than using stored image In yet a different example, the words and phrases in files (fig. ).  Questions Per Minute are randomly selected from From a conservation perspective, different a carefully planned series of text files that reflect the approaches are required depending on how the given language’s grammatical structures (English, images are rendered. In the case of Shadow Monsters, Spanish, or German). In this way, a grammatically the original image files must be appropriately con- coherent statement is built from a series of randomly served. In the case of Thinking Machine , the source selected words or phrases organized to ensure a gram- code used to render the images must be appropriately matically correct question, even though the result is maintained in order for the work to run in the future. intended to be nonsensical. We studied the dynamically generated shapes and We saw above that the amount of time that the com- images in the source code of Thinking Machine  in puter “thinks” before each chess “move” in Thinking detail in order to better understand the potential for Machine  is randomized. However, to our surprise, variability in shape and color, as well as for changes we learned from the source code that the specific that might occur when the “chess piece”“moves.” chess games that are “played” in MoMA’s Thinking Studying the source code gave us further insight into Machine  are not random at all or even generated at how the artist/programmer envisioned the “chess the time of play. The work is driven by detailed pieces” as it is clear in the source code how the scripts that execute in the same order with the same images are algorithmically developed. result each time the game is “played.”

.. USE OF IMAGES Although it was not visually clear to us before our study, we learned from the source code that the shapes that are used for “teeth” and “hair” in Shadow FIG. . “Chess pieces” in Thinking Machine . The five Monsters are derived from a collection of .PNG designs in this figure depict “chess pieces” which are dynami- fi  fi image les such as those in Figure . These les were cally drawn when Thinking Machine  runs. In this case, the provided to the museum along with the source code software “draws” each chess piece during the execution of and must be conserved along with the rest of the the program; there are no separate image files, such as those digital files that comprise this work. in fig. , to store or display.

Journal of the American Institute for Conservation , Vol.  No. , –  DEENA ENGEL AND GLENN WHARTON

Finally, we found many examples in which source helped us to better understand those aspects of the code analysis reveals information about the artist’s artist’s process of decision-making. process and the development of the work of art. Some comments in the code reflect the artist’s notes These are aspects of software that would likely not be while writing the program, such as this one in Thinking examined or documented at all for most software Machine : //System.out.println("The game is engineering applications. afoot!"). To us, finding this artist-embedded comment that “the game is afoot!” was like discovering Jackson Pollock’s fingerprint pressed into a running drip of paint. . DOCUMENTING UNUSED CODE TO UNDERSTAND THE Although much can be revealed in unused source ARTIST’S WORKING METHODS code, it is unfortunately not always available to A third category of benefit from source code docu- researchers. For example, if the work is written in a mentation derives from analysis of unused code. language such as Java that gets compiled into software, Unused code can contain earlier attempts to accomplish all of the code that has been “commented out” is a specific task or effect, the information that a program- removed at the time of compilation. In such a case, if mer needed for testing during development, comments the museum has not acquired the artist’s set of source about the development, or comments containing other code files, a later conservation intervention might information useful to the programmer during the devel- require that the Java executable file get “de-compiled” opment process. It is not necessary to remove unused which would result in source code but not the original code or comments for the application to run, so pro- comments or commented-out code. It is also possible grammers sometimes leave unused code and comments that an artist/programmer might deliberately remove in the source code. We have found that segments of comments before giving the work to a museum. In source code that have been “commented out” or these cases, the analysis that we describe in Sections which do not execute can provide information on a . and . would still apply. However, from a research work of software art that is analogous to obtaining pre- perspective, this is a further argument to support a liminary sketches of a painting, the underlying charcoal museum’s efforts to obtain the artist’s complete collec- drawing on a canvas, or a grisaille under the pigmented tion of files that comprise the source code so that glazes in an oil painting. We found that in examining researching the artist’s working processes and aesthetic the unused source code, along with data sets and intent might be available. When researchers are lucky configuration values that the artist/programmer used enough to find buried comments and unused code, for testing, we can learn about the artist’s process and they are likely to learn about the artist and his or her aesthetic intentions. creative process. In Thinking Machine  for example, the artists had set up several “chess boards” programatically. In one scenario, they considered a blue background, using .CONCLUSIONS:SOURCE CODE two shades of blue for the board itself and a blue DOCUMENTATION AS TECHNICAL ART HISTORY theme. In another scenario, the artists used shades of ivory and brown in combination before they settled Learning about the creative development of the works on the chessboard colors that we currently see. we studied and the artists’ efforts to “get it right” We found many examples of residual evidence of the from source code documentation came as a surprise artist/programmer’s experiments in the no-longer-used to us. As mentioned at the beginning of the article, source code. For example, sample data sets that the our original aim was to develop source code documen- artist used for testing allow us to better understand tation strategies for software maintenance purposes. how the artist visualized a work before exhibition. We set out on this study with two primary goals in Shadow Monsters includes a number of “test values” mind. that impact how the program runs according to what First, we examined the benefits and drawbacks of the artist anticipated and wanted to see. Thinking different types of documentation used for software Machine  contains a series of values with comments maintenance in software engineering. We found that to determine the width of the arches, the specific color our results matched those of the software engineering mixtures, their orientation on the board, and other field in that the documents and data we produced pro- visual effects that the artists apparently experimented vided valuable tools for interpreting the source code. with. The four documentation techniques that we used were The parameters set in  Questions Per Minute helpful in different ways to aid future programmers in include designating information about the output understanding the system configuration, relationships (font and font size for example). Our study of the with the operating system and hardware, and use of configuration file and the variations in the settings code libraries and multi-media files.

Journal of the American Institute for Conservation , Vol.  No. , – SOURCE CODE ANALYSIS AS TECHNICAL ART HISTORY 

Second, we aimed to differentiate and “fine-tune” tradition of conservation research benefitting broader software documentation techniques from engineering art-historical understanding about creativity in the applications for application to software art. Here we age of digital production. found a number of areas of study where the aesthetic aspects of the art, and thus the goals of art conservation differ from standard technical documentation studies of ACKNOWLEDGMENTS industry software. We found that the inter-disciplinary This article could not have been written without the approval nature of our group – comprising participants with and encouragement from the artists in our study: Rafael expertise in Computer Science, Museum Studies, and Lozano-Hemmer, Martin Wattenberg, Philip Worthington, Conservation – was especially helpful in assessing docu- and Marek Walczak. They allowed us access to their source mentation requirements for software art. Specific con- code for the purpose of our research. We also thank the stu- cerns for artworks in museum collections include dents at New York University who conducted the code analy- systems and configuration issues, along with aesthetic sis and developed the documentation: Susana Delgadillo, Howard Jing, Kelsey Lee, Daniel Ng, Liz Pelka, Chris components of the work that must be documented for Romero, Erin Schoenfelder, Anthony Spalvieri-Kruse, Ben conservation and re-exhibition. Wagle, and Albert Yau. We are grateful to our colleagues at One of our more interesting realizations in compar- MoMA who joined in our efforts, including chief conservator ing the aims of conservation and the aims of software Jim Coddington, Kate Carmody, and Paul Galloway of the maintenance is the difference in importance placed Architecture and Design Department, assistant media conser- upon reproducibility. With respect to the conservation vator Peter Oleksik, digital repository manager Ben of software art, reproducing the aesthetic experience Fino-Radin, chief technology officer Juan Montes, and and conveying the artist’s intent are of paramount James Heck, director of infrastructure. The article benefitted importance. It is less important to the aims of software from the generous comments of Jim Coddington, Joshua engineering. Of course the question of reproducibility is Clayton, Mark Hellar, Joanna Phillips, and Alexander important across the sciences and in mathematics where Wharton. the goal is to ensure that computational results can be repeated in the future. Setting and achieving appropri- APPENDIX  ate standards for reproducibility in computation poses a number of interesting technological challenges. The source code for the following three artworks was docu- mented in this study. Technical descriptions of the artworks Recent research in this area could have application to are provided in this appendix rather than the body of the conservation of software art, but researching this text since knowledge of all components of the works is not potential was beyond the scope of this study (Stodden necessary to understand the findings and analysis of the et al. ). study. The authors encourage interested readers to learn In Sections . and ., we demonstrate how source more about these works by visiting the websites referred to code documentation aids conservation in understand- for each work. ing the aesthetic intent of the artist and in learning  Questions Per Minute by Rafael Lozano Hammer, about their working methods. It is not a great leap to – see how this knowledge also informs art-historical http://www.moma.org/collection/object.php?object_id=    research. Our digital archaeology expeditions into the (accessed March , )  core structure of the artworks revealed twists and http://www.lozano-hemmer.com/ _questions_per_minute. php (accessed March , ) turns of design. We learned about experiments in  Questions Per Minute is a work of text art that has been color and sound as the artists and programmers exhibited in English, Spanish, and German versions. This worked to achieve their desired effects. We also discov- work of art is typically exhibited on  small LCD screens, ered their concerns for speed in animation, and their with a keyboard available for public interaction in the efforts to create an appearance of randomness with gallery. Sentences are randomly generated on the screens at carefully generated values and predictable underlying a speed of  per minute, a rate which the artist describes as patterns. What started with a quest to understand the fastest presentation that remains readable to the  the technology for preservation purposes ended by viewer. The software was written using Delphi, which is a opening the potential for a new form of research derivative of Pascal. Delphi is a proprietary language, cur- about how creative minds work. This sort of discovery rently owned by Embarcadero Technologies.  is not new for conservators and conservation scientists. Shadow Monsters by Phil Worthington, -ongoing http://www.moma.org/collection/object.php?object_id= In fact, art historians have regularly benefitted from  (accessed March , ) conservation studies of past artistic innovations, from Shadow Monsters is an interactive multi-media work in early metal casting technologies to experimentation which animal-like shapes are generated from viewer’s move- with drying oils and early photographic processes. We ments and projected on a wall in the gallery and accompanied hope that the rich trove of hidden information we dis- by animal-like sounds. The source code is written in Proces- covered embedded in source code will continue the sing, a programming environment that uses Java and was

Journal of the American Institute for Conservation , Vol.  No. , –  DEENA ENGEL AND GLENN WHARTON designed for visual artists (Reas & Fry ). Worthington Correia, F. F., A. Aguiar, H. S. Ferreira, and N. Flores. . employed pre-written program files called libraries for Patterns for consistent software documentation. In specific tasks such as playing the sounds; and for emulating Proceedings of the th Conference on Pattern Languages special effects such as spring-like movements, “blowing of Programs (PLoP ’), – August .NewYork: hair,” and other visual aspects of the work. ACM. Article ,  pages. Thinking Machine  by Martin Wattenberg and Marek Das, S., W. G. Lutters, and C. B. Seaman. . Walczak, – Understanding documentation value in software mainten- http://www.turbulence.org/spotlight/thinking/ (accessed ance. In Proceedings of the  symposium on March , ) Computer human interaction for the management of Written in Processing (which uses Java), Thinking Machine information technology (CHIMIT ’), – (March).  is a game of chess displayed on a screen in the gallery. Prior New York: ACM. Article . to each move, a ripple effect followed by orange and yellow or de Souza, S. C. B., N. Anquetil, and K. M. de Oliveira. . green curved lines (depending on which “side” has the current A study of the documentation essential to software “turn” to “play”) appear on the chessboard emanating from maintenance. In Proceedings of the rd Annual each chess piece, to indicate some of the many possible International Conference on Design of Communication: moves at that moment in the game as though to reveal how Documenting & Designing for Pervasive Information the computer “thinks.” Wattenberg used customized Proces- (SIGDOC ’) – September . New York: sing libraries in writing the source code. MoMA’s version is ACM. –. not interactive, but the artists created a version that can be Engel, D., and G. Wharton. . Reading between the lines: played online: http://www.turbulence.org/spotlight/thinking/ source code documentation as a conservation strategy chess.html (accessed March , ). for software-based art. Studies in Conservation : –. Flint, S., H. Gardner, and C. Boughton. . Executable/ NOTES translatable UML in computing education. In Proceedings of the Sixth Australasian Conference on  MoMA staff and NYU faculty who supervised and advised Computing Education – Volume  (ACE ’), ed. on the project included the authors as project directors, and R. Lister and A. Young. Vol. . Darlinghurst, Howard Besser, Director of the Moving Image and Archiv- Australia: Australian Computer Society, Inc. –. ing Program at NYU; Mona Jimenez, associate director of Forward, A., and T. C. Lethbridge. . The relevance of the Moving Image and Archiving Program at NYU; Peter software documentation, tools and technologies: a Oleksik, assistant media conservator at MoMA; and Ben survey. In Proceedings of the  ACM symposium on Fino-Radin, digital repository manager at MoMA. Document engineering (DocEng ’) – November  An example of a work at MoMA that uses customized soft- . New York: ACM. –. ware is I Want You to Want Me by Jonathan Harris and Gray, J., W. Jules, and A. Gokhale. . Model-driven Sep Kamvar, . Accession number SC.. http: engineering: raising the abstraction level through domain- //iwantyoutowantme.org/ (accessed //). specific modeling. In Proceedings of the th Annual  From interview with the artist conducted at MoMA by Southeast Regional Conference (ACM SE ’). Sarah Resnick, Barbara London, and Glenn Wharton on New York, NY: ACM, Article . pages. June , . Hermens, E. . Technical art history: The synergy of art, conservation and science. In Art history and visual studies in Europe: transnational discourses and national REFERENCES frameworks. eds. M. Rampley, T. Lenain, and Ainsworth, M. W. . From connoisseurship to technical H. Locher. Leiden: Koninklijke Brill. –. art history: the evolution of the interdisciplinary study Hill Stoner, J. . Turning points in technical art history in of art. The Getty Conservation Institute Newsletter  american art. American Art (): –. (): –. (accessed maturity model. In Proceedings of the st Annual March , ). International Conference on Documentation (SIGDOC Ali, M. R. . Why teach reverse engineering? In SIGSOFT ’) – October . New York: ACM. –. Software Engineering Notes (): –. Reas, C., and B. Fry. . Processing: A programming hand- Bewer, Francesca B. . A Laboratory for Art: Harvard’s book for visual designers and artists. Cambridge, Fogg Museum and the Emergence of Conservation in Massachusetts: MIT Press. –. America, –. New Haven: Press. Scanniello, G., C. Gravino, M. Risi, and G. Tortora. .A Clavir, M. . Preserving What is valued: museums, con- controlled experiment for assessing the contribution of servation and first nations. Vancouver, BC: University design pattern documentation on software maintenance. of British Columbia Press. In Proceedings of the  ACM-IEEE International Considine, B. . Recent initiatives in technical art history. Symposium on Empirical Software Engineering and The Getty Conservation Institute Newsletter (): – Measurement (ESEM ’), – September . . (accessed Schattkowsky, T., W. Mueller, and A. Rettberg. .A March , ). model-based approach for executable specifications on

Journal of the American Institute for Conservation , Vol.  No. , – SOURCE CODE ANALYSIS AS TECHNICAL ART HISTORY 

reconfigurable hardware. In Proceedings of the conference on Design of communication (SIGDOC ’) – on Design, Automation and Test in Europe – Volume  October (). New York: ACM. –. (DATE ’). Vol. . Washington, DC: IEEE Computer Trese, T., and S. Tilley. . Documenting software systems Society. –. with views V: towards visual documentation of design pat- Stodden, V., D. H. Bailey, J. Borwein, R. J. LeVeque, terns as an aid to program understanding. In Proceedings W. Rider, and W. Stein, eds. . Setting the default of the th Annual ACM International Conference on to reproducible: reproducibility in computational and Design of communication (SIGDOC ’)October, experimental mathematics. ICERM. http://icerm.brown. . New York: ACM. (October): –. edu/tw–-rcem (accessed March , ). Tribe, M., and R. Jana. . New media art. Köln, Stroulia, E., and T. Systä. . Dynamic analysis for reverse Germany: Taschen GmbH. engineering and program understanding. SIGAPP Wong, K., and S. Tilley. . Connecting technical commu- Applied Computing Review : .–. nicators with technical developers. In Proceedings of the Tilley, S. . Documenting software systems with views VI: th Annual International Conference on Computer lessons learned from  years of research & practice. In Documentation (SIGDOC ’) October –, . Proceedings of the th ACM international conference New York: ACM. –.

AUTHOR BIOGRAPHIES

DEENA ENGEL is a clinical professor as well as the associate director of Undergraduate Studies for the Computer Science Minors programs in the Department of Computer Science at the Courant Institute of Mathematical Sciences of New York University. She teaches undergraduate computer science courses on web and database technologies, as well as courses for undergraduate and graduate students in the Digital and the Arts. She also supervises undergraduate and graduate student research pro- jects in the Digital Humanities and the Arts. Prior to returning to academe, she ran a systems group in an international art auction house for  years. She received her master’s degree in Computer Science from the Courant Institute of Mathematics at New York University. Address: Department of Computer Science, New York University,  Mercer Street Room , New York, NY . Email: [email protected]

GLENN WHARTON is a clinical associate professor in Museum Studies at New York University. From – he served as Media Conservator at the Museum of Modern Art in New York, where he established the time-based media conservation program for video, performance, and software-based collections. In  he founded INCCA-NA, the International Network for the Conservation of Contemporary Art in North America. He served as its first executive director until . Glenn received his PhD in Conservation from the Institute of Archaeology, University College London, and his MA in Conservation from the Cooperstown Graduate Program in New York. His most recent book is titled The Painted King: Art, Activism, and Authenticity in Hawai’i, in which he tells the story of a community-based, participatory conservation project. Address: Museum Studies, New York University,  Greene St. Suite , New York, NY . Email: [email protected]

Journal of the American Institute for Conservation , Vol.  No. , –