论文标题
一种新颖的Jupyterlab用户体验,用于交互式数据可视化
A Novel JupyterLab User Experience for Interactive Data Visualization
论文作者
论文摘要
在Jupyter生态系统中,通常使用作为笔记本电池输出创建的“小部件”来完成数据可视化。尽管这种机制在某些情况下效果很好,但它不太适合呈现长寿,互动且视觉上丰富的接口。与传统的Jupyter笔记本电脑系统不同,较新的Jupyterlab应用程序提供了一个复杂的扩展基础架构,可提高新的设计可能性。在这里,我们为Jupyterlab中的交互式数据可视化提供了一种新颖的用户体验(UX),该数据基于与用户笔记本并非绑定的小部件一起运行的“应用程序”。我们已经为AAS Worldwide望远镜(WWT)可视化工具实现了此UX。 Jupyterlab的消息传递API允许该应用程序与多个计算内核平滑交换数据,从而使用户可以完成使用Widget Framework无法使用的任务。一个新的Jupyter服务器扩展名使前端可以通过HTTP从异步向内核请求数据,从而可以在WWT中对Gigapixel-Scale-Scale Imagery进行交互式探索。尽管我们已经为WWT开发了此UX,但总体设计和服务器扩展程序可移植到其他应用程序,并且有可能解锁“科学平台”接口中目前不可能的各种新用户活动。
In the Jupyter ecosystem, data visualization is usually done with "widgets" created as notebook cell outputs. While this mechanism works well in some circumstances, it is not well-suited to presenting interfaces that are long-lived, interactive, and visually rich. Unlike the traditional Jupyter notebook system, the newer JupyterLab application provides a sophisticated extension infrastructure that raises new design possibilities. Here we present a novel user experience (UX) for interactive data visualization in JupyterLab that is based on an "app" that runs alongside the user's notebooks, rather than widgets that are bound inside them. We have implemented this UX for the AAS WorldWide Telescope (WWT) visualization tool. JupyterLab's messaging APIs allow the app to smoothly exchange data with multiple computational kernels, allowing users to accomplish tasks that are not possible using the widget framework. A new Jupyter server extension allows the frontend to request data from kernels asynchronously over HTTP, enabling interactive exploration of gigapixel-scale imagery in WWT. While we have developed this UX for WWT, the overall design and the server extension are portable to other applications and have the potential to unlock a variety of new user activities that aren't currently possible in "science platform" interfaces.