TW5-TiddlyMap icon indicating copy to clipboard operation
TW5-TiddlyMap copied to clipboard

Make Live View show nodes related not just to the current tiddler

Open damscal opened this issue 4 years ago • 6 comments

Thanks for this great piece of software. I've just started learning (TW in general). As far as I understand, Live View shows nodes starting from a central one which corresponds to the selected tiddler. Setting the neighbourhood distance to 1 step shows all nodes directly related to the central one. However I can imagine that the number of relations of one node in a real case scenario could easily go up to the hundreds or the thousands. Example: if I were to create a medical literature wiki, the number of all things directly related to, say, the liver, would be enormous and the Live View impractical to plot. Two simple ways (not alternative to each other) I could think of to solve this problem:

  • Make a modified Live View which shows nodes related not just to the current tiddler, but to all open and unfolded tiddlers
  • Create a search dialog to temporarily filter View elements on the fly (without having to create a new custom View each time)

Are these easily implementable?

damscal avatar Apr 17 '20 09:04 damscal

Hi @damscal

Thanks your suggestions :+1:

Make a modified Live View which shows nodes related not just to the current tiddler, but to all open and unfolded tiddlers

It may be possible that the "live view" traces the click path and everytime you click on a node, it will show neighbours of all nodes of the clickpath. There could be a reset button in the live view that resets the "traced path" so you can start a new "exploration". An additional idea would be that the rightclick context menu on the "live view" could feature an "fold/unfold" button that adds/removes a node as path step a tiddler without navigation.

I will try and check how feasible this idea is with the current architecture of TiddlyMap's live view, I think it is doable, however, I cannot say yet when I find the time for implementing this.

Create a search dialog to temporarily filter View elements on the fly (without having to create a new custom View each time)

This will be more difficult to achieve since it requires to calculate what is displayed in the map on two levels. So I would say this is currently not feasible.

felixhayashi avatar Apr 27 '20 13:04 felixhayashi

Somewhat related to https://github.com/felixhayashi/TW5-TiddlyMap/issues/202

felixhayashi avatar Apr 27 '20 13:04 felixhayashi

Hi @damscal please have a look if release v0.17.1 suits your needs.

it introduces the "tracing" functionality that allows you to temporarily add nodes to your graph by clicking on the neighbouring nodes.

Tracing can also be enabled for the "live view".

More information and videos here:

  • https://www.youtube.com/watch?v=hge3PGnJM_A
  • http://tiddlymap.org/#Tracing%20node%20clicks

felixhayashi avatar May 10 '20 16:05 felixhayashi

Hi @damscal please have a look if release v0.17.1 suits your needs.

it introduces the "tracing" functionality that allows you to temporarily add nodes to your graph by clicking on the neighbouring nodes.

Tracing can also be enabled for the "live view".

More information and videos here:

  • https://www.youtube.com/watch?v=hge3PGnJM_A
  • http://tiddlymap.org/#Tracing%20node%20clicks

Good work there, it is quite different from what I suggested (your solution feels like browsing while the one I suggested would be more like searching / filtering), but nice addition indeed.

The issue is that it does not solve the problem of scalability if for instance you have nodes with hundreds of edges each, because all of them would still be displayed, in this cases you would be forced not to use Live View as of now. So personally I'd keep this issue still open

damscal avatar May 10 '20 16:05 damscal

Hi @damscal

thanks for your response.

If you want a map to show all tiddlers that are opened in the story river you can create a view using the following node filter:

[list[$:/StoryList]]

The expression [list[$:/StoryList]] matches all tiddlers currently listed in the story view.

Example:

TiddlyMap org | Wiki-Based Concept-Mapping Software - Chromium_014


On the other hand with the new tracing functionality the idea was to be more "explorative" by showing all nodes you visit in the story river of TiddlyWiki or those nodes you visited/clicked on the map. So the more nodes you visit the larger your map becomes

Example (after visiting "Integration" and "TiddlyMap Toolbar Button" tiddlers):

Selection_010

(in the editor you select "live view" and then you activate all checkboxes in the trace menu then).


If the above does not suit your needs I will keep this ticket open but I cannot promise if/when it gets implemented.

felixhayashi avatar May 10 '20 16:05 felixhayashi

Let's say you need to map a social network, where each node is a person and edges are friendship relations Now, each node would have hundreds of edges so you would have to filter or aggregate neighbors somehow before displaying them The way I suggested it initially would be, if we had person A and person B as open tiddlers in the story list, it would be nice to have a way to display only the people (node neighbors) who are friends with both A and B. Or otherwise have some other more flexible tool to filter neighbors on the fly in live view. I guess this is not trivial to do, but you may keep it as an idea

damscal avatar May 10 '20 18:05 damscal