An introduction to Iodide and Pyodide: tools for doing data science entirely in the web browser.
We will present a case study of how rearchitecting our data science tools to move computation into the web browser has improved collaboration among data scientists at Mozilla, and in the broader open source community.
Computational notebooks based on the traditional client/server model (such as Jupyter, Zeppelin, etc.) require specialized IT resources to deploy, which makes it harder for data scientists to replicate and reuse each others’ work, whether on the open web or behind a corporate firewall. The Iodide project provides a development environment where computation happens entirely in the web browser, making sharing as simple as posting content to a website.
The project has 3 components:
A frontend for notebook-like experimentation and the publishing of interactive reports and dashboards. While this began in the model of a traditional computational notebook, it has since grown some significant user experience improvements beyond that. Since all computation happens in the browser, the wide selection of browser-side visualization and UI libraries are available to the data scientist in a natural way.
A server for collaboration and interoperability. Importantly, the server doesn’t provide computation kernels. It is only tasked with collaboration (sharing, forking and commenting on notebooks) and data access (accessing data from remote sources, through database queries or tools like Dat).