We believe software as computational media has potential beyond supporting just the computationally literate.
Codestrate Packages: An Alternative to “One-Size-Fits-All” Software
The popularity of computational notebooks heralds a return of software as computational media rather than turn-key applications. We believe this software model has potential beyond supporting just the computationally literate. We studied a biomolecular nano-design lab that works on a current frontier of science—RNA origami—whose researchers depend on computational tools to do their work, yet are not trained as programmers. Using a participatory design process, we developed a computational labbook to concretise what computational media could look like, using the principles of computability, malleability, shareability, and distributability suggested by previous work. We used this prototype to co-reflect with the nanoscientists about how it could transform their practice. We report on the computational culture specific to this research area; the scientists’ struggles managing their computational environments; and their subsequent disempowerment yet dependence. Lastly, we discuss the generative potential and limitations of the four design principles for the future of computational media.
PhD Research Project
Clemens N. Klokmose
Computational Media, Computational Notebook, Electronic Laboratory Notebook, Participatory Design
We collaborated with a group of biomolecular nanoscientists whose scientific practice and progress rely on using in-house developed computational tools, but who do not have a formal programming education. We engaged them in the participatory design of a computational labbook that helps them carry out a key part of their work, namely the computational design of new RNA structures. The prototype and participatory deign process were guided by the concepts computability, malleability, shareability, and distributability; four proposed principles for computational media derived from work by Klokmose et al. (2015) and Rädle et al. (2017).
In the work, we address the following research questions: (1) How do biomolecular nanoscientists use computation in their work? (2) How can computational media, rather than applications and scripts, better support their work? (3) What can we learn about computational media at large by designing for biomolecular nanoscientists?
We identified three characteristics of computational biomolecular nanoscience that shape how participants structure their work, their psycho-social working conditions, and scientific knowledge they produce related to their computational tools.
Computational Culture. The computational culture of biomolecular nanoscience is one where there is a dependency on computational tools to do the work, but not a tradition of training scientists in the development, deployment, and maintenance of them. This is fine when doing established research using GUI software, but becomes very restricting when working on a frontier of science where the tools have to be invented. There is an incongruous need for the flexibility of scripts that allows researchers to invent new methods, but the usability and convenience of applications.
Computational Environment. Using computational tools requires an understanding of the entire software stack, but this kind of information is often assumed in documentation and few online tutorials focus on such obscure dependency management. A computational medium should break the tight coupling between hardware and computational environments, and instead merge the computational environment with the code. This would allow the code/environment artefact to be self-contained and easily shared regardless of the underlying platform.
Computational Disempowerment. Paradoxically, the very tools that provide the scientists with the ability to push the boundaries of RNA origami also created a psycho-social working environment where they frequently felt disempowered. Participants were vocal about how their tools made them feel helpless, but mostly placed the blame on their own perceived lack of skills rather than the design of the technology.
Properties of Computational Media
We discuss the four applied principles distributability, shareability, malleability, and computability, focusing on their relevance and limitations for the context of biomolecular nanoscience.
Distributability. We can extend the concept of distributability by dividing it into three: distribution of documents, functionality, and computation. The distribution of documents is important because the participants need easy access across devices and spaces. The distribution of functionality refers to the orchestration of operations across devices. Currently, operations are bundled in applications which means that each device needs to install the same application for functionality to be distributed. Distribution of computation was something that made an immediate positive impact and was embraced by the participants. Being able to offload heavy computations to a remote server was a crucial improvement over their current workflow.
Shareability. The participants work independently most of the time, so they did not see the need for real-time collaboration on a day-to-day basis. Instead, what the participants needed to be shareable was self-contained, computational environments. The difficulties they experienced trying to run scripts across devices make sharing their tools and results a huge hassle, either when calling in the help of a more capable peer to debug an error, collaborating with a remote colleague, or networking at a conference. Our prototype facilitates shareability by storing and running documents/environments on a server that are accessed through URLs, which is a conceptual switch from the traditional pass-by-value of sharing to a pass-by-reference model.
Malleability. The kind of software malleability we observed was not a constant low-level tinkering with the code. Rather, it was similar to the malleability of a house, where adjustments can be made when needed, but which are often outsourced to skilled workers often such as carpenters and plumbers. As such, the concept of malleability needs to take a more collective view of software transformation, especially when the computational media targets users who are not trained programmers but rely on more capable peers. We implemented this by leveraging the package system of the Codestrates platform, which makes the medium extensible through packages authored by others. This allows users with limited technical skills to mold their environment, while retaining easy access to the code should it be needed.
Computability. Because the participants operate in a space where there is no established software ecosystem, they opportunistically use scripts from different sources, written in multiple languages. Therefore, supporting computability in a computational medium should not just be about the ability to execute code, but should also allow the agnostic mixing of multiple programming languages in the same space. Our prototype distributed code execution to containers on a remote server, which makes it in principle possible to run any code. However, this simply moves dependency management to a device out of the control of the user, which does not scale very well without requiring the help of experts to maintain those execution environments.
Midas Nouwens, Marcel Borowski, Bjarke Fog, and Clemens Nylandsted Klokmose. 2020. Between Scripts and Applications: Computational Media for the Frontier of Nanoscience. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (CHI '20). DOI: 10.1145/3313831.3376287
Video preview for the CHI 2020 paper:
Overview video of the labbook prototype: