It might be a function of my age but I find the lottery app in Europes ability to scan the barcode so fast from the camera on my phone that I don't trust it. It's almost as if I don't trust things that happen too fast with my 20+ years experience with IT
I feel the same way about the one here in Australia -- I always double check it's scanned the correct numbers. Haven't been cheated out of millions yet, unfortunately.
just this week, I put a minimum 200ms wait time on a loading spinner, because otherwise we thought it felt "buggy" because it was completing too quickly!
There should be a short delay (200ms to 500ms) before showing a loading spinner, and if the operation completes in that time you can avoid showing it at all. But if it takes longer than that, the spinner should be shown for a minimum of 500ms or so, to avoid a sudden flash of the spinner.
I wrote a React hook called usePending[1] for this once. It's surprisingly difficult to get right.
but it's an async process that could take longer, so then you get into "well if it's <200ms we won't show a spinner, but if it takes longer we will..."
it's a settings page where you're clicking toggles, and each toggle saves automatically when you hit it. so when you click one, you get a short spinner, then a check mark when it succeeds. feels right to me when I'm using it