4 ms·
I think it's an art, not a science. The alternative to a spinner is to show some sort of error to the user; a connection error or something specific that went w
by noduerme 2y ago
I think it's an art, not a science. The alternative to a spinner is to show some sort of error to the user; a connection error or something specific that went wrong that they can report. Sometimes this is useful.
I frequently put spinners just in the individual components that need loading. I tend to use them more for large data loads that will hang around awhile, so I have to do fewer round trip transactions. Loading a list of a customer's last 1000 transactions? I'm going to bring on all that data at once, not keep calling the server as you try to scroll through it.
I want user actions to have an INSTANT consequence, not 150ms latency. So even if not a spinner, that button needs to gray out and something should affirm that they tapped it.
Also, spinners are very useful for me in tracking down bugs. When a few customers report stuck spinners in the same day, I can almost immediately determine if some particular action is failing or whether it's a server issue. Even better, they can send screenshots helping me isolate the problem. If no stuck spinner and the app just freezes, they reload it and forget what exactly they did to trigger an error. And endpoints do go down, nothing has 100% uptime. I want to FEEL how long a call is taking on a heavy operation on a busy day.