Caleydo/caleydo.github.io

Guidance on CLUE Tutorial

Closed this issue · 4 comments

I could use some help thinking about CLUE, and the CLUE tutorial. My sense is that we could break it into a first part about the provenance graph, and a second part about CLUE proper, which is a visualization of the provenance graph? To begin somewhere, is this a plausible start: https://github.com/Caleydo/caleydo.github.io/compare/mccalluc/maybe-a-clue-tutorial?expand=1 ... or should end-users be operating at a higher level? Maybe CLUE provides wrappers around all of this?

Do you have any pictures that would help me think about the graph? how do ActionNode/StateNode/SlideNode relate to each other? and how to they relate to Paths?

How should I think about edges? My sense is that they are directed and otherwise unlabelled... but is there a relationship between edges and paths?

How should I think about state? Should I think of it as encapsulating DOM, or JSON data structures, or something else?

Other documentation you would point me to outside the code?

(If you see this Monday and had some time to talk about it during the call, that'd be great.)

The elements and relationships in the provenance graph are described in the CLUE paper:
http://www.caleydo.org/publications/2016_eurovis_clue/

Thanks: I've read the paper and more of the code, but I feel that I'm still a long way from being able to make a CLUE application with the web_bundle.

Should it even be possible to make a CLUE application with just the web_bundle? Has it been done before? The example applications do not have bundled dependencies. I know that some things are missing: LayoutedProvVis.prototype.build and VerticalStoryVis.prototype.build in provvis.js and storyvis.js provide parts of the UI, but are not in https://s3.amazonaws.com/caleydo-releases/latest/caleydo.js.

  • Should these be added to the web bundle?
  • Or should they be required separately?
  • Or maybe different applications might visualize the story and the provenance differently?

I could also use help thinking about the structure of a tutorial: Does it make sense to construct a provenance graph or a story graph by hand, or are those really internal methods that a developer wouldn't touch directly?

Does it make sense / is it possible to make a CLUE application without the backend? Particularly for the tutorial, I would like it to be able to run just on the client... but even for applications here that are under development, their backend is already is place, and hopefully a serialization of the state can be created and reloaded, and the details of storage might vary between applications?

I'm sorry that this is amorphous.

Yes, it should definitely be possible to use the prov graph without the whole CLUE views (green interface parts in Gapminder and StratomeX vistories).
The current limitation is that our caleydo visualizations are not CLUEified, meaning that they don't push events/actions into the provenance graph. Gapminder or also StratomeX can be seen templates of how to CLUEify other components.

I think a good start would be to show a provenance graph as a force-directed layout (which exists already) - which is empty at the beginning. Then we could demonstrate how to programmatically push some dummy actions into the provenance graph, which would show up in the graph vis. As a next step we could demonstrate how an existing visualization can push its action into the provenance graph (i.e., if the user selects an item in the heatmap). However, someone would first need to CLUEify our heatmap implementation (see above).

@thinkh or @sgratzl need to answer the technical and more detailed questions.

Going to close because: