New Plugin: Note Link Graph UI

I signed up to this forum just to say how great of a plugin this is. Thank you so very much!

Hi there,
I'm new on this forum and with Joplin so please bear with me :sweat_smile:

I installed the Graph UI plugin, but I am unable to 'see' the graph ui.
And I don't see any buttons of references (apart from the installed
plugin section) in the menu items or setting to this particular function.

Is this because of the recent 'deprecated APIs' or am I doing something horribly wrong?

Thank you for your time!

Yes, this broke because of the recent deprecated APIs change. I missed that announcement in the forums. A new version of the plugin (v1.0.1) should be published very soon.

At least I know now that I didn't do anything wrong.
I'll look forward to the next update.

Thank for the fast reply!
(just updated, works perfect :slight_smile: )

Yes, as you said. Thanks for you response. Feeling glad and happy. The update works cool. I understand what you said, I shared the response (New Plugin: Note Link Graph UI - #60 by Dharrun) so that if I had to work on more information distancing the nodes may make us a bit difficult while viewing, increasing time on viewing it. But the new version 1.0.1 has became more simpler and smarter. Therefore no issues, I'm satisfied. You did a super job :ok_hand::pray::+1:. Thank you so much.

I discovered the great Joplin not so long ago and I was about to implement my own graph plugin when I found out you had a similar idea already. Awesome work @treymo!
I have been dabbing in the code and I have sent you a pull request that tidies up some of the low-level aspects such as the communication between the plugin and the ui and the way the ui script is loading.
The functionality is unchanged, but I removed all the timers to make the plugin more responsive and less resource intensive. The changes will later make it easier to push small model updates rather than doing full refreshes so the plugin can scale to larger graphs. Hope this helps!

If a pop-out version is not possible, is it possible to put the graph in a dedicated tab that could be bigger than in the actual configuration? The joplin-favorites plugins (joplin-favorites/README.md at master · benji300/joplin-favorites · GitHub) seems to do something similar to this for selected notes.
Is there already a way to increase the size dedicated to the graph?

You can drag the divider between the Graph display and the rest of the UI to increase the size, I'm not sure if this answers your question though.

I took a look at the Favorites plugin (I use it too), and I don't think it has its own dedicated UI space besides the tabs itself unless I am missing something. Clicking the favorites tab just changes the active Note, but I don't think it creates a new section of the Joplin UI.

Yes, I know this possibility. It is not very practical. If we could save two different size configuration with a toggle key. This could improve drastically usability.

I updated to the new version of the plugin and sometime, randomly,the graph refresh without any action from me. I was looking at some link between notes and boum, all is refreshed and everything moves. I use the most recent version of Joplin (2.4.9) and the most recent version of the plugin. I'm on Windows 10.

Ah, It may be because the graph redraws when syncing finishes. I’ll try to address that tomorrow. Previously it only redrew the graph if the sync changed the data

Hey, I just published a release (v1.1.1) that should fix the frequent redraw issue. Let me know if you still have issues after that update is available in Joplin

This is surely one of the best plugins, thank you @treymo !

Two ideas to improve overview in case of multiple connections:

  1. Show arrows in the graph / make it directed
  2. Assign different colors to edges depending on their distance to selected node

(1) will let you know, which node contains the link. For (2), it would be cool, if separate colors can be chosen for edges of direct neighbor node (distance 1), edges with distance 2, and so on.

Hi @xavaa

It seems to me that there is not necessarily a need at this point because the links generated are always A --» B. The B --» A links are actually backlinks that are generated elsewhere by another plugin. So I use both in parallel.

This is a good idea but it seems to me that if you go beyond 3 levels it will quickly become unreadable. A cluster display beyond 3 levels would be ideal but surely complicated to implement.

On all the functionalities related to the graph there are plenty of good ideas to recover from obsidian.

I'm hoping to add a UI right on the graph panel that lets people customize the display a lot more, I'll keep these options in mind for that.

About the different colors for different distances: My current thinking is that it would be best to modify the graph layout so the more closely connected items are actually closer instead of across the graph. For example, I was thinking of a layout more like one of these: cytoscape-spread.js demo.

Right now, sometime related notes are further away from the current note than unconnected notes, which is no good.

Hi @treymo

Great! Can't wait.

It seems to me that it would be good indeed in a logic of exploration of the map.

That's why it seems to me that three levels of links are enough. I would be curious to know how links with more than three levels are used :thinking:

Yes, up to three levels would be perfectly fine (first level already has bold white)

Yeah, also noticed that. With many notes, it has the potential to degenerate to spaghetti. If improvements are feasible with the current graph rendering algorithm, it would help greatly!

Totally agree. It's definitely possible, I just need to find the time.

After having thought about the idea to introduce arrows for directed graphs and @bepolymathe 's hint of Backlinks plugin:

Would it be a big effort to display backlinks in note graphs as well?
So given A -- links to --> B, when I select note B, the connection is still shown.

From my point of view it is not the same philosophy. A link is a voluntary connection to a complementary note or resource. A backlink is a reminder of the origin (the path) that led to the note/todo that we are consulting. In use, I think it's good that the two are separated. But maybe there are other uses I didn't think of.