Login Sign up

sidestickies - Collaborative Annotation for Jupyter Notebook

yoshi NOBU Masatani

Audience level:
Intermediate

Brief Summary

sidestickies is a notebook extension that enables attaching sticky notes to each cell utilizing Scrapbox (https://scrapbox.io).

Outline

Background

Jupyter notebook's narrative stories efficiently share workflows and activities of researchers, educators, engineers, and other practitioners for reproducible computing. The Jupyter Notebooks are crucial tools for describing and capturing a series of related events, results, or the like as narratives, in ether prospective or retrospective cases. However, it is not sufficient enough because those narratives mainly focus on the subjects and stories within the notebook itself. We would like to have separate channels for meta-, side-, and reflective-communications, which are well-known use cases for sticky notes (a.k.a. Post-it notes).


What You Get - Overview of sidestickies

Overview

sidestickies is a notebook extension that enables attaching sticky notes to each cell utilizing Scrapbox [^1]. This presentation outlines the feature of the sidestickies extension and presents a demo.

About Internals

The extension nblineage [^2] assigns unique UUID to the cell, which is so-called meme. Then, sidestickies use this meme as a reference key and associate a cell to a page of Scrapbox, which is a powerful wiki.

The meme is a tracking ID stored in metadata of every notebook and every cell in it. The meme is handled as follows:

Because of meme's implementation, sidestickies' annotations propagate to copied notebooks and cells. This behavior is a unique and designed feature for collaborative annotation, where Notebooks are reused, modified, and circulated among team members.

Binder Demo

  1. https://mybinder.org/v2/gh/NII-cloud-operation/Jupyter-LC_docker/sc-demo
  2. Then open "EN02_Collaborative_Annotation.ipynb" and/or "JP03_Notebookを介したコミュニケーション.ipynb"
  3. Don't forget to on/off by clicking "bubbles" icon on toolbar

Note: sidestickies require Google account login to view sticky notes stored in Scrapbox.
Also, sidestickies require accounts of Scrapbox and writable Scrapbox's projects in order to store sticky notes.

[^1] https://scrapbox.io/features
[^2] https://github.com/NII-cloud-operation/Jupyter-LC_nblineage