PipeBook: UX Design Brief

July 9, 2022 § 1 Comment

A key design goal of PipeBook is to break away from the single-browser-window user experience of traditional data notebooks, to take full advantage of the large screens on today’s laptops and desktops.

The PipeBook Multi-Window User Experience (Live prototype, annotated)

Windows

In particular, a single PipeBook “document” consists of:

  1. The Pipe window, which can toggle between two views of the FRIDAAY data structure:
    1. “Source” (editable dictionary)
    2. “Object” (compiled list)
  2. One or more Frame windows (one for each single data frame or table)
    1. The main “data” pane displays (by default) the first N and last M rows
      1. N and M can be configured by the user
      2. The user can also ask to see “all” the data (up to what the app can handle)
      3. Clicking on a column re-sorts its (ascending or descending)
    2. The secondary “metadata” pane displays summary statistics of the entire table (e.g., dimensions) or selected column (e.g., unique values, by count)
    3. The metadata pane may be more useful as an independent Inspector, but that might result in too much clutter. Perhaps eventually allow tear-off (pop-out)?
  3. Optional Plot windows displaying results from one or more Frames

Execution

Importantly, PipeBooks are designed for interactive, iterative execution. Users can step through individual actions, or run complete pipelines — locally or remotely. PipeBook will automatically mark Frames as ‘dirty’ when their antecedents have been (or are being) modified or rerun. Memory permitting, PipeBook will keep try to keep older results around until a save or ‘purge’ event.

Editing

The Pipe window is intended to be fully editable, e.g. adding, removing, and editing individual fields and entire actions. Ideally these changes will be store in git, or perhaps as transformations for a JSON-like CRDT.

Implementation

PipeBook is implemented in Python using the Toga widget library, because the goal is to provide a native-like experience. In particular, we will be using the Tree view to represent our YAML data structures.

Tagged: , , ,

§ One Response to PipeBook: UX Design Brief

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

What’s this?

You are currently reading PipeBook: UX Design Brief at iHack, therefore iBlog.

meta

%d bloggers like this: