Mozilla’s Open Source Browser Tool Iodide Can Be A Gamechanger For Data Scientists

Source: Mozilla

The last couple of years or so has witnessed the emergence of newer platforms for implementing Data Science projects. But the developers at Mozilla feel that these platforms couldn’t funnel in the potential of modern day browsers.

To increase the ease of use and the way Data Analysis is done and communicated across the data science community, Mozilla launched a browser based platform Iodide for data science experiments.

Iodide is a tool for data science experimentation and communication based on state-of-the-art web technologies. Notably, it’s designed to perform data science computation within the browser rather than on a remote kernel.


Sign up for your weekly dose of what's up in emerging technology.

Iodide allows the users to do data science entirely in the browser.

Iodide is designed to make Web-based scientific communication and computation more accessible to scientists by bringing them a low friction iterative workflow in a familiar environment influenced by tools such as Jupyter, R-Studio, and the MATLAB IDE.

The Objective Behind Iodide

The data science team at Mozilla wanted to answer questions and not to create new software. They wanted to eliminate the hassles a data scientist comes across while skimming through the report of other data scientists. For instance, tracking code behind the report or if they want to extend the code based on which the results have been documented requires identical configuration on the machines. To begin with, the team at Mozilla lists down few objectives behind Iodide:

  • To make the advantages of web tech available to scientists without requiring them to become fully fledged web devs.
  • Users should be able to get up and running immediately and be able to start doing real work entirely within the browser.
  • Allowing the notebook to work with other clients and/or server-side programs/components/tools (e.g. external editors, external compute kernels (other languages or big data thingies)) might be something cool to work on down the road, but is not an objective at the moment.
  • Addons to do things that the browser restricts or can’t do for some reason.
  • Avoid magic APIs users should (within reason) not have to learn about a ton of idiosyncrasies of the notebook to get up and running.
  • Users need to be able to pull examples from or JSfiddle or Stackoverflow and have them run in the notebook without modification (within reason).
Source: Mozilla

Going Mainstream With Pyodide

The language in the browser, JavaScript, doesn’t have a mature suite of data science libraries, and it’s missing a number of features that are useful for numerical computing.. So the developers at Mozilla are working towards changing that and moving the JavaScript data science ecosystem forward.

Pyodide is an experimental project from Mozilla to create a full Python data science stack that runs entirely in the browser.

Requirements to download Pyodide to browser:

  • The compiled Python interpreter as WebAssembly.
  • A bunch of JavaScript provided by emscripten that provides the system emulation.
  • A packaged file system containing all the files the Python interpreter will need, most notably the Python standard library.

Pyodide fetches the NumPy library (and all of its dependencies) and loads them into the browser.  Again, these files only need to be downloaded once, and are stored in the browser’s cache from then on.

One of the advantages of doing the data science computation in the browser rather than in a remote kernel, as Jupyter does, is that interactive visualizations don’t have to communicate over a network to reprocess and redisplay their data.  This greatly reduces the latency — the round trip time it takes from the time the user moves their mouse to the time an updated plot is displayed to the screen.

So Iodide basically,

  • simplifies a number of the elements of workflow friction
  • simplifies sharing as the write-up and the code are available at the same URL rather than, say, pasting a link to a script in the footnotes of a Google Doc.
  • simplifies collaboration as the compute kernel is the browser and libraries can be loaded via an HTTP request like any webpage loads script — no additional languages, libraries, or tools need to be installed.

“Once you’re ready, you can send a link directly to your finalised report. If your colleagues and collaborators want to review your code and learn from it, they can drop back to an exploration mode in one click. If they want to experiment with the code and use it as the basis of their own work, with one more click they can fork it and start working on their own version,” explained one of the developers in their blog on Iodide.

However, there’s still lots to do to turn this experimental proof-of-concept into a professional tool for everyday data science work.

Know more about Iodide here


More Great AIM Stories

Ram Sagar
I have a master's degree in Robotics and I write about machine learning advancements.

Our Upcoming Events

Conference, in-person (Bangalore)
Machine Learning Developers Summit (MLDS) 2023
19-20th Jan, 2023

Conference, in-person (Bangalore)
Rising 2023 | Women in Tech Conference
16-17th Mar, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
27-28th Apr, 2023

Conference, in-person (Bangalore)
MachineCon 2023
23rd Jun, 2023

Conference, in-person (Bangalore)
Cypher 2023
20-22nd Sep, 2023

3 Ways to Join our Community

Whatsapp group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our newsletter

Get the latest updates from AIM