jargon

Comparison

Optimistic UIvsPerceived performance

Optimistic UI

the item appeared in the list the instant you clicked, before the server had confirmed anything.

Applying the expected result of a mutation locally and reconciling when the response arrives. It removes the network from the perceived interaction, which for a like button or a checkbox is the whole experience. It requires you to write the rollback path too, and to decide what to show when the rollback happens — a state most implementations forget until someone loses work on a flaky connection.

Full entry →

Perceived performance

you showed a response to the click immediately, even though the real work took another second.

How fast the interface feels, which depends on immediate feedback and predictable progress rather than on total elapsed time. Acknowledging an interaction within about a hundred milliseconds is what makes it feel direct, regardless of when the work finishes. This is why optimistic updates, skeletons and progress that actually moves are worth more than a proportionally larger improvement in a backend timing.

Full entry →

Related comparisons