This is an important point. "Lying" progress bars are still conveying essential information - that the installation is progressing and isn't frozen. I remember from my days working with W98 and early Ubuntu versions, one of the most important bits of information coming from progress bars was whether or not the whole thing was frozen and needed the power cord pulled.
This was back when my best computer had a 500 MHz CPU and 512 MB of RAM.
>best computer had a 500 MHz CPU and 512 MB of RAM
500 MHz cpus started showing up in servers with 21164 in 1996 in boxes maxing out at 2GB ram, and on desktops with 1999 Pentium 3 plugged into 1998 chipset (440BX) already supporting 1GB.
If so, it doesn't seem completely unreasonable to communicate in this way. (I agree it could be communicated better)
The system is not quite hung, but it's not doing great.
At the very least, there's no sense in which the page loading (or map route finding, etc) was farther along at t=2 than it was at t=1 when the connection was removed, so for Google to be telling me it's making progress in that situation is a transparent lie.
Unless the information they're trying to convey with the progress bar is simply that "time is passing", which I'm well aware of.
There's no reason to lie.
My point is that good UI is possible, there is even precedent for it, and that while we definitely need to do better perhaps with available APIs or tooling, that is not an excuse for the moral failing of lying to the user.
¹and I'd say that's even the mild case. A number of high-profile websites that encounter even edge cases — not even errors — just simply fail to render at all.
"Your task has started and is processing in the background where it can't be observed. Please wait."
[OK]