Knowledgebase

Designing for Eventual Consistency in User Interfaces Print

  • 0

What people see while systems catch up.

WHAT THE PROBLEM IS

A user acts, and the result is not immediately visible everywhere.

WHAT THEY CONCLUDE

That it failed.

WHAT THEY DO

Repeat it.

WHAT THAT CAUSES

Duplicates.

WHAT TO DO ABOUT IT

Show the expected result immediately, marked as in progress.

WHAT THAT REQUIRES

The interface holding a local view of the pending change.

WHAT TO DO WHEN CONFIRMATION ARRIVES

Update the indication quietly.

WHAT TO DO WHEN IT FAILS

Tell them clearly, and offer a way to retry.

WHAT TO NEVER DO

Show success before it is accepted.

WHY

It is a lie the user acts upon.

WHAT TO SHOW FOR LONGER OPERATIONS

Progress, or at least that it is still happening.

WHAT TO PROVIDE

A record they can check later.

WHY

It removes the need to watch.

WHAT TO DISABLE

The action that would duplicate it.

WHAT TO PREVENT SERVER-SIDE REGARDLESS

Duplicates, since the interface cannot be relied upon.

HOW

An idempotency key generated when the form is presented.

WHY AT PRESENTATION

It is then the same across every submission of that form.

WHAT TO TEST

Double submission, deliberately.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot