Artists and scientists share the most important human goal: the search for truth. Their methods and approaches differ, and their results are in different languages, but there is no a priori reason to grant primacy to either. In educational research, and possibly in other domains, there is thriving work on using the techniques of artespecially creative writingto explore research questions and explain results. In software, we not only seek truth and reality, but we create it. Certainly there is a role for art here. This workshop explores that question.
We are at an important place in the evolution of computing and of object technology in particular. We are building larger and more complex systems than ever before, and we are having a hard time doing it. The limits of synchronous, single-threaded computation are upon us and new architectures are needed to produce systems able to handle the loads we need to place on them. With the possibility of millions of processors and billions of lines of code making up a typical system within the next 1020 years, the fragility and brittleness of our current software approaches will soon prove too much of a barrier to success. Already with technologies such as Aspect-Oriented Programming we are seeing alternative approaches to long-respected software conceptsin this case aspects separate the concept of modularity from that of spatial compartmentalization, as is done in biology. Other ideas might be borrowed from other disciplines by the use of metaphorical or analogical thinking.
These borrowings require a sort of thinking and approach to finding the truth that is more like art than we have been used to for the last 1520 years. Moreover, the way we write and talk about ideas needs to reflect the way that creative writers write more so than the way that practicing scientists do. Some of the artistic values and approaches that might make sense in the sort of science that computer scientists so are as follows:
Creation of a new reality: Good art creates a new reality and invites us to inhabit it. In coming up with new, more robust programming languages and architectures, we will need to imagine a world where programming is different from today. It may not be possible to move incrementally from where we are to where we need to be for success in the future.
Ambiguity: Ambiguity is a mechanism to maintain multiple views or interpretations at the same time. Ambiguity would seem to be contrary to rational thinking in programming language designwe are constantly striving to become ever more well defined. The term “well-defined” has a built-in bias since its opposite would seem to be “ill-defined,” and being well is better than being ill. Here is how Wolfram Research talks about well-defined expressions:
An expression is called “well defined” (or unambiguous) if its definition assigns it a unique interpretation or value. Otherwise, the expression is said to not be well defined or to be ambiguous.
However, polymorphism in object-oriented languagesespecially those with extensive dynamic method-dispatch supportis an example of the use of (seemingly) ill-defined expressions for great expressive power. One could argue that a method-call is really quite well defined because, after all, only one class or object is chosen to respond, but the programmer in writing the method call cannot tell which piece of code that will be, so that it is sensible to think of the programmer as using ambiguity at code-writing time to gain clarity at code-execution time. In this sense, the artistic notion of ambiguity has at least inspired a breakthrough in programming language design. Aspects are yet another way to complicate determining what will execute at run time because a sort-of reflective mechanism is used to spread modules among other encapsulations.
Expressive Language and Vernacular: In writing about technology our institutionsjournals, conferences, etc.prefer a dry, jargon-laden style of writing. Perhaps there is some precision in jargon, but the reader is not invited inat least not a diversity of readers. Without diversity in the scientific conversation, there is diminished opportunities for creativity through multiple ideas bouncing off each other.
When we think back to the early days of almost every new programming language innovation in computing, the papers that described them were often very accessible. Often, the purpose of the paper was to explain the philosophy behind the new language or constructs in order to gain converts to that way of thinking, and so the style and use of vernacular was aimed at attracting readers, not protecting against being accused of error.
At this point in our history, we need this sort of writing again.
Empathy: Art embraces empathy, especially writing. In design we pay lip service to empathy in the name of user-centered design, usability, etc. In the early software era, the physical capabilities of computers required designers and programmers to worry primarily about the machine being able to get the job done, and so efficiency was more valued than providing an enriching experience for the user or for the later maintainer. Architectural styles and practices sprung up that preclude user-oriented features. For example, often early architectural decisions preclude adding a simple cancel button to an application.
Design for robustness (which includes security) often is for improving people’s experiences with computers by providing timely responses and avoiding downtime.
Creativity: Finally, design is a human and creative activity. Design is not entirely an engineering effort nor is it science. Design typically requires a collaboration, as do many artistic endeavors. Talent plays a role. Artists engage in critical work and reviews. Artists practice and do exercises to gain skill and insight. These activities can have a prominent place in software design and in moving programming forward.
Already some of the techniques of artists have been adopted by the software community. The software patterns community has been using writers’ workshops for 10 years now. This technique for critiquing work was adopted because it represents a proven method in a similar arenaviewing writing patterns as a variant of creative writing. Many of the creativity-enhancing activities such as think tanks and brainstorming have been adapted from theater and dance. The ways in which people can develop creativity can be borrowed from artists.
Furthermore, the way that artists are taught can be (and are being) adapted to teaching software and user interface designers. The method involves reflective practice and studying the craft of excellent designs and designers. We have much to learn from artists.
Richard P. Gabriel (chair of the workshop and primary contact) received a PhD in Computer Science from Stanford University in 1981, and an MFA in Poetry from Warren Wilson College in 1998. He has been a researcher at Stanford University, company president and Chief Technical Officer at Lucid, Inc., vice president of Development at ParcPlace-Digitalk, a management consultant for several startups and Sun Microsystems, and Consulting Professor of Computer Science at Stanford University.
Richard will be organizing and leading the workshop. As a practicing poet and computer science researcher, he is in a good position to understand how the two approachesscience and artcan work together.
Kirstie L. Bellman has over thirty-five years of academic, industrial, and consulting experience in both laboratory research and the development of models and information architectures for large military and government programs. Her published research spans a wide range of topics in Cognitive Science, Neuroscience, and Computer Science. Her recent work focuses on the use of domain specific languages and formally based architectural description languages to design and analyze information architectures and reflective architectures that use models of themselves to manage their own resources and to reason about appropriate behavior. In this work, she has also been developing methods for modeling organizational as well as technical aspects of complex systems. With a number of academic partners, she is also developing new mathematical approaches to the analysis of Virtual Worlds containing collaborating humans, artificial agents, and heterogeneous representations, models and processing tools.
Kirstie has been thinking about the use of art in science for a number of years, especially during her tenure working with world-class mathematicians.
Janet Holmes is author of Humanophone (University of Notre Dame, 2001), The Green Tuxedo (University of Notre Dame, 1998), and The Physicist at the Mall (Anhinga, 1994). Her work has twice been included in the annual Best American Poetry anthologies, and she has received numerous prizes and honors for her writing, including grants from the Bush Foundation, the McKnight Foundation, the Minnesota State Arts Board, and The Loft. She is director of Ahsahta Press, an all-poetry publishing house, and director of the Master of Fine Arts Program in Creative Writing at Boise State University, where she has taught since 1999.
Janet is a practicing poet; she has been a writer and editor at the Los Alamos National Laboratory, and has led a software development team at Merrill Corporation.
In addition to reading the short essays attendees will be required to write to be invited to the workshop, there will be some reading made available. A couple of the readings for the previous version of this workshop will be made available. We will likely require that the attendees do an exercise before the workshop, such as describing software in a non-technical genre or using a simple Oulipo rule to kickstart such a description.
A Wiki will be available for pre-, during, and post-workshop use.
This is a full-day workshop. There will be a minimum of formal presentationsperhaps only 2 or 3. If it appears an invitee wishes to debate the relevance of art to science, then we will arrange for that debate to take place in the first 30 minutes of the workshop. The goal is to make a list of artistic practices that could help move both science in general and computing in particular forward along with a description of how those practices would be adapted to science. We will do this by a series of facilitated brainstorming sessionsprobably in a think-tank formatand exercises. We have set up a Wiki for taking notes and for additional interactivity. Here are how the 6 workshop hours will break down:
0:001:00 | formal presentations |
1:001:30 | debate on why this is stupid |
1:303:00 | exercises |
3:004:30 | facilitated brainstorming |
4:306:00 | consolidation |
The Wiki will remain alive after the workshop in hopes of continuing the investigation. We hope to write a paper on the topic after the workshop or perhaps a monograph.
Admission is by invitation only. We’re interested in exploring how aesthetic or artistic practices can assist science. We are also interested in a lively debate. There are two ways to be invited. One is to submit a short (a page is fine) piece responding to this call for participationany genre is acceptable. We would especially appreciate a submission that enacts the themes of this workshopfiction, paintings, poetrybut a simple essay will do. Add a short biography if we don’t know who you are. Email it by September 1, 2004, to Richard P. Gabriel (rpg at dreamsongs.com). The other is to start contributing to the Wiki, signing your statements and adding a page about yourself.
We’ll let you know by September 15, 2004 whether you are invited.