Skip to content

Optimistic vs Pessimistic vs Realistic UI

nin-jin edited this page Oct 24, 2020 · 2 revisions

Pessimistic UI

Интерфейс блокируется, пока изменения не синхронизируются.

  • Ухудшение отзывчивости пропорционально задержке сети и времени обработки запроса сервером.
  • Пользователь не теряет контекст внесения изменений.
  • Пользователь всегда понимает когда и как завершился каждый эпизод синхронизации.
  • Синхронизация может быть инициирована лишь пользователем в явном виде.

Optimistic UI

Интерфейс показывает предположительное финальное состояние, проводя синхронизацию в фоне.

  • Мгновенная обратная связь на действия пользователя в лучшем случае.
  • Запуск синхронизации возможен без явного действия пользователя.
  • Действия пользователя могут быть внезапно отменены через непредсказуемый промежуток времени.
  • Если что-то пошло не так, а пользователь уже ушёл, то сложно адекватно объяснить ему, что произошло и что ему делать.
  • Пользователь не понимает, когда изменения действительно синхронизированы и можно уходить.

Realistic UI

Интерфейс показывает все промежуточные состояния: актуально, идёт синхронизация и тп.

  • Мгновенная обратная связь как на действия пользователя, так и на изменения состояния процесса синхронизации.
  • Запуск синхронизации возможен без явного действия пользователя.
  • Пользователь всегда понимает, когда изменения действительно синхронизированы и можно уходить.
  • У каждого процесса синхронизации есть предсказуемое место в UI, где выводится его состояние.