Skip to article content

Preserving Interactive Research Content

Challenges, Frameworks, and Best Practices

Back to Article
Graceful Degradation in Computational Research
Download Article

Graceful Degradation in Computational Research

A framework for balancing innovation and longevity in research communication

What is Graceful Degradation?

Graceful degradation (GD) is the idea that complex systems can fail or simplify incrementally—not catastrophically. It’s about designing systems that provide the richest experience possible when everything works, while still offering meaningful, functional fallback options when conditions change.

In the context of science, this means designing research outputs that start with interactive, computationally rich features—like live visualizations, linked data, and executable code—but retain value even if those layers degrade over time. Instead of binary outcomes (working vs. broken), we enable a spectrum—from fully interactive environments to recorded demos, static images, and structured metadata.

A few reasons graceful degradation matters:

The goal is not perfection or permanence. It’s resilience. And this mindset allows us to build tools and workflows that support modern scientific practices without sacrificing long-term preservation. And better preservation will incentivize adoption.

What is decay?

The following figure proposes a framework for the graceful degradation of interactive research content. Increasing interactivity precedes graceful degradation. In order to achieve interactivity and to promote its adoption, these features need to be “risk-free.” Graceful degradation is our proposed path. Thus interactivity arrow (going up) on the left, graceful degradation (going down) on the right.

Levels

Within the table, three levels of interactivity are represented:

Level 3 (L3) Open-ended: corresponds to the work as the published object, fully interactive. This representation is created by the researcher and presents as an open-ended, unfettered exploration of data, code, visualisation and environment by the user or agent, examples being things like explorable explanations and online interactive papers, but also multiverse analyses (Sarma; Liu; Steegen). This opens up new models of collaboration, sharing and reuse.

Level 2 (L2) Predefined: corresponds to a partially decayed version of the published work with limited, set interactions, insofar as it is affected by some GD. Level 2 maintains interaction within pre-established parameters in figures, integration of up-to-date metadata on references, citations or links. Presentation-only controls do not affect underlying data.

Level 1 (L1) Static: corresponds to a fully decayed version of the published work, taken over by GD, i.e. the object is no longer computationally interactive, but does include data/code citations or links with appropriate standards (e.g. data citation principles). Content is fixed, but is marked or tagged for accessibility.

Columns

At each interactivity level, we include five columns, representing components of Text, Visualizations, Data, Code and Environment. Although there is some fluidity among these categories, it is helpful to think of them separately here as they may degrade in different ways. Expected interactions at Level 3 are described below:

Text

Text represents the written component of a research output. Interactions include:

Visualizations

Interactive visualizations allow for the manipulation of charts and figures. There is some overlap with data queries, but here we focus on features unique to visualization. Interactions include:

Data

At L3, data is queryable within the published executable environment. As we move from L3 to L2, we lose direct access to the data or data pipelines. At L2, the data is no longer queryable in the execution environment but can be downloaded and queried in an external/local environment. At L1, there is simply no longer connected access to the data, and only a derivative representation of it is available to the user.

Interactions focus on in situ end-user interactions for manipulating tabular or array data embedded into research outputs and exploring impact on presented results.

Code

Includes source code for L3 and binaries for L2, for example, but also code that executes the notebook. Can interact with code in a notebook cell, code buffer or prompt integrated into a research output. Interactions include:

Environment

Interactions with the overall “container” for the code above include:

Preserving Interactive Research Content
Preserving Interactive Research Content
Preserving Interactive Research Content
Expanding the Idea: Perspectives from the Ecosystem