I think the issue is not inherently simply estimates, but perhaps slightly related to your "progress bars should be janky", that it seems meaningless almost. I think that's also why the blind buffering swirl can be so frustrating too. I definitely think for more abstracted representations, a rolling average sort of system is better, maybe using a little bit of data from a few test runs of from reporting back of past installations just to inform it to give a rough guess.<br><br>Probably the best progress bar I encountered was that of qBittorrent. It didn't do any dressing up and did it in a kind of inuitive way from my understanding. It firstly had one bar just saying the raw progress (presumably measured in bits), and a second barcode-esque bar which (from what I gathered) showed which bits of the file had been acquired. It then gave some numerical statistics about download/upload rates, number of peers, etc. It was quite raw but despite it being a huge wait the bar felt less frustrating, I think because it more directly showed not simply "something is happening" but rather "this is happening". After all, telling you which parts have been downloaded, be it through that stripey bar, or some text saying "downloading cat_pictures_7" or whatever else is not that hard to implement, and helps make errors more transparent (you can see what happened immediately before a crash).