With traditional print media, the figures, text and other content are disconnected from the underlying data, making them hard to understand, evaluate and trust. Digital media, such as online papers and articles, present an opportunity to make visual artifacts which are connected to data and able to reveal those fine-grained relationships to an interested user. This would enable research outputs, news articles and other data-driven artifacts to be more transparent, self-explanatory and explorable — a nice goal but one which would be impractical if we had to implement these features by hand for each output. Fluid is a programming language that tracks how data flows through a computation and makes it possible to author computational outputs where various transparency features are built-in.

When the figures below have finished loading, click on the button in the margin to reveal the data pane. Records are shown only if any of their fields are used somewhere in either of the two figures. Records that are completely unused — as well as any unused fields of other records, which are greyed out — are called inert. By hiding inert data, we can present the reader with a view containing only the used data (a useful default setting).

Tracking how data flows through a computation allows us to do more than just hide away or grey out unused data. Try some of the following:

loading figure(s) — see the FAQ for why this is slow!

You can also interact with the output. Try the following:

Computational transparency as infrastructure

This only scratches the surface of what is possible, but hints at how we might help a reader understand or evaluate a research paper or news article in situ. The key idea is that the transparency features are provided automatically; the author of the content need only express their visualisation as a pure function of the input. As the infrastructure improves, the transparency benefits become available to all users, with no additional effort required on the part of authors. Here is the Fluid code for the figures above:

non-renewables.fld

There are several limitations of the current system, as well as lots of directions in which we plan to move things forward; see the FAQ for details.