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:
nuclearCap
data. Various points in the scatter plot will be
highlighted in blue as you move around: these are the outputs which consume the data element under
your mouse.nuclearCap
values, notice that three other values are also
highlighted with the blue border. These are its related inputs: the
other inputs needed to compute the scatter plot point. Each point in the scatter plot represents a
year; for a given year, the nuclear capacities of 4 countries were added together to compute the
x-coordinate, which is why in this case we see 4 mutually related values.nuclearOut
. Now the related inputs also include the coal, gas
and petrol output for that country. That's because these data are also used to compute the
bar segments in the bar chart. You'll see the various bar segments
being highlighted with a thin border as you move around in that column.You can also interact with the output. Try the following:
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:
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.