Documenting a largely unstructured seminar as a report, where each session was organised “just-in-time” and a lot of discussion happened quite late at night, is quite a difficult task. However, Jochen Arne Otto has done a really great job as editor, collecting all of our thoughts and outcomes, and the result is now available, open access. Here is the executive summary:
The goal of this seminar was to understand and develop the emerging practice, characteristics and opportunities in live coding, with an emphasis on three perspectives: the humanities, computing education, and software engineering. The opening days of the seminar were broadly structured to provide thematic introductions followed by facilitated discussions on each of these three perspectives. These were interspersed with live coding performances and experiments, in order to ensure that theoretical concerns remained grounded within this discipline that fundamentally blurs the separation of concerns between theory and practice.
The second half of the seminar was problem-oriented, resulting in concrete progress on specific technical topics, together with development of a research roadmap, publications and policy strategy to realise the significant benefits that live coding promises in a number of fields. Finally, in the spirit of both practice as a form of theory and theory as a form of practice, the seminar included some exciting musical experiences — an Algorave club night in London, with performances by delegates who were traveling from other countries on their way to the seminar; an inter-continental collaborative performance hosted jointly with the IEEE VL/HCC conference in San Jose; a conceptual proposal for an interactive sound installation in the Schloss Dagstuhl garden; and live-coded jam sessions in venues ranging from the woods of the old castle, to evening cabaret entertainment in the beautiful Dagstuhl music room.
Our main findings in relation to the three contrasting research perspectives were as follows:
- Live coding illuminates the ways in which programming can be an artistic practice, software-as-art, going beyond a mere supporting role, and illustrating that software is itself a cultural artefact, not simply an infrastructure commodity. We see many opportunities for nuanced, cross-disciplinary contributions to the digital humanities, for example in a revitalisation of the historical connection between computation and weaving, insights into the role of practice and experiment, and an enrichment of the notion of computation itself. Indeed, as computing becomes embedded in culture, the live, everyday authorship of computation becomes a socio-political question of freedom of speech and empowerment.
- Live coding can play an important role in computing education, because it allows programming to be demonstrated and learned in a simple but authentic context. At the same time, it can support an affective teaching strategy where learners are not only motivated by the production of sound, visuals and other phenomena, but are also clear on the distinctly human activity which produces them. Thereby, however, it maintains a sense of discovery of something unanticipated and not prefigured. Of particular importance for learning is the potential for deeper engagement with the non trivial nature of computing, rather than an occupation with the operation of end-user application software.
- Live coding offers new insights with regard to software engineering processes. The history of software engineering process can be seen as a move from heavyweight lock-step approaches to more agile approaches with fast cycles of development and feedback. At their heart, the new approaches rely on collaboration, as developers, designers, and customers work together to steer the process toward mutual success. Live coding demonstrates this kind of approach in a compelling way, with simple tools, a short time frame, but still allowing improvisational collaboration between performers and various audiences.
Perhaps more significant than any of these individual considerations is an ambitious holistic vision: that live coding can entirely change the way we think about programming. Indeed, the common experience articulated at the workshop is that live coding exemplifies both the power and the excitement of programming — in a small space, in a short time, available and accessible to anyone. Live coding exposes thesoul of programming.
Our next steps are a series of collaborative workshops and programs to articulate and demonstrate this collection vision of a broad and expanding role for live coding.
Read the full report here.