NOVA: A Practical Method for Creating Notebook-Ready Visual Analytics

crown jewel figure
NOVA allows visualization researchers and practitioners to quickly adapt existing web-based visual analytics tools to support computational notebooks. (A) 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 (B) notebook widgets that end-users can easily install and use in different notebook environments.
Abstract
How can we develop visual analytics (VA) tools that can be easily adopted? Visualization researchers have developed a large number of web-based VA tools to help data scientists in a wide range of tasks. However, adopting these standalone systems can be challenging, as they require data scientists to create new workflows to streamline the VA processes. Recent surveys suggest computational notebooks have been dominating data scientists' analytical workflows, as these notebooks seamlessly combine text, code, and visualization, allowing users to rapidly iterate code experiments. To help visualization researchers develop VA tools that can be easily integrated into existing data science workflows, we present NOVA, a simple and flexible method to adapt web-based VA systems for notebooks. We provide detailed examples of using this method with diverse web development technologies and different types of computational notebooks. Deployed application examples highlight that NOVA is easy to adopt, and data scientists appreciate in-notebook VA. NOVA is available at https://github.com/poloclub/nova.
Citation
NOVA: A Practical Method for Creating Notebook-Ready Visual Analytics
@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}
}