LIVE 2018
1. Abstract
Nextjournal is an integrated notebook environment. It combines an in-browser document and programming interface with a cloud datastore and execution environment.
While there's an increasingly louder voice calling for reproducibilty in science, the tiny fraction of research out there that's fully reproducible shows that current methods don't work well enough. We believe an integrated system that automatically versions all work at every layer of the stack (document, data, and execution environment) can significantly improve usability for everyone from students to advanced researchers.
Take, for instance, the complex tooling around machine learning. It is easy to hide creation of a custom Tensorflow environment in Nextjournal. This means that a student can open a code cell, type import tensorflow
, and start learning ML in the browser. An advanced researcher can take this very same environment and use it as a boilerplate for their own customizations. Nextjournal even makes GPU allocation simple, so students and researchers can focus on their work.
The reuse and sharing features of Nextjournal speeds up collaboration, while full stack versioning makes rapid experimentation effortless. Nextjournal is a maturing project with a broad appeal that builds upon existing languages - we look forward to sharing the platform and learning more about how we can improve the platform.
2. Video Examples
The first video shows what the Nextjournal programming experience is like. It features multiple programming language runtimes. Values are referenced between runtimes and plotted using a Javascript code cell.
The second example shows a more sophisticated use case. An existing Nextjournal article (Image Classification with Keras) is remixed. It shows that all dependencies, files and results are preserved in the process. The image classification process can be experimented with easily. Finally, it shows that all changes are non-destructive and can be undone.