«Creativity Support for Computational Literature By Daniel C. Howe A dissertation submitted in partial fulfillment of the requirements for the degree ...»
Creativity Support for Computational Literature
Daniel C. Howe
A dissertation submitted in partial fulfillment
of the requirements for the degree of
Doctor of Philosophy
Department of Computer Science
New York University
Dr. Ken Perlin, Advisor
“If I have said anything to the contrary I was mistaken. If I say anything to the
contrary again I shall be mistaken again. Unless I am mistaken now. Into the
dossier with it in any case, in support of whatever thesis you fancy.”
- Samuel Beckett
ACKNOWLEDGEMENTSI would like to thank my advisor, Ken Perlin, for his continual support and inspiration over the course of this research. I am also indebted to my committee members, Helen Nissenbaum, Katherine Isbister, Matthew Stone, and Alan Siegal for their ongoing support and generous contributions of time and input at every stage of the project. Additionally I wish to thank John Cayley, Bill Seaman, Braxton Soderman and Linnea Ogden, each of whom provided important contributions to the ideas presented here. While there are too many to mention individually here, I would like to thank my colleagues, collaborators, and friends who have been generous and tolerant enough to put up with me over the past five years.
Finally, I would like to thank my parents and brother who have given me their unconditionally support, however misguided or unintelligible my direction, since the beginning.
iv ABSTRACT The creativity support community has a long history of providing valuable tools to artists and designers. Similarly, creative digital media practice has proven a valuable pedagogical strategy for teaching core computational ideas. Neither strain of research has focused on the domain of literary art however, instead targeting visual, and aural media almost exclusively.
To address this situation, this thesis presents a software toolkit created specifically to support creativity in computational literature. Two primary hypotheses direct the bulk of the research presented: first, that it is possible to implement effective creativity support tools for literary art given current resource constraints; and second, that such tools, in addition to facilitating new forms of literary creativity, provide unique opportunities for computer science education.
Designed both for practicing artists and for pedagogy, the research presented directly addresses impediments to participation in the field for a diverse range of users and provides an end-to-end solution for courses attempting to engage the creative faculties of computer science students, and to introduce a wider demographic—from writers, to digital artists, to media and literary theorists—to procedural literacy and computational thinking.
The tools and strategies presented have been implemented, deployed, and iteratively refined in real-world contexts over the past three years. In addition to their use in large-scale projects by contemporary artists, they have provided effective support for multiple iterations of ‘Programming for Digital Art & Literature’, a successful inter-disciplinary computer science course taught by the author.
3.4 Programming for Digital Art and Literature: the Teaching Environment. 88 3.4.1 Programming Languages in an Educational Context 90
Figure 8: A minimal HTML page as required for Java's AppletViewer. 53 Figure 9: Screenshot of the RiTa-Eclipse plugin interface. 64 Figure 10: Screenshot of the RiTa-Eclipse plugin configuration widget. 65
Table 3: Alphabetical list of part-of-speech tags used in the Penn Treebank project. 38 Table 4: Alphabetical list of phrase-tags used in the Penn Treebank Project. 44
Literary artists who want to make use of programmable media... should not have to build their own tools. Until recently this has been the debilitating norm. – John Cayley 
1.1 Supporting Literary Creativity Computer science research in artistic creativity support has made significant progress in recent years, creating powerful new tools for photography, film and video, animation, drawing and music, that have transformed standard practices and inspired newly expressive forms. Similarly, creative arts practice in digital media has proven to be a valuable pedagogical strategy for teaching core computer science ideas, both within and beyond the boundaries of the department. Somewhat surprisingly however, given the historical association between the two fields1, such research has rarely focused on the domain of literary art, instead almost exclusively targeting visual, and aural media2. In fact, the selection of computational tools available to contemporary literary artists remains largely unchanged over the past several decades. As one frustrated practitioner commented, “Basically, we are asking [the digital writer] to create sculptures using a hand cranked ice cream machine” [Larson 2005].
Metaphors aside, it would seem clear that literary artists have experienced relatively few benefits from the affordances of computational methods. Not only is this a missed Some examples of computer science research leveraging literature include Christopher Strachey and Alan Turing, Andre Markov and Claude Shannon, and, more recently, Selmer Bringsjord.
Another important area of interest involves computer gaming, which often integrates several of these media types, e.g., audio, video, sound, and interaction.
opportunity for the creativity support community, but computer science educators have also been unable to leverage the synergies between these two areas as a means of advancing pedagogical goals. The synthesis of computer science, creativity support, and literary art, as argued below, holds unique potential, not only to facilitate new forms of literary creativity, but also to introduce a diverse population—from writers, to digital artists, to media and literary theorists, to creatively-motivated computer science students—to procedural literacy and computational thinking3. This dual-focus on creativity, both as and end-in-itself, and as a educational strategy, represents a potentially important means of broadening the appeal of computer science for a new generation of researchers, artists, and educators.
1.2 Current Creativity Support Tools Over the past several decades, creativity support research has helped to generate an impressive range of computational tools for artists. The majority of these tools, however, have focused on visual and aural media, specifically film, animation, photography, music, etc.), as well as, to a lesser degree, architecture, industrial design, sculpture, and performance.
Tools for language-based art, however, remain surprisingly rare. In fact, the selection of computational tools available to contemporary literary artists, especially those offering some degree of programmatic control, remains largely unchanged over the past 20 years; a situation that has generated significant frustration among practitioners in the literary community. As one renowned scholar and practitioner says, “I've often speculated, bitterly, as to why there is The terms ‘procedural literacy’ and ‘computational thinking’ are used somewhat interchangeably below though they have somewhat different connotations. The central ideas which both share are: a) an understanding of process (in contrast to a focus on programming or technical facility); and b) the application of core computational ideas (abstraction, decomposition, automation, recursion, etc.) to other areas of research and/or practice.
no word processor with the kind of filters and effects that are standard features in any of hundreds of graphic or audio manipulation programs” [Cayley 2009]. So why is it that, beyond the ubiquitous word processor, tools for language-based art-practice are so rare? Is it that they are more complex to realize? Or that they require inordinate processing and storage resources? Or is it simply the case, as Brion Gysin  famously quipped, that “writing is still 50 years behind painting”? While no single answer appears to adequately answer this question—it is likely a combination of these and other factors—there are reasons to believe this situation is ripe for change.
Two early examples of authoring environments exploring the possibility for such change are the Dramatica (http://www.dramatica.com/) and StorySpace (http://www.eastgate.com/Storyspace.html) systems, both created in the early 1990s. While neither of these tools provide programmatic support—users do not have direct access to the code for their work—they do represent important early attempts to provide literary artists with creativity-enhancing tools. Unfortunately however, the fact that both were designed for quite narrow contexts—screen-writing and hypertext fiction respectively—has resulted in their adoption only in small niche markets. Further, the fact that both are proprietary, expensive, and closed-source has likely dissuaded a significant number of potential users, specifically artists and educators. Further, at least in the case of StorySpace, the fact that it does not produce web-executable content has resulted in its near obsolescence, as the CDROMs for which it was designed have fallen out of common usage. And while Dramatica retains a somewhat sizeable user-base among screen-writers, it generates only traditional (print-on-page) outputs and provides no support for alternative digital forms, e.g., interactive, generative, or multi-modal texts, the focus of the work presented here.
In light of this situation it has become almost common practice for literary artists interested in using computational methods to either create their own tools or to modify existing tools designed for their, often very different, purposes. In fact, artists have become somewhat proficient at creatively re-purposing ‘traditional’ software for their own agendas.
Some examples (discussed further in chapter 4) include Jackson Mac Low’s use of Microsoft Word, John Cayley’s use of Apple’s QuickTime components, and David Bryne’s repurposing of PowerPoint4. to mention just a few well-known examples. Other artists, David Rokeby (author of OpenVNS), Charles Hartman (author of MacProse), Alex Galloway (author of Carnivore), and Casey Reas and Ben Fry (authors of Processing), have chosen to build their own software, rather than working with existing platforms. While these examples demonstrate that both high-quality software and artistic artifacts can be generated by practitioners in do-it-yourself fashion, this approach is only practical for a very small proportion of those who might benefit from such tools. For the majority of writers (and artists) interested in exploring computational literature, the situation is, to borrow Cayley’s language, “debilitating” at best. This is not only an unfortunate situation for literary artists, but also for students and educators in both computer science and digital arts for whom creativity writing in digital media could prove to be a productive educational environment.
1.3 Computer Science and Creative Writing While writing skills have received some attention in recent years from computer scientists [Pesante 1991; Van Wyk 1995; Ladd 2003; Hoffman 2006], the similarities (and differences) between creative writing and programming have been discussed primarily in other disciplines. One such example is the digital writing community, as perhaps best For more information on this work see http://www.davidbyrne.com/art/eeei/.
demonstrated by the 2008 NSF-sponsored Codework conference which brought together a number of researchers and practitioners in the field to discuss this very topic. Of the nineteen papers presented at the conference, however, only one was authored by a computer scientist5, who happened also to be a practicing literary artist. Similarly, the 2009 ACM CHI Workshop on Computational Creativity Support featured sixteen papers on computationally-augmented creative practice, just one of which, by this author, addressed the context of writing and/or literature.
But recognizing the potential synergies between computer science and literature is only a first step. Because of the inherent complexity of natural languages, research in the literary context—perhaps more so than any of the other arts—requires tool support with a degree of sophistication that has thus far been unavailable. In fact, tool support for languageoriented computer science education has presented significant hurdles [Bird and Loper 2002].
Students often enter courses with vastly different backgrounds and skill sets, and their creative projects tend to integrate a variety of programming tasks. One approach to this problem has been to employ multiple programming environments, with each providing support for some specific task of interest. For example, an introductory computational (or 'digital') literature course might use “Perl” for text parsing and web-crawling, Apple's built-in “talk” facility for text-to-speech, “Flash” for text-display and animation, “Max/MSP” for audio support, and one of several research-oriented natural language packages for statistical analysis. By relying on the built-in features of these languages and platforms, instructors can avoid developing a software infrastructure on their own.
See position papers from the Codework conference at http://www.clc.wvu.edu/projects/codework_workshop/codework_position_papers.
One of several unfortunate consequences of this strategy is that significant time must be devoted to teaching the specifics of each new environment. This increases the delay before students are able to engage substantive topics, whether in software engineering, natural language processing, or the creative practice of computational literature itself. Moreover, students cannot build on previously learned material in subsequent assignments. This lack of scaffolding is especially problematic when student projects tend to span a variety of 'core' tasks and thus require multiple environments to be bridged in a final project; an often formidable task. For example, a somewhat typical student project that involves extracting text from the web, altering it in some way, and visually displaying the results, accompanied by text-to-speech, might use most or even all of the environments mentioned above.