Computational Narratives#
Imagine a story that unfolds not just through words, but through a seamless blend of text, data, and even code. That’s the essence of computational narratives, a captivating way to communicate complex ideas using the power of data and computation. Computational narratives combine text, data, and code to tell interactive stories about various topics. These narratives often allow readers to engage with the material in a dynamic way, exploring data and running code to better understand the subject matter.
Some consider computational narratives to be the “papers of the future,” as they offer a more interactive and engaging approach to presenting research and information. They improve transparency and reproducibility by design, which is particularly important in the context of Open Science, where making research methods and results accessible and verifiable is crucial.
Jupyter Notebooks are perhaps the most popular format for creating computational narratives. They provide an ideal platform for integrating code, data analysis, and explanatory text, making them a go-to choice for researchers and data scientists aiming to share their work in an interactive, transparent, and reproducible way.
Examples#
The easiest way to understand the idea of computational narratives is probably to look at a few examples. Here are some links to quite nice examples available at nbviewer.org:
Best Practices#
As with many complex thinkgs, developing compelling computational narratives takes time and practice. Some general rules of thumb are summarized in the following do’s and dont’s:
Do:
Tell a story for an audience
Document the process, not just the results
Craft a compelling narrative
Use visualizations effectively
Keep it simple and focused
Don’t:
Present code without context
Delay documentation
Overcomplicate visualizations
Assume (too much) audience knowledge
For a deeper dive into computational narratives and storytelling with data, there is specific literature available, for example H. Eckert’s book “Storytelling with Data”.