Brought to you by NumFOCUS Foundation and O’Reilly Media
The official Jupyter Conference
Aug 21-22, 2018: Training
Aug 22-24, 2018: Tutorials & Conference
New York, NY

The Design of a Commenting and Annotation System for JupyterLab

Moderated by: Rose Chang

We are a team of UI/UX Design Interns at Project Jupyter, who are undergraduates from California Polytechnic State University, San Luis Obispo. We designed a commenting and annotation system for JupyterLab. JupyterLab is an interactive development environment that provides a platform for Jupyter notebooks, documents, and related activities. The JupyterLab team is currently adding real-time collaboration features, which will enable multiple users to view and edit documents at the same time. In the context of real-time collaboration, a commenting and annotation system becomes important to enable effective remote collaboration and contextual decision making. This system allows users to collaborate on and discuss specific document parts from different locations.

We examined existing commenting and annotation systems and explored what confused the user on these platforms in order to inform our decisions. W3C’s Web Annotation Working Group helped us build a conceptual model and vocabulary. While many interfaces have consistent elements there is no pervasive interface model and none that meet the specific needs of JupyterLab users.

In a future update of JupyterLab, users will be able to view past document states. We formed rules for how that history system relates to the commenting system and how users can interact with them together. Components from existing commenting systems that worked well acted as a starting point in our creation.

We iterated our design based on thoughtfully scoped user tests. By focusing on the fundamental building blocks, we created a simple design that improved on pain points of existing commenting and annotation interfaces. With our design, developers will be able to create a commenting system for Jupyter. It allows for various actions, such as resolving and reopening comment threads. It can be used not only with notebook and text documents, but also with data sets, visualizations, and other complex documents.

In this poster we will demonstrate our design process and show our final design. New additions to the system will also be discussed. This commenting system is currently under development, look for it to be available in 2019.