Good times.
Good times.
The use of depth and colors is streets ahead of the contemporary flat GUIs. You never have to guess the type or state of a widget, or where it begins or ends. Buttons typically have both icons and text. Icons to make it quicker to navigate, text makes it accessible without being fluent in Linear B ideograms.
Just check it: https://www.youtube.com/watch?v=kPv1gQ5Rs8A
It's not an intractable problem, just tricky and annoying. If a progress bar is a tiny fraction of an app's lifecycle it's a lot of work to make it accurate for little payoff.
Implementing a progress bar that works for things like "bytes uploaded" or "number of tasks in the queue" on the frontend is fairly trivial. The hard bit is how to transmit a progress value from the backend to the frontend. Typically that requires setting up either a socket or a keepalive connection, or polling an endpoint from the frontend, which is enough of a pain that very few web apps bother.
Ultimately everything required for this sort of feature is right there in every browser. It's the backend that's usually lacking.
Biggest offender is a large OS upgrade on Mac and it sits on that black screen. It often doesn't even say how long is left, but when it does the 'remaining time' is laughably wrong. Not really excusable when Apple have such a small range of hardware configs.
I've seen some Windows installers 'x remaining' consistently count upwards instead of downwards...or the other classic, it sits at 10% for a while and then suddenly jumps to 100
The hate for power users is real.
Users have become an instrument, rather than ends in themselves. You're attempting corral them so they do something you want instead of empowering them and offering them tools they may need to do what they want to do.
The very notion of power users is deeply incompatible with this.
Now power users are merely an inconvenience, since they usually advocate against dark patterns and prefer purely functional software.
I'm not sure how to really combat this. It might be too late.