The Illusion of Time: How Time Perception Shapes User Experience
medium.com
medium.com
No, 100ms is far from instant. You can try this yourself, ideally with an Arduino and LED+button, or some other hard real-time capable system. But even with an ordinary PC, you can do an approximate test. First disable compositing to reduce latency. Be sure your monitor is in native resolution to avoid scaler latency. Using xterm (note that VTE based terminal emulators have a 40fps frame rate cap which unnecessarily increases latency), clear the terminal with control-L so you are not misled by scrolling, and compare "sleep 0.05" and "sleep 0". 50ms seems like a reasonable conservative estimate for the remaining total latency of your keyboard and display, so you are comparing approx. 100ms vs 50ms latency, and the difference is very obvious.
And in the case of audio, humans are even more latency sensitive. Musicians generally aim for <20ms latency with soft-synths.
100ms is not an acceptable "instant" latency goal, especially as latency is cumulative and there's likely to be a lot more latency in the chain that's out of your control.
Microsoft Research has an interesting video[1] on the UX impact of different touch latencies. Even below 100ms, users are very sensitive to latency.
The fact that someone else does it (e.g. Google, Facebook) or it seems analogous to real-life experiences is just one part of the discussion. The other part is if users actually enjoy that particular decision and end up doing a desired outcome at a higher rate than with historic iterations.
The small features in this article aren't that hard to build. Most importantly they communicate empathy to the user (like an occasional glance from the staff at a restaurant that knows you have been waiting too long). It also builds a company culture that latency is a meaningful pain point. Too often the server-side team is separated from this pain since they use a local dev server with no load.