The Software Arts

In his new book, The Software Arts, UC Santa Cruz professor Warren Sack presents an alternative history of computing that puts the arts at the center of software’s evolution.

Tracing the origins of software back to the step-by-step instructions of how things were created in the workshops of 18th-century artists and artisans, he illustrates how today’s programming languages are the upshot of past efforts to describe the mechanical arts in the language of the liberal arts.

As a result, Sack views his book as an invitation to artists and humanists to see how their ideas are at the very root of software, as well as an invitation to computer scientists to envision themselves as artists and humanists.

The Software Arts is the latest contribution to the emerging field of software studies and part of an MIT Press series about the subject. Software studies tracks how software is integrated into the practices of contemporary culture and society—both through the scholarship of the humanities and social sciences, and in the software creation and research methods of computer science, the arts, and design.

A media theorist, software designer, and artist, Sack is chair and professor of the Film and Digital Media Department at UC Santa Cruz. His artwork has been exhibited by SFMoMA (San Francisco), the Whitney Museum of American Art (New York), the New Museum of Contemporary Art (New York), the Walker Art Center (Minneapolis), and the ZKM (Karlsruhe, Germany).

Sack’s research has been supported by the Paris Institute for Advanced Study, the American Council of Learned Societies, the Sunlight Foundation, and the National Science Foundation.

I recently spoke with Sack about The Software Arts:

Q. What inspired you to write this book?

A. Ever since I was an undergraduate computer science major taking art courses, it seemed obvious to me that writing software is an art. My time in graduate school at the MIT Media Lab confirmed this intuition as did reading some of the most famous computer scientists like Donald Knuth and Steve Jobs, who always said, at practically every product launch, that Apple’s competitive advantage was the combination of technology and the liberal arts.  But when I started teaching students in the Arts Division how to program, I found this connection between software and the arts difficult to explain.  I embarked on writing the book to discover whether or not this connection was real and, if so, to find a way to more clearly articulate the connection.

Q. Why is it important to look at software development from this point of view? What happens if we don’t?

A. For the most part, software design is considered to be either a kind of engineering–as in software engineering–or a form of science–aka computer science. But, if Steve Jobs was right, it also becomes possible to imagine how computing research and development can be pursued as forms of arts research and humanities scholarship.  With this insight, the path to the next “insanely great” computer technology widens to become a great expressway accommodating a much larger and more diverse group of fellow travelers. 

One big issue is a lack of diversity, a problem that science and engineering suffers more than the arts and the humanities.  For instance, I received an undergraduate degree in computer science in the mid-1980s when, nationwide, over one third of the other graduates were women.  But, in the most recent figures we find that women make up only about one seventh of the undergraduate computer science majors.  In the tech industry, the picture appears to be equally bleak.  Software engineer Tracy Chou and others have crowdsourced up-to-the-minute diversity statistics at many companies in Silicon Valley. In their survey of 20,000 software engineers only about 20 percent (about four thousand) are women.  If we can imagine software development to be science and engineering, why can’t we also conceive of it as an art or a set of arts, the software arts?  And, if we do, perhaps we can change education, industry, and government so that a more diverse group of people are involved in making the decisions about how our lives are being shaped by software. 

The other big issue is the limiting conceptual framework of computer science that can be improved upon if we look at software development with the intellectual tools of the arts and the humanities.  The book shows how software was born of an effort to forge language sufficient to describe to those with a liberal arts education the processes, operations, gestures, and machines employed in the workshops of artists, artisans and designers of the mechanical arts.  These “recipes” of step-by-step procedures for how to make things were translated into the algorithms of computer science.  But computer science has hobbled itself because the algorithm–its central conceptual construct around which much of computer science education, research, and industry is based–does not apply to the design or analysis of most of the software that we use. 

According to the computer science definition, algorithms are processes that have discrete inputs, that run for a finite number of steps without interacting with anyone or anything, terminate, and then output a discrete number of results.  Computer science (especially key figures in the 1960s, like Donald Knuth) developed this very limiting notion of algorithms basically because they wanted to make the field a form of mathematics and so algorithms were designed to match what we know in mathematics as functions, like the y = f(x) expression we all learn in high school algebra.  But software is so much more complicated than functions.

The algorithms of computer science are not adequate for understanding interactive systems like games, web servers, social media, texting, email: basically anything with an interface. This shortcoming is struggled with in those areas of computer science and software engineering that are concerned with interactive and distributed systems, but because computer science has hewed so closely to trying to understand the world in terms of mathematical functions (aka their view of algorithms), emerging areas, like human-computer interaction (HCI), computer-supported cooperative work (CSCW), agent-based modeling, and game design have all had to borrow or invent their theories and methods from outside the confines of computer science.  Thus we find, for instance, that a lot of the prominent researchers in HCI are psychologists or anthropologists.

Q. What kind of book is this? How would you describe it? Who is the target audience?

A. The book is a contribution to an emerging field called software studies and the latest addition to the MIT Press series of that name. There are several of us on campus who have contributed to the book series and/or the one existing journal of software studies, Computational Culture, including, from the Computational Media Department, Michael Mateas and Noah Wardrip-Fruin. Beyond the still-small group of colleagues who are software studies specialists, I wrote the book with two readerships in mind. One is a set of cultural workers, artists, and scholars of culture interested in examining what software might have to offer in terms of theories, methods, or tools. The other is a group of computer scientists and software engineers whose work is bound up with cultural production—game design, social media, or streaming video.

My message to all readers is that culture and computing are knotted together, and one way we can understand their entanglements is by closely reading the texts of software—code and technical books and papers. It’s an academic book because I wanted to get the history and philosophy right and produce a rigorous argument that connects software and the arts.  But, I wanted it to be a book accessible to a wider audience than just academics so, after I got the final set of peer reviews from MIT Press, I rewrote many parts of the book in dialogue with the Santa Cruz-based developmental editor Kathryn Chetkovich.  So I trust that what I rewrote, after she critiqued my prose to make it approachable by non-academics, can be followed by anyone with an interest in the topics of the book– like popular science books often make technical things understandable to a wider audience. 

Q. What actions do you hope people in general might take in response to this book?  People on campus?  Can you give some specific examples?

A. The stakes of this book are threefold: pedagogical, industrial, and epistemological/ethical. First, if software is an art, then education needs to change to integrate it into the liberal arts. What do we teach? What do we learn? These are old questions that need to be posed once again in a world where basic literacy is not just a matter of English, Latin, and Greek, but also of software.

Second, if software can be written in the manner of an artist/humanist, then new avenues of software production beyond engineering and mathematics may be possible—avenues that some, like Steve Jobs, have already traveled. 

Third, if software is the new lingua franca, then there are a series of ethical and moral questions that must be pursued in conjunction with this epistemological transformation. What counts as knowledge, for whom, and at what cost?  In this country and many others, there is a rising awareness that a wider and more diverse set of people need to learn how to code.  We see this in national efforts to integrate coding into the curriculum of primary schools (like in France) and in organizations like code.org.  This form of digital literacy is a good first step and one my Ph.D. students, Fabiola Hanna, and I have been working with Provost Alan Christy to integrate digital literacy into the Cowell College core curriculum at UC Santa Cruz. 

I would like to see multiple efforts on campus to support digital literacy. My book is about the step after that, after just the basics of coding, after digital literacy.  Maybe one could call the next step digital fluency, an effort to rethink the fundamentals of the software that is woven into our everyday lives and our academic theories and methods.  For example, social media has had a bad influence on national elections in many countries and the U.S. Congress is considering measures to regulate it, but could we have university courses in, for example, political theory that explore how software platforms, like Facebook, should be redesigned?  I have done experiments like this in some of my previous research, but it is also a research direction that I hope others in the arts, the humanities, and the social sciences might pursue. 

Beyond the university in, for example, Silicon Valley, software designers need to become fluent in social, political, and cultural theories and methods so that when they work on an influential technology or platform, like Facebook, they can think through the implications of their designs.  Did Facebook intend to facilitate Russian interference in the 2016 US elections?  I doubt it.  Instead, I assume that the Facebook software designers were simply ignorant of the last century of academic work in media studies that exposes the workings of political propaganda, starting with, for instance, Harold Lasswell’s research on German propaganda during the two world wars.

Read More