ARVOKET · ЗАМЕТКА ОБ ИНТЕРФЕЙСАХ

Последний запрос должен остаться последним

Скорость ответа не определяет актуальность данных.

При быстром поиске запросы могут завершаться не в том порядке, в котором начались. Человек уже уточнил формулировку, новый результат появился, а следом приходит более старый ответ и заменяет список. Внешне это выглядит так, будто поиск не слушается ввода.

Небольшая задержка перед отправкой помогает уменьшить количество запросов, но сама по себе не гарантирует порядок ответов. Нужно отменять устаревшую работу либо проверять, относится ли завершившийся запрос к текущему состоянию. Иногда эти подходы полезно сочетать.

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

Для пользователя все эти проверки остаются внутри реализации. Снаружи виден простой результат: список соответствует запросу, интерфейс объясняет ожидание и не заставляет начинать сначала после сбоя.

Для проверки стоит искусственно задержать ответы и быстро изменить поиск несколько раз. Итог должен соответствовать последнему введённому значению независимо от порядка завершения запросов.

ДАВАЙТЕ ОБСУДИМ

  1. 01Задача
  2. 02Имя
  3. 03Почта

Что хотите сделать?

Enter — дальше · Shift + Enter — новая строка

Черновик остаётся в этой вкладке. Данные никуда не отправляются.