As part of COPIM's work package on experimental book publishing, we are investigating the emerging area of computational book publishing.
Computational publishing is an emerging area of experimental book publishing that we are investigating as part of COPIM’s Work Package 6 on experimental book publishing and reuse. There’s a lot to unpack in the term ‘computational publishing’: computers are used for a range of processes in all types of publishing from large-scale commercial publishing to small-scale zine publishing. What is computational publishing and how is it distinguished from the regular use of computation in publishing?
As a broad definition, we use ‘computational publishing’ to refer to publishing a book which combines human-readable text and computational functionality. However this simple definition requires some refinement in order to distinguish the contemporary experimental publishing practice from historical precursors like the hyperlinked publishing that forms the basis of the World Wide Web and interpreted programming languages which combine text and machine-readable computer code.
Contemporary computational book publishing refers to publishing which incorporates new and more advanced computational elements into human-readable books. Andrew Odewahn (2017) outlines a few of the computational elements that can be incorporated into computational publications including but not limited to:
rich dynamic media that can play in a browser;
interactive data visualisations;
executable code blocks;
the book sets out to express how writing and coding are deeply entangled, and how neither should be privileged over the other: we learn from their relationality. Writing code and writing about code are forced together in ways that reflect broader cultural and technical shifts in data practices and open publishing initiatives, and, moreover, emphasize that writing a book is necessarily a work in progress. Like software, this is a book to be read, and acted upon, shared and rewritten.
(Soon & Cox, 2020, p. 17)
However dedicated tools specifically for computational publishing are becoming more available and may require less software development skills than the tools mentioned above. Jupyter Notebook is a free and open source web application for creating and sharing computational documents and is becoming a popular choice for authors creating documents with live interactive code. Below there is an interactive example of a Jupyter Notebook document running using JupyterLite to provide a self-contained Jupyter environment in the browser. This notebook combines text documentation with examples of Python code running to create data visualisations.
Odewahn (2017) refers to Jupyter Notebook as a “computation-native authoring [tool]” distinguishing it from the bespoke software development required with a code repository and a static site generator. Jupyter Notebook documents can then be published on the web using a range of publishing frontends such as Curvenote or Jupyter Book.
As part of COPIM’s work package looking at experimental book publishing, we are working with the X-Sketchbook project investigating computational book publishing in the area of architecture. The project is using Jupyter Notebook, Jupyter Book, and Curvenote to investigate how an existing publisher’s infrastructures and workflows can incorporate computational publishing practices. We’re excited to be working with the TIB Open Science Lab on this project and look forward to seeing what can be done with computational book publishing in the future.