Optimistic UI is not a new thing (games developers work with the idea of client-side prediction for a long time), but the concept has been gainin...
For further actions, you may consider blocking this person and/or reporting abuse
Can be simplified if you send ajax request to server first, and then, based on the result, update the local state. Then you dont need to worry about local state rollbacks.
But then if the ajax request fails, you've lost user data.
Rather than rollbacks, I'd use an automatic retry-policy. Then, if that fails notify the user and let him do a manual retry. Should probably have a 'failed operations inbox' for those kinds of notifications.
But... But...
Great article. Appreciated 👏👏👏
Thank you for sharing. This is actually dated back to the terminal era, where local echo was invented because remote responses couldn't catch up with the typing speed of the user.
Definitely an interesting read (and topic).
Yeah I totally agree. From a user's perspective, I guess perceived performance is the only performance that really matters. As long as it can fail gracefully without side-effects. I'm implementing state machines on everything that does optimistic updates, I feel it helps to keep everything in check.
Great!