InAnYan / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
0 stars 0 forks source link

Clean progress indication #115

Closed koppor closed 3 months ago

koppor commented 3 months ago

It is good UI practice to provide progress. German explanation: http://www.usabilitypatterns.info/catalog/patterns/fortschrittsanzeige.html

If one cannot report progress, one should output the expected waiting time. Having a timeout in place, one can use a timer to report progress. Example: timeout 60 seconds, then 60 seconds is 100% and each 6 seconds the progress can be increased by 6/60 = 10%.

InAnYan commented 3 months ago

This issue is related to:

InAnYan commented 3 months ago

Should I remove text under the progress bars, or replace it with waiting time?

koppor commented 3 months ago

Should I remove text under the progress bars, or replace it with waiting time?

Remove it. - I assume that you cannot estimate the waiting time? (Related work: this progress bar for CLI is nice: https://github.com/ctongfei/progressbar?tab=readme-ov-file#progressbar - however, I did not see anything similar for JavaFX)

InAnYan commented 3 months ago

Check out the https://github.com/InAnYan/jabref/issues/105

InAnYan commented 3 months ago

The algorithms a highly non deterministic.

"workMax" parameter is unstable. One time it says "5 steps overall to finish", but then "10 steps", etc.

So, I don't think I can measure time. And even if I could, I think it will be wrong

koppor commented 3 months ago

So, I don't think I can measure time. And even if I could, I think it will be wrong

Therefore, the concept of "heuristics" has been described.

This is better than nothing.

We closed the sub issues without any code action (e.g., https://github.com/InAnYan/jabref/issues/101), therefore, I need to discuss here.


InAnYan commented 3 months ago

Okay, I've tried to implement waiting time

@koppor, @ThiloteE what do you think? Because, it looks a bit strange :smile:, but actually should work.

It's not the Oliver's approach, though Oliver's approach might be better. I didn't quite understood it. What should it be "Assume 2 min", "add 30 secs"? It would look strange if progress bar is 90%, but it tells "time left 3 mins"

koppor commented 3 months ago

I get "0 seconds" at summary tab. I think, the minimum value should be "3 seconds". - Remeber that we discussed the use of "(s)". This is also a thing here. In the concrete case, "second(s)" read wired. Just ensure, the value is not 1 :)

grafik

Side note: I found a very interesting link regarding localization: https://phrase.com/blog/posts/pluralization/

InAnYan commented 3 months ago

Done