Closed koppor closed 3 months ago
Should I remove text under the progress bars, or replace it with waiting time?
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)
Check out the https://github.com/InAnYan/jabref/issues/105
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
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.
[ ] A "good enough" heuristics here is:
Assume 2 minutes
If time goes longer, assume current time + 30 seconds as new end time
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.
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"
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 :)
Side note: I found a very interesting link regarding localization: https://phrase.com/blog/posts/pluralization/
Done
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%.