Iodide es una nueva herramienta desarrollada por Mozilla. Los desarrolladores dicen que esta idea toma un nuevo enfoque a los entornos del tipo IDE que, por ejemplo, muestran los documentos en formato pdf. Esta representación está divorciada del código original. Igualmente, es diferente a los cuadernos de notas que funcionan con celdas, donde se mezcla código y los elementos de la presentación. En Iodide, se puede tener un documento que se ve como el autor quiere que se vea, y que tenga un acceso simple al código y al entorno de edición.
La audiencia objetivo de esta herramienta son los científicos de datos, quienes necesitan comunicar sus hallazgos y responder preguntas usando algún tipo de reportes: un documento, algunas gráficas, o tal vez, una visualización interactiva de datos. Actualmente, los científicos de datos en Mozilla usan herramientas como Jupyter o R Studio, pero dicen que usualmente no pueden mandar un cuaderno Jupyter o un script R a quien toma las decisiones, de manera que terminan siempre copiando las figuras clave y los resúmenes estadísticos a un documento de Google. Esto significa que si el destinatario quiere ver el código detrás del reporte, no lo encontrará, lo que implica que no puede experimentar y extender el código.
Iodide busca pues resolver el problema de tener un “reporte” que es básicamente una página web, que puede llenarse con el contenido, así como algunas herramientas para explorar los datos interactivamente y modificar los reportes para crear algo que sea fácil de compartir. Una vez que se tiene todo esto, se puede mandar un enlace directamente al reporte final. Si colegas y colaboradores quieren revisar el código y aprender de él, se puede poner el reporte en modo de exploración con un solo click.
La herramienta contiene una forma para explorar la información a través de paneles que incluyen un editor para escribir código, una consola para ver la salida del código (los resultados) para ser evaluados, un visor del espacio de trabajo para examinar las variables que han sido creadas durante la sesión y una vista previa del reporte en donde puede observarse cómo quedará.
Los documentos de Iodide se ven en el navegador, mientras que los motores de cálculo de datos siempre están disponibles. Cuando uno comparte su trabajo, se comparte un reporte interactivo que corre el código. Para soportar el flujo de trabajo de los colaboradores, los desarrolladores han construido un servidor simple para guardar y compartir los cuadernos de notas.
El navegador viene con Pyodide, un stack de ciencia en Python, Numpy Pandas y Matplotlib, junto con Scipu, scikit-learn, así como otras bibliotecas del lenguaje Python. Los desarrolladores dicen que correr el intérprete de Python bajo una máquina virtual de Javascript añade una penalización en el desempeño, pero ésta es sorprendentemente muy pequeña. En pruebas específicas se halló que es de 1 a 12 veces más lento que el Firefox nativo y de 1 a 16 veces más lento en Chrome.
Iodide está en versión alpha, pero se espera que pronto se libere una versión oficial, apoyada por la gran comunidad científica que trabaja con datos. Hay una demostración para probar la herramienta de manera que pueda retroalimentar con sus opiniones a los desarrolladores.