A simple and flexible method to create notebook-ready visual analytics tools!
"NOVA: A Practical Method for Creating Notebook-Ready Visual Analytics" |
NOVA is a simple and flexible method to adapt existing web-based visual analytics (VA) tools to support computational notebooks. Web apps are a popular medium for developing interactive visualization systems that users can access in their web browsers. NOVA converts web apps developed with diverse web technologies, such as programming languages and frameworks, to notebook widgets that end-users can easily install and use in different notebook environments.
There are three simple steps to apply NOVA:
- Convert the VA tool into a single HTML file
- Design Python wrapper API
- Publish the VA widget in a software repository
The implementation details of each step vary depending on the VA tool's development stack. We provide three detailed examples with a toy VA tool to demonstrate how to apply NOVA on VA systems developed with diverse web technologies.
You can navigate to the folders below and read their individual README.md
files for implementation details.
Example | Web Development Stack | Bundler | Comment |
---|---|---|---|
svelte-ts |
Svelte + SCSS + TypeScript | Vite | It also explains how to set up a demo page |
react-js |
React | Webpack | |
vanilla-js |
HTML + CSS + JavaScript | Rollup |
For a live web demo of this toy VA tool, visit: https://poloclub.github.io/nova
You can also directly try out the notebook widget in your favorite computational notebooks (e.g. Jupyter Notebook/Lab, Google Colab, and VS Code Notebook).
Check out three live notebook demos below.
Jupyter Lite | Binder | Google Colab |
---|---|---|
If your open-source VA tool also applies NOVA to create notebook widgets, please submit a pull request to add your tool on top of this table :)
Name | Description |
---|---|
Visual Auditor | Interactive visualization system for identifying and understanding biases in machine learning models. |
TimberTrek | Visual analytics tool to help data scientists curate decision trees that align with their knowledge and values. |
GAM Changer | Interactive visualization tool to help domain experts and data scientist easily and responsibly edit Generalized Additive Models (GAMs) |
NOVA is created by Jay Wang, David Munechika, Seongmin Lee, and Polo Chau.
@article{wangNOVAPracticalMethod2022,
title = {{{NOVA}}: {{A Practical Method}} for {{Creating Notebook-Ready Visual Analytics}}},
shorttitle = {{{NOVA}}},
author = {Wang, Zijie J. and Munechika, David and Lee, Seongmin and Chau, Duen Horng},
year = {2022},
month = may,
journal = {arXiv:2205.03963 [cs]},
archiveprefix = {arXiv}
}
The code is available under the MIT License.
If you have any questions, feel free to open an issue or contact Jay Wang.