I have a webpage where the client has to do some work, and would like to show progress of this to the user.
The task is completely client-side. It consists of making an "attempt", which has a (known) small chance of success. If the attempt succeeds, the task is over and the user gets redirected. If the attempt fails, it makes a new attempt (with the exact same chance of success).
The problem is how I'm supposed to convey this to the user. The speed of doing attempts vary greatly across devices, so I want speed to be visible. I can calculate how many attempts needed in aggregate ("task finishes in less than 30 attempts 50% of the time"), but it's impossible to do this for one particular instance.
Currently, there's a crude ascii progress thingy which prints * for every attempt:
Do Action *******
but this isn't exact (no units), responsive (Too small a screen for the *? Too bad!) or intuitive.