Direction Problem and Thoughts (for flow of thought)
These are my notes and how I worked through this. For the conclusion skip to below or read the clean implementation post
To define for the graph view we have the problem of arrows, of direction. If one entry has, for example, that Liquid | Flow was inspired by Doug Engelbart, it should ideally also have in the Doug Engelbart entry that he inspired Liquid | Flow.
When a node is in the centre of the view it should be able to link out to entries which are not listed in its WordPress entry, but in the other entries.
There are two ways to tackle this: The other entry could automatically have this new relationship appended but that would require semantic analysis to change ‘inspired’ to ‘inspired by’ or ‘works for’ to ‘is the boss of’ etc. Therefore I think the solution needs to be something where the user enters relationships in one node for both directions and then enters it in reverse for the other node. In this interface the user will enter ‘was developed by’ and then choose ‘Frode Hegland’ from the previous Glossary Entry popup:
glossary term for graph view. Hegland, 2019.
When the user clicks OK the dialog below is presented, asking the user to enter the reverse, which will then be appended to the other term’s WordPress entry:
reverse. Hegland, 2019.
This should then be able to support graph views. However, the problem in the graph view then is which version to choose? Incoming or outgoing? Maybe let the user choose based on the two options, by clicking on the arrow and have it reverse polarity and description?
By default the entry in the central node’s relationship will be used first.
As is shown in the previous image with the comments in italic, there are core issues to be dealt with. How can the user indicate that something is a part of something else?
‘Liquid | Flow is a part of The Liquid Information Environment’ is an easy way to put it but visually this is tricky since, as can be seen in the image above, ‘Frode Hegland’ is followed by ‘developed’ and that links to ‘Liquid | Flow’ and that reads well. To have ‘is part of’ is not elegant or grammatically good since the ‘is part of’ then needs to be on top/before ‘Liquid Information Environment’ and then it should be below ‘Liquid | Flow’ but logically it is the container so should be on top…
is part of. Hegland, 2019.
Liquid | Flow is a part of The Liquid Information Environment so this makes more sense visually. However, the connecting term ‘contains’ may work for some network diagrams but not for this:
contains. Hegland, 2019.
The problem is that both of these need to be correct: When ‘Liquid | Flow’ is the centre (here in bold on the left) and when ‘Liquid Information ‘ is the centre. Do we really need to have the user indicate both? MAYBE
both. Hegland, 2019.
Direction To Implement
I have decided the way forward has to be to use the intellect of the user. Therefore, this will be the first screen when adding a glossary term:
first part. Hegland, 2019.
Once the user chooses a Glossary Entry, additional request appears below, asking the user to add a further relationship with the same two terms, but the other way around. This additional relationship will be posted to the other term. Also, the little [+] only appears now, in case the user wants to add further relationships.
second part. Hegland, 2019.
This way the dynamic graph view can support showing both Liquid | Flow and Liquid Information in the centre:
flow in the centre. Hegland, 2019.
And once the user clicks on ‘Liquid Information’ it moves to the centre, showing relationships from its perspective:
liquid information in the centre. Hegland, 2019.
OK, that’s been a few days of thinking and Starbucks in Singapore and too much coffee and walking but this an approach I can live with. It takes some time for the user to create this but it is the user who is in control.