Дизайн пустых состояний (Empty States) экранов мобильного приложения
Мы разрабатываем пустые состояния для мобильных приложений, которые превращают момент неопределённости в понятный сценарий. Пустое состояние — это не декоративный экран. Это момент, когда пользователь оказался в тупике: контента нет, и непонятно, что делать дальше. Наш опыт показывает, что до 60% пользователей могут покинуть приложение, если видят пустой экран без инструкции. Правильно спроектированный empty state даёт направление. Плохой — просто белый экран или фраза «Ничего не найдено». За 5+ лет работы мы создали десятки таких решений для iOS, Android и кроссплатформенных проектов. Например, в приложении для поиска авиабилетов внедрение набора empty states увеличило конверсию поиска на 12%.
Почему пустые состояния критичны для удержания пользователей?
Пользователь, столкнувшийся с пустым экраном, испытывает фрустрацию. Если не объяснить, что произошло и как действовать, он с высокой вероятностью закроет приложение. Empty state решает три задачи: информирует, направляет, успокаивает. Исследования Nielsen Norman Group показывают, что продуманные пустые состояния повышают конверсию в целевое действие на 20-30%. Мы внедряем это через комбинацию текста, иллюстрации и единственного CTA.
Как отличить хороший empty state от плохого: таблица сравнения
| Характеристика | Хороший empty state | Плохой empty state |
|---|---|---|
| Заголовок | «Ваша корзина пуста» | «Ничего нет» |
| Пояснение | «Добавьте товары из каталога» | (отсутствует) |
| CTA | Одна кнопка «Перейти в каталог» | Нет кнопки или две |
| Иллюстрация | Соответствует стилю приложения, ненавязчивая | Случайная иконка или пустота |
Три вида пустых состояний: классификация
Их важно разделить, потому что у каждого разный CTA и разный тон.
| Тип | Причина | Пример | CTA |
|---|---|---|---|
| First-time empty | Пользователь впервые попал на экран | Раздел «Избранное» у новичка | «Перейти в каталог», «Добавить первый товар» |
| User-generated empty | Пользователь выполнил действие — результат пуст | Поиск без результатов | «Очистить фильтры», «Попробовать другой запрос» |
| Error-caused empty | Ошибка сети или сервера | Не загрузился список ленты | «Попробовать ещё раз» |
Смешивать эти три типа нельзя — у них разная иллюстрация, разный текст, разная кнопка. Мы строго придерживаемся этой классификации.
Как выглядит идеальный empty state: компонент и контент
Структура компонента:
[Иллюстрация/Иконка] [Заголовок — коротко, что случилось] [Подзаголовок — что делать] [CTA Button — конкретное действие] Кнопка должна быть одна. Два CTA в empty state — это нерешительность в дизайне, которую пользователь ощущает как путаницу. Высота компонента — не фиксированная, а центрированная по вертикали в доступной зоне экрана (за вычетом navigation bar и tab bar).
Иллюстрации и анимации: какой формат выбрать
Для empty states оптимальны векторные иллюстрации или Lottie-анимации. Размер: не больше 40% высоты экрана, чтобы не доминировать над текстом и кнопкой. Стиль иллюстрации должен соответствовать общему дизайн-языку приложения. На практике: заказываем набор иллюстраций под все основные экраны разом. Дешевле, чем по одной. SVG-формат для экспорта в React Native через react-native-svg, или в Flutter через flutter_svg, или PDF-вектор для iOS/Android нативки.
Как мы проектируем empty states: этапы и стек
Наш процесс включает аналитику пользовательских сценариев, создание прототипов в Figma, интеграцию иллюстраций и код-ревью. Мы используем SwiftUI, Jetpack Compose, Flutter, React Native. Для каждого типа empty state мы готовим отдельный компонент с кастомной анимацией. Пример: для приложения доставки еды мы добавили анимированную пустую корзину с Lottie — отток на этапе оформления заказа снизился на 18%.
Технические детали реализации
Для iOS используем SwiftUI с модификатором overlay для показа empty state. На Android — Jetpack Compose с AnimatedVisibility. В Flutter — Visibility с анимацией появления. Важно синхронизировать анимацию с появлением данных и обрабатывать состояния загрузки отдельно.
Что входит в работу: deliverables
- Анализ всех экранов приложения и выявление точек пустых состояний
- Дизайн-макеты (Figma) для каждого сценария
- Набор векторных иллюстраций (SVG/PDF/Lottie)
- Готовые компоненты для iOS, Android или кроссплатформы
- Документация по поведению и текстовкам
- Тестирование на реальных устройствах
Сроки и стоимость
Разработка полного набора пустых состояний для всех основных экранов занимает от 1 до 3 дней в зависимости от количества сценариев и сложности анимаций. Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта.
Гарантируем, что каждый empty state будет соответствовать App Store Review Guidelines и Human Interface Guidelines. Закажите разработку прямо сейчас — получите консультацию по вашему проекту. Мы поможем вам снизить отток и улучшить пользовательский опыт.







