Freeplane-Jumper icon indicating copy to clipboard operation
Freeplane-Jumper copied to clipboard

Interactions with the list of the results

Open lilive opened this issue 2 years ago • 10 comments

Due to this feature request and this discussion, I'm considering to change the interactions with the results list. Can you tell me what do you think about this proposal ?

Goals:

  • New possibility to select many items in the result list. So Jumper may help to select nodes in a map.
  • Allow the user to click an item to show it in the map without closing Jumper.

How to achieve these goals:

Keyboard interaction with the result list

  • Up/Down arrow focus a result, and center the map view around it.
  • Ctrl/Cmd + Space select/unselect a result
  • Shift + Up/Down selected the focused result, focus the previous/next result, select it, and center the map view around it.
  • Enter jump to the focused result. If there is some selected results, they are all selected in the map.

Mouse interaction with the result list

  • Click a result focus it, and center the map view around it.
  • Ctrl/Cmd + Click select/unselect a result.
  • Shift + Click select all the results from the most recently selected to this one.
  • Double-click a result jump to it. If there is some selected results, they are all selected in the map.

Thank you

lilive avatar Feb 17 '23 19:02 lilive

Nice! It will be useful to me, because I always use undocked map views, which makes the quickfilter cumbersome to use. Using Jumper for that will make it more convenient.

Also, this will give more possibilities for the companion scripts.

Brainstorming some ideas:

-Mnemonics: a loosely related suggestion, that could help with the selection work: adding mnemonics to the results list. I mean: if the user presses Alt, a list of numbers or letters appears besides each item of the list; so he can then press the corresponding number to hit the result. I miss it, because, sometimes, my desired result is in the middle of the list, so I need to go all over the results (or use the mouse, which is slow, too). Having 0 to 9 and then "a" to "z" would cover all the results.

-Persistent Search: a more advanced feature, but that would make Jumper the ultimate node selection tool: another way to select the results (besides the usual way), so they keep selected even when the search terms change. For example: the user searches for "Linux", then he uses this "persistent selection" on some results; then, without leaving Jumper, he searches for "Windows", then chooses more results; in the end, he will have a list with all the results selected in that Jumper session. The results wouldn't be saved for the next session. To make it more intuitive, there could be a small column with checkboxes, and checking it makes the persistent selection. The persistent results would then be added to a separate list at the bottom of the results list.


I won't be able to comment for the next couple of weeks (I need to focus on an important project), but I'm eager to see the improvements in Jumper.

euu2021 avatar Feb 17 '23 22:02 euu2021

-Mnemonics: a loosely related suggestion, that could help with the selection work: adding mnemonics to the results list. I mean: if the user presses Alt, a list of numbers or letters appears besides each item of the list; so he can then press the corresponding number to hit the result. I miss it, because, sometimes, my desired result is in the middle of the list, so I need to go all over the results (or use the mouse, which is slow, too). Having 0 to 9 and then "a" to "z" would cover all the results.

Good idea. But Alt 1-2-3-4-5-6-7 are already assigned to the "Where to search" options. Perhaps with Ctrl ?

lilive avatar Feb 17 '23 23:02 lilive

-Persistent Search: a more advanced feature, but that would make Jumper the ultimate node selection tool: another way to select the results (besides the usual way), so they keep selected even when the search terms change. For example: the user searches for "Linux", then he uses this "persistent selection" on some results; then, without leaving Jumper, he searches for "Windows", then chooses more results; in the end, he will have a list with all the results selected in that Jumper session.

Do you think you will need/use such a feature frequently ?

lilive avatar Feb 17 '23 23:02 lilive

I won't be able to comment for the next couple of weeks

Thank you for telling me.

lilive avatar Feb 18 '23 09:02 lilive

Hi @lilive, Hi @euu2021

This discussion is exciting. For my part, I agree with the proposals mentioned by @euu2021 and especially with the persistent search because it would have the advantage of being faster and more flexible in the application of filters when different terms are often searched.

Also, the idea of being able to make connections directly from Jumper would be wonderful and would usefully complement to Mapinsight. But there are several types of links (connectors, links by ID, clone, etc) maybe it's a lot of work 🤔

The other interaction with the result list that I would find useful would be to allow copying the results and in particular the IDs (or even path+ID) to make cross-references in other software.

bepolymathe avatar Feb 18 '23 12:02 bepolymathe

To help you define dev priorities, according to me +1 on:

  • Focus a result can center the map view around it (the node), 2 ways to perform this
    • Keyboard: use Up/Down arrow to navigate between Jumper result lines to focus
    • Mouse: user can click on a Jumper result line to focus.

Pressing enter when a line is focused (Keyboard trigger) or pressing Ctrl/Cmd + mouse click (Mouse trigger) on a result line => jumps in the map with node centered and closes Jumper Dialog.

ldmpub avatar Feb 18 '23 22:02 ldmpub

-Persistent Search: a more advanced feature, but that would make Jumper the ultimate node selection tool: another way to select the results (besides the usual way), so they keep selected even when the search terms change. For example: the user searches for "Linux", then he uses this "persistent selection" on some results; then, without leaving Jumper, he searches for "Windows", then chooses more results; in the end, he will have a list with all the results selected in that Jumper session.

Do you think you will need/use such a feature frequently ?

I think this will be rather useful because Jumper uses live search results. So, let's say I'm interested in selecting some nodes that include the word "milkshake":

  • I type milk and see some good results, so I start selecting
  • But, I notice that there are a lot of unrelated results, and think "I should have typed milkshake, but, if I complete the search entry now, I will lose the results that I already selected"
  • I bite the bullet and type "milkshake"
  • I redo the selection work, but then I notice another problem: in the previous selection, I selected some nodes with the word "milk-shake", which are not appearing now...

What I mean is that, in the live results search, the user tends to improve the search little by little, instead of preplaning the best search criteria.

euu2021 avatar Mar 15 '23 16:03 euu2021

Do you think you will need/use such a feature frequently ?

Now, answering this question more directly: I don't know.

I already tried using workflows that rely on making lots of connections around the map, but it never worked. Perhaps, it doesn't work because there is no convenient way of connecting nodes in a big map? I don't know.

Anyway, please don't bother with this feature if it is too difficult to implement.

euu2021 avatar Mar 15 '23 18:03 euu2021

Hello, This quick message to give you some news : I have worked on Jumper from time to time, in rare occasions, and the selection of multiple results is almost ready, but not enough to be released.

lilive avatar Jul 21 '23 10:07 lilive

Nice! I use the Teleporter script (which relies on Jumper as a gateway) all the time, and I think those changes in Jumper will allow more scripts like this, giving more flow to the FreePlane UX.

euu2021 avatar Jul 21 '23 19:07 euu2021