You can have a good middle-ground by having the progress bar as a separate visual process (so it doesn't slow down or freezes during the load) and to have the filling of the loading bar as an interpolation of the previous progress and the next progress stretch to that rolling average you mention. Then, with some error catching and timeouts you could add additionnal informations to that. You'd have a fluid/responsive good looking and re-assuring loading bar. With a liiiittle bit of trickery and a lot of time wasted, but that would be very comfy for the user.<br><br>Then package that as a plugin and make some money.