Mozilla is most known for pioneering your web browsing habits (long live Firefox!), and now it is experimenting with scientific documentation. Iodide is an open source experimental tool for scientific communication and exploration on the web. It helps scientists write interactive documents with an interactive workflow. Grab your Python code, let’s bring it to the browser.
Will we say goodbye to outdated scientific publishing methods? Wave auf wiedersehen to stagnant PDFs, let’s see how beautiful the future can be.
Beyond being just a programming environment for creating living documents in the browser, Iodide attempts to remove friction from communicative workflows by always bundling the editing tool with the clean readable document. This diverges from IDE-style environments that output presentational documents like .pdf files (which are then divorced from the original code) and cell-based notebooks which mix code and presentation elements. In Iodide, you can get both a document that looks however you want it to look, and easy access to the underlying code and editing environment.
Enter Pyodide: the dream child of scientists and developers. Pyodide compiles the Python science stack to run in WebAssembly. Mozilla also helpfully added Numpy, Pandas, and Matplotlib – the three most popular modules in the science ecosystem. (This may also be used in a standalone environment outside of Iodide. So, if you want to run Python in a browser, have at it!)
When Guido van Rossum developed Python, he wanted to create a “simple” programming language that bypassed the vulnerabilities of other systems. Due to the simple syntax and sophisticated syntactic phrases, the language has become the standard for various scientific applications such as machine learning.
A glimpse of the future
Why is this important? Obviously, Iodide is impressive from a programming standpoint.
But, it’s also a great stride forward in streamlining workflows and and making research more accessible, both to publish and to read. Since the design is fairly user intuitive, anyone can learn how to use Iodide and start creating documents. The documents created in Iodide are easy to browse and gather information, so you don’t need any technical knowledge to reap the rewards of someone’s research. Since it works in the browser, this makes it easy to share, view, and interact with.
Scientific research docs should be accessible by everyone! With this tool, it will be as easy as sharing a URL with someone.
Creating a new report is easy, with a pane for both your editor and a live preview. When sharing the notebook with someone who doesn’t know how to program, there’s a button for just showing the report view.
In the future, Mozilla hopes to add simultaneous notebook editing and commenting (much like Google docs) and fork/merge workflow like GitHub. This has potential to enable a whole new field of scientific collaboration between research teams.
Discussions on adding Julia and R to the mix are also in progress.
Create your own notebook
Test out the demo and play around with the notebook. Be aware that it’s still in its alpha stages, so don’t throw any crucial research into this build just yet.