VJOURNAL

ДизайнГлобальная редакция29 августа 2026 г.

Что входит в дизайн SaaS-продукта: роли, состояния, передача

Дизайн SaaS-продукта — это в основном экраны, которые никто не показывает в демо: пустой, загрузка, ошибка, только чтение, частичные данные, плотность и переполнение. Семь состояний, как выглядит каждое и что ломается без него.

Короткий ответ

Дизайн SaaS-продукта покрывает роли и права, которые решают, кто что видит, повторяющиеся сценарии ежедневной работы и все состояния, в которых может оказаться каждый экран: пустой, загрузка, ошибка, только чтение, частичные данные, плотность и переполнение. Он описывает поведение компонентов, а не их вид, покрывает работу с клавиатуры и вспомогательные технологии и заканчивается передачей, по которой разработка соберёт продукт. Он не покрывает экраны, которых нет в объёме.

Дата проверки фактов: 3 источника

Проверенные факты

Проверка источников
7 сентября 2026 года
Задача читателя
требования к дизайну SaaS-продукта
Большая часть работы над дизайном SaaS-продукта — это экраны, которые никто не ставит в демо.
Роли и права определяют экраны; рисовать экраны первыми — значит рисовать их дважды.
Тестовые данные льстят вёрстке, которую реальные данные ломают.

Результат работы — не количество экранов

Спросите, что даёт проект по дизайну SaaS-продукта, и честный ответ — не количество экранов. Это набор решённых ситуаций: кто смотрит, что он пытается закончить и что делает интерфейс в каждом состоянии, в котором система реально бывает. Заполненный экран со счастливым путём — тот, который все смотрят на ревью, и тот, который потом создаёт меньше всего проблем.

Основная работа сидит в семи состояниях ниже. Перечислить их — механическая задача, и здесь подготовка с ИИ-ассистированием быстрая и недорогая. Решить, что должно происходить в каждом, — нет: ответ зависит от того, как ваша система отказывает и что ваши пользователи могут позволить себе потерять. Для этого нужен человек, с которого за ответ спросят.

Пустое

Как выглядит: экран до появления данных, с одним действием, которое создаёт первую запись, и простым описанием того, что появится после. Без него: новые аккаунты открываются на пустую таблицу, и поддержка каждую неделю отвечает на один и тот же вопрос.

Загрузка

Как выглядит: решённое поведение при медленном ответе — скелет строк, постепенное заполнение или блокирующий индикатор — и что меняется после заявленного порога. Без него: на каждом экране появляется тот индикатор, который выбрал разработчик, а медленные пути читаются как сломанные.

Ошибка

Как выглядит: что видит пользователь, когда действие не прошло, что можно повторить и что сохраняется, пока он повторяет. Без него: неудавшееся сохранение молча выбрасывает то, что человек набрал, — и именно это запоминается дольше всего.

Только чтение

Как выглядит: тот же экран глазами того, кто может смотреть, но не менять, где «скрыть» и «сделать неактивным» выбраны осознанно, а не по экрану. Без него: права держатся на бэкенде и протекают в интерфейс.

Частичные данные

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

Масштаб

Как выглядит: та же таблица на тысяче строк — страницы или виртуализация, сортировка, фильтры и то, какие колонки выживают на узком экране. Без него: вёрстка работает в демо и не работает на втором месяце.

Переполнение

Как выглядит: каждая подпись и каждое значение в самой длинной правдоподобной форме, включая переведённую строку. Без него: кнопки переносятся, обрезка прячет самое важное, а починка приезжает после запуска.

Роли и права идут раньше экранов

Экран — это не один макет, если две роли видят его по-разному. Перечислите все роли, включая операторские и поддерживающие, которых никогда не бывает в презентации, и для каждой скажите, что она может видеть, что менять и куда ей нельзя вообще. Эта таблица определяет, сколько макетов существует на самом деле, и написать её несравнимо дешевле, чем обнаружить.

Осознанно решите, скрывается запрещённое действие или остаётся видимым, но неактивным. Скрытие делает интерфейс тише и лишает человека возможности узнать, что он мог бы запросить; неактивность объясняет границу и признаёт, что возможность есть. Оба варианта защитимы. Случайный выбор на каждом экране — то, как один продукт в итоге делает и так и так.

Реальные данные ломают вёрстку, которой льстят тестовые

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

Две цифры важнее остальных: самая длинная величина, которую поле реально может содержать, и сколько строк накапливает обычный аккаунт за год. Проектируйте под них — интерфейс держится. Проектируйте под демо — и первый настоящий клиент становится первым баг-репортом.

Прорабатывать стоит те сценарии, которые повторяются

Большая часть рабочего дня внутри инструмента — это две-три задачи, сделанные снова и снова. Они заслуживают детализации: каждый шаг, каждое ветвление, что происходит, когда человека прервали на середине и он вернулся, и как отменить только что сделанное. Страница настроек, которую открывают дважды в год, такого не требует, и делать вид, что требует, — способ незаметно удвоить объём.

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

Описывайте поведение, а не только внешний вид

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

Это не то же самое, что строить дизайн-систему. Описать поведение один раз и переиспользовать — результат этой работы; поднять систему, которую несколько команд поддерживают годами, — отдельное решение со своей стоимостью и своим вопросом о готовности, и его стоит задавать отдельно, а не вносить в объём по умолчанию.

Клавиатура и вспомогательные технологии здесь — функциональное требование

Люди работают в инструменте целый день, и это меняет расчёт. Работа с клавиатуры перестаёт быть галочкой соответствия и становится быстрым путём для всех, кто вводит данные, — и она же ломается первой, когда нативный элемент заменяют самописным. WebAIM описывает, какое поведение с клавиатуры нужно интерактивным элементам и как его проверять.

Самописным элементам нужно явно задать семантику, а не подразумевать её. Стилизованный div, ведущий себя как выпадающий список, не сообщает вспомогательным технологиям ничего, пока ему не задали роль, состояние и подпись; что ARIA ожидает от каждого, документирует MDN. Решайте это на этапе дизайна, потому что добавлять потом обычно значит пересобирать компонент.

Что разработке нужно в передаче

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

Включите и то, что сознательно не описано, и назовите, кто это решает. Разработчики всё равно примут эти решения, когда придёт срок; разница между хорошей и плохой передачей в том, знали ли они, что принимают их.

Что покрывает срок 15–30 дней, а что нет

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

Честный вопрос об объёме — не сколько экранов, а сколько состояний на сколько ролей. Две роли и восемь экранов в семи состояниях — это другой проект, чем пять ролей и те же восемь экранов, и второй не немного больше работы, а другая смета.

Запишите исключения

Перечислите то, что вне объёма, в том же документе и до начала работы. Не как отговорку, а как общую карту того, что существует, но пока не делается, с условием, которое вернёт каждый пункт внутрь. Большинство споров в конце продуктового дизайн-проекта — не разногласия о качестве, а два разных воспоминания о том, что входило.

Этот список исключений — ещё и самый дешёвый плановый артефакт, который вы получите из проекта. Это бэклог следующего этапа, уже обсуждённый, с приложенными причинами, а такого у большинства бэклогов нет.

Практический чеклист

  • Каждая роль перечислена: что видит, что меняет и куда ей нельзя вообще
  • Каждый экран описан во всех семи состояниях, а не только в заполненном
  • Вёрстка проверена на обезличенной реальной выгрузке, а не на десяти строках
  • Два-три ежедневно повторяющихся сценария проработаны до конца, включая прерывание
  • Поведение компонентов записано: фокус, неактивность, валидация, медленный ответ, клавиатура
  • Работа с клавиатуры и семантика для вспомогательных технологий покрыты у каждого элемента
  • В передаче есть состояния, переиспользуемые значения, реальные тексты отказа и правила
  • Исключения перечислены явно, у каждого — условие, которое вернёт его в объём

Вопросы и ответы

Что в итоге получаешь в конце дизайн-проекта SaaS?

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

Зачем дизайнеры просят реальные данные до старта?

Потому что тестовые данные прячут проблемы. Десять аккуратных строк делают любую таблицу правильной; реальная выгрузка приносит длинные имена, пустые поля, дубликаты и тысячу записей — и решают вёрстку именно они. Обезличенной выгрузки обычно достаточно.

Сколько экранов ожидать?

Меньше, чем вы думаете, но в большем числе состояний, чем вы думаете. Восемь экранов по семь состояний — это пятьдесят шесть спроектированных ситуаций, и работа с риском сидят в состояниях. Счёт по экранам систематически занижает объём.

Нужна ли нам для этого дизайн-система?

Не обязательно. Этой работе нужно поведение компонентов, описанное один раз и переиспользуемое, а это другое, чем строить и поддерживать дизайн-систему. Если несколько команд будут годами разрабатывать параллельно, это отдельный вопрос, который стоит задать отдельно.

Что подготовить до начала проекта?

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