ilastik / ilastik4ij

ImageJ plugins to run ilastik workflows
MIT License
22 stars 17 forks source link

improve fiji search bar result #61

Open k-dominik opened 4 years ago

k-dominik commented 4 years ago

right now users have to know the term "Pixel Classification" to get to this command via the search. Putting in "ilastik" and then getting all the possible commands would be nice.

Without breaking backwards compatibility of course.

imagejan commented 4 years ago

That is: the search should also display commands where only the menu name matches (maybe with lower priority than direct matches), right?

Looks like an issue for https://github.com/scijava/scijava-search/issues, maybe @haesleinhuepf has a quick idea how to solve it.

haesleinhuepf commented 4 years ago

Hey all,

yes, unfortunately the Fiji search only searches in the menu name, not in parent menus. That's why I'm used to write long menu entries so that many search item hit. Short term solution:

Long term solution:

Cheers, Robert

k-dominik commented 4 years ago

Hey @imagejan and @haesleinhuepf,

thank you very much for your replies. Your workaround, Robert, sounds like a sound solution to our problem. When you say you tend to add very long entries to your menus, do people complain when using macros about those long names? Or is everyone copy-pasting the macro-recorder output anyway?

But as you mention tags would feel more natural, or any kind of other hidden annotation that would only be visible in the search bar.

would you guys mind if I open an issue about it with https://github.com/scijava/scijava-search/issues ?

Cheers and thanks again :)

Dominik

haesleinhuepf commented 4 years ago

When you say you tend to add very long entries to your menus, do people complain when using macros about those long names? Or is everyone copy-pasting the macro-recorder output anyway?

Very interesting question. I was engineering user experience here as well by using macro extensions. After clicking the menu "Add image and scalar on GPU", this gets recorded:

run("CLIJ2 Macro Extensions", "cl_device=[gfx902]");

// add image and scalar
image5 = "Untitled";
Ext.CLIJ2_push(image5);
image6 = "add_image_and_scalar-249372081";
scalar = 1.0;
Ext.CLIJ2_addImageAndScalar(image5, image6, scalar);
Ext.CLIJ2_pull(image6);

At the beginning people are a bit shocked but they quickly get used to it, because it's actually easier to read than all parameters combined as a string with[] and= in between.

I'd say Macro-Extensions don't make much sense when you have a single individual plugin. However, if you plan to offer more functionality to ilastik4ij users, it might be a way to go. They are not very popular among developers because you handle your parameters as an Object[] array. But users love it. Again, because it's not a string with operations inside. Oh and, auto-completion makes sense than as well - especially as it bring documentation to the users eye and also a link to the developers website, for example.

I wrote a blog-post about how build Macro-Extensions for your plugins. The recording-part is missing yet. If you go down that road, I'll write that part for you and for the public ;-) https://haesleinhuepf.github.io/extend-macro-autocompletion

would you guys mind if I open an issue about it with https://github.com/scijava/scijava-search/issues ?

Great idea! Go ahead :-)

Thanks!

Cheers, Robert

k-dominik commented 3 years ago

has this been silently, sneakily improved? I now get everything I want to see when typing in "ilastik":

search

in any case, this issue can be closed with that kind of behavior...