Интерфейсы · Выпуск 14 · 14 мая 2026
Пустые состояния — это тоже дизайн. И мы долго это игнорировали
Экран без данных выглядит так, будто его никто не доделал. Между тем это первое, что видит человек, и именно в нём продукт решает, останется ли человек дальше.
Мы открыли эту тему случайно. Команда поддержки прислала скриншоты: у половины новых пользователей на втором экране было пустое поле с подписью «Здесь появятся ваши документы». Документы появлялись. Просто человек уходил раньше.
Когда мы разбирали это в спринте, стало ясно: проблема не в тексте подписи. Проблема в том, что экран без данных мы никогда не проектировали — мы его получали автоматически, вместе с последним нарисованным рядом таблицы. Это типичное системное слепое пятно: то, что не попадает в критерии качества, не попадает в работу.
Что мы называем пустым состоянием
Пустое состояние — это интерфейс, в котором запрашиваемые данные не могут быть показаны. Не «нет данных» как факт, а состояние, в котором человек принимает решение: остаться, уйти или начать с нуля. У любого экрана со списком оно есть всегда — вопрос только в том, кто его рисовал.
Хуже всего выглядит пустое состояние, сделанное по инерции: серый заголовок, серая подпись «нет данных», кнопка, которая ни к чему не ведёт. Таких экранов в продукте на старте было около сорока, и ни один из них не был зарегистрирован ни в макетах, ни в задачах.
Почему оно не доходило до очереди
У этого есть три причины, и все три — про процесс, а не про вкус.
Первая: мы проектировали счастливый путь. Критерий готовности экрана — «показывает данные», и как только данные есть, задача закрыта. Обратное состояние в критерии не участвовало.
Вторая: пустые состояния требуют писать текст. Мы оценивали задачи в тикерах, и текст всегда уезжал в конец. Задачи «сделать список» закрывались быстро, задачи «сделать его понятным, когда он пуст» — никогда.
Третья: метрики. Экран с нулём элементов почти не генерировал событий, поэтому в отчётах его не было видно. Мы годами спорили о нём вслепую. Как только мы стали считать доли сессий, которые заканчиваются на пустом экране без следующего действия, спор закончился за неделю.
Пустое состояние — это первое, что человек видит, и последнее, до которого доходит дизайн.
Четыре разных состояния
Когда мы выписали все случаи честно, выяснилось, что мы годами рисовали один экран для четырёх разных ситуаций. Это и есть главный содержательный результат работы: не «сделали пустые состояния», а «перестали их смешивать».
-
Первый запуск
Данных нет вообще. Здесь нужен не экран, а обещание: что здесь будет, кто этим пользуется и что сделать первым. Одна кнопка — одно действие. Обязательный пример рядом с кнопкой важнее любого текста.
-
Фильтр ничего не нашёл
Данные есть, но не те. Главное — показать, что фильтр применился, и дать один шаг назад. Если человек не видит, какое условие его сузило, он решит, что база пустая.
-
Последний элемент удалён
Состояние наступило по действию самого человека. Здесь вины нет — нужна забота: что исчезло, что будет дальше и откуда вернуть. Самое частое место для отмены действия.
-
Нет доступа
Данные могут быть, но их не видно. Это не пустое состояние, а ограничение прав: нужен другой визуальный язык, понятный администратору, а не пользователю.
Путать эти четыре случая — самая дорогая ошибка. Один и тот же экран не может быть одновременно приглашением, извинением и сообщением об ошибке. Когда мы развели их по разным шаблонам в дизайн-системе, часть экранов перестала переделываться «под себя» разработчиками.
Как это изменило процесс
Регламент получился коротким, и именно поэтому его удалось внедрить. Пустое состояние рисуется до первой вёрстки, а не после того, как «появится контент». В критерии готовности экрана со списком теперь всегда стоит строка про состояние без данных.
Четыре пункта, которые теперь обязательны для любого экрана со списком:
- Одно предложение о состоянии и одно — о следующем действии. Без «пока» и «к сожалению».
- Одно главное действие. Второстепенные — текстом, а не кнопкой.
- Система событий на самом экране, а не только на кнопке: мы считаем, сколько людей вышло отсюда дальше.
- Проверка на тёмной теме и на длинных названиях в реальных данных.
В метриках появилась одна новая цифра — доля выходов с пустого экрана без действия. За квартал она упала с 34% до 11%, и почти весь эффект дали не картинки, а тексты и порядок действий. Иллюстрации в первую очередь объясняли, что это за продукт, а не что делать человеку.
Что не сработало
Честно: маскоты. Мы сделали иллюстрацию для каждого пустого состояния — и через месяц продукт превратился в каталог персонажей. Иллюстрация должна быть системной и повторяемой: одна семья, один стиль, никаких отдельных героев на каждый экран.
Не сработало и всплывающее окно с предложением заполнить пустоту: конверсия в переходы была заметно ниже, чем у обычного экрана. Модальное окно перебивает контекст, а человеку в этот момент нужен был не вопрос, а результат.
Главный вывод оказался проще любых правил. Пустое состояние — это не украшение интерфейса и не запасная заглушка. Это один из основных сценариев, у которого раньше просто не было владельца в команде. Как только у него появился владелец, работа заняла три спринта.
