I had a report in Microsoft Access that took about five minutes to run - and the users hated it. I had the application throw up a fake dialog with fake messages about "Collating data, Cross checking, Sorting" and other such nonsense. The report now took eight minutes to run because I had to abuse the "On Timer" event for it to work. The users were delighted with the improvement.
That is one thing I dislike about sites that show no loading bar. On a slow connection it's impossible to tell if the page is still loading or already failed. It's also one of the irritating things about "Material Design" websites, where responses to clicks are artificially delayed before speeding out with unnatural acceleration. "Nothing is happening. JUST KIDDING!" I'm not sure if that is to mask the slowness of mo…
Web browsers have progress bars.
I think your complaint is with "sites" that just serve a JS payload and then load "the real site" entirely from requests made by JS. Turns out if you generate and serve actual HTML, you get a progress bar for free!