In this talk, we (Stuart Geiger, Brittany Fiore-Gartland, and Charlotte Cabasse-Mazel) share ethnographic findings made observing and working with Jupyter notebooks across multiple organizations where notebooks are in heavy use. We conducted interviews about the role of Jupyter in the work done at these companies, observed how people and organizations use notebooks in practice, and worked personally with notebooks in many different contexts. This fieldwork, focused mostly around academic uses of Jupyter, represents a broad array of Jupyter engagement across different fields, programming languages, institutions, and kinds of teams.
Our analysis draws from James Carey’s foundational theory of communication as transmission versus ritual, which is a useful way to think about the goals of Jupyter notebooks and related technologies. Communication is often understood as the transmission of information from one person to another, so good communication is achieved when the ideas inside the mind of the speaker make it into the mind of the listener. However, Carey notes that communication is also often a ritual in which people work to establish a shared context and sustain a common understanding of why we are here and what we are doing. Jupyter notebooks are certainly used to effectively communicate scientific or analytic narratives of computation. However, Jupyter also plays an important role in supporting and changing various ritual practices that take place around computational analysis.
Some of the observed rituals have a very broad adoption and predate Jupyter, such as the ritual of presenting a slide deck at a scientific conference. In this case, tools like nbpresent help Jupyter users present their work within this established ritual. Other rituals are more specific to a particular group and have been created due to the capacities of Jupyter, such as a weekly peer learning group where learners clone a GitHub repository containing a completed notebook that the presenter is projecting on a screen, with everyone walking through the notebook together. There are also rituals that have been transformed by the use of Jupyter, such as one lab’s “chalk talks,” where scientists once gave stand-up analyses on a chalk or white board but now frequently project a blank or thinly scaffolded Jupyter notebook and live code an analysis.
Rituals can be public and institutionalized or more private and individual, such as practices that people do before sharing a notebook to colleagues or the public. The ritual of cleaning up a messy notebook is one we have frequently observed and discussed in interviews with Jupyter users. Depending on the particular shared context someone wants to establish, these rituals of curation can look different and serve different goals. For example, in many instances people use Jupyter with the shared goal of creating an analysis that can be cleanly reproduced end to end. The “restart and run all” test is an important private ritual in this context. Yet in other instances, like with beginner-focused workshops or courses, people strategically allow for messiness in their notebook through rituals like making then fixing errors or going down less fruitful pathways. These kinds of rituals are often tied to broader social practices that signal a culture or context that values flexibility, experimentation, or learning.