CenterForDigitalHumanities / SpectralRTI_Toolkit

Process Spectral RTI Images in ImageJ
GNU General Public License v3.0
1 stars 0 forks source link

Put as much user interaction at the beginning as possible #36

Closed thanneken closed 5 years ago

thanneken commented 6 years ago

The performance question becomes more serious if the user has to babysit the process the whole time, and relatively tolerable if the processing time means going for a bathroom break.

This is a general design principle in the macro mostly carried into the plugin. The exception that I noticed today is that it asked me to locate kdu_compress after it had created all the jpegs for Ac. That particular example might go away if the static raking jp2 are generated along with the jpeg, but the general principle stands as worthy of keeping in mind.

Similarly, the macro implemented a system beep to tell the user that processing completed. This aids greatly in the principle of "do something else" while it is running without constantly checking if it is done.

thehabes commented 6 years ago

The beep is in there via IJ.beep(); at the end of the plugin. If it is not beeping, then the ImageJ class beep() call is not working. I can implement a different beep to get around ImageJ, I am sure Java has a native way to make the System beep.

Any prompt for a directory or file location can happen at the beginning, we can move them all to the beginning if that is desired.

These prompts do not happen if you fill out the form at the beginning entitled "Consult Preferences". If it has the locations in the prefs file or you fill it out yourself (those textareas are editable), you can override all those particular prompts. Maybe there is a better way to use that prompt at the beginning that forces the user to provide all of that information before the plugin will run.

I say that because something I noticed is that if you have JP2 Compressor : C:/Program Files (x86)/Kakadu/kdu_compress.exe, but yours is in C:/Program Files/Kakadu/kdu_compress.exe, the plugin will quit when it goes to call it. We could default to prompting for the location until the user provides a good one and only quit the plugin when the user hits cancel in these spots, or force them to provide all good ones at the beginning via "Consult Preferences". When Donal and I talk about UI/UX, I will be visiting these kinds of things.

Domhnall101 commented 6 years ago

This connects to ticket #54 We should ask firstly what the user wants to needs then ask them to supply all the required things before running the app. Asking for materials during process is problematic. It is good to have the checks present as the object needed moves/disappears user messes with.

thehabes commented 5 years ago

Thanks for the feedback everyone, we have settled on our UI.