Optimistic UI betyr at grensesnittet viser en handling som vellykket før serveren har bekreftet den. Det kan føles raskt, men uten rollback-strategi kan brukeropplevelsen bli direkte misvisende.

Optimistic UI må ha rollback
Optimistic UI må ha rollback visualiserer hovedpoenget i artikkelen.

Optimisme er ikke sannhet

Frontend kan anta at en handling vil lykkes, men bare serveren kan bekrefte at den faktisk gjorde det. Optimistiske endringer bør derfor behandles som midlertidige frem til svaret kommer.

Rollback må være designet

Hvis serveren avviser handlingen, må grensesnittet kunne gå tilbake til riktig tilstand. Brukeren bør få en saklig melding, og visningen bør igjen stemme med dataene på serveren.

Idempotente handlinger hjelper

Handlinger som kan gjentas trygt, er enklere å håndtere ved nettverksfeil, dobbeltklikk og retry. Det reduserer risikoen for dobbel effekt eller motstridende tilstand.

Når optimistic UI passer

Mønsteret passer best for små, reversible handlinger som favoritter, enkle preferanser og midlertidige UI-valg. Det passer dårligere for sletting, publisering, rolleendringer og irreversible adminhandlinger.

WEBoracle-vurdering

WEBoracle kan bruke optimistic UI i små interaksjoner, men adminnære handlinger bør vente på bekreftelse fra serveren. Publisering og sletting skal føles kontrollert, ikke gjettet.

Konklusjon

Optimistic UI kan gi et raskere grensesnitt, men bare hvis systemet har en ærlig plan for feil. Uten rollback er det ikke brukeropplevelse. Det er gjetting med fin animasjon.

Kilder og videre lesning

  1. MDN Web Docs: Using the Fetch API
  2. MDN Web Docs: HTTP response status codes
  3. W3C/WAI: Understanding Status Messages