Что разберём
1Одна задача — три решения
Разнобой не виден, пока смотришь на экраны по одному. Он виден, когда решения одной задачи лежат рядом.
Каждый экран магазина по отдельности выглядит разумно.
Но человек, который удалил товар из корзины, а потом адрес из профиля, встречает два разных ответа на один вопрос:
«Что будет, если нажал случайно?»
Корзина
Свайп влево — и товара нет. Вернуть нельзя.
Избранное
Спрашивают перед каждым удалением.
Адреса в профиле
Удаляется сразу, внизу плашка с возвратом.
Таблица к листу
Лист с экранами дополните таблицей: где задача встречается, как решена и что будет при ошибке. Таблица находит и то, что на снимках не видно.
| Где | Как удаляют | Если нажал случайно | Текст |
|---|---|---|---|
| Корзина | Свайп влево, сразу | Не вернуть | — |
| Избранное | Кнопка, затем диалог | Спросили заранее | «Вы уверены? Это действие нельзя отменить» |
| Адреса | Кнопка, сразу | Плашка «Вернуть» | «Адрес удалён» |
| Общий заказ офиса | Крестик, сразу | Не вернуть, а собирали всем офисом | — |
| Аккаунт компании | Кнопка, затем диалог | Спросили заранее | «Вы уверены?» |
Инвентаризация интерфейса
Дизайнер Брэд Фрост в 2013 году в своём блоге назвал такой сбор инвентаризацией интерфейса, а потом описал его в книге «Atomic Design».
Снимают не каждый экземпляр, а по одному на каждый непохожий вариант, и раскладывают по категориям. Когда похожие, но разные решения стоят рядом, лишние видны сразу.
Фрост собирал так кнопки, поля и другие детали. Для паттерна собирают не детали, а решения одной задачи.
2Какое решение оставить
Оставляют не то, что нравится, а то, что лучше решает задачу. Для удаления главный вопрос — чего стоит ошибка.
В Nielsen Norman Group советуют спрашивать подтверждение перед действиями с серьёзными последствиями — когда пропадает работа человека или крупная сумма денег.
Если спрашивать на каждое обычное действие, люди перестают читать вопрос и нажимают «Да» не думая. Тогда подтверждение не защищает и там, где оно действительно нужно.
Там же советуют по возможности давать отмену: она спасает от ошибки и не мешает, когда ошибки нет.
| Чего стоит ошибка | Как удалять | Пример |
|---|---|---|
| Возвращается тем же нажатием | Без подтверждения и без плашки | Снять сердечко «В избранное» на карточке |
| Ошибиться легко, вернуть тоже легко | Сразу, внизу плашка «Вернуть» | Товар из корзины, адрес из профиля |
| Вернуть нельзя, пропадёт работа или деньги | Спросить до и назвать последствия | Удалить аккаунт компании, очистить общий заказ |
Если подтверждение нужно
Оно называет последствия, а кнопка — действие.
«Вы уверены?» с кнопками «Да» и «Нет» заставляет перечитывать вопрос.
Общий вопрос
Последствия и действие
Проверьте себя
Восемь удалений в магазине. Как удалять в каждом случае?
Убрать товар из корзины.
Сразу, с плашкой «Вернуть»Удаляют часто, промахнуться легко, вернуть просто. Подтверждение здесь только мешало бы.
Удалить аккаунт компании вместе с историей заказов и счетами.
Спросить доВернуть нельзя, пропадают документы. Вопрос называет, что пропадёт, а кнопка — «Удалить аккаунт».
Снять сердечко «В избранное» на карточке товара.
Без подтвержденияВернуть можно тем же нажатием, и результат виден на месте. Плашка «Вернуть» здесь лишняя.
Очистить общий заказ, который офис собирал всю неделю.
Спросить доПропадает чужая работа — двенадцать человек выбирали кофе. Вопрос: «Очистить заказ? 38 товаров от 12 сотрудников».
Удалить сохранённый адрес доставки.
Сразу, с плашкой «Вернуть»Адрес легко вернуть, а переспрашивать на каждый — утомительно.
Убрать фильтр «Молотый» в каталоге.
Без подтвержденияФильтр возвращается тем же нажатием на ту же кнопку.
Убрать прошлый заказ из «Моих заказов» в архив.
Сразу, с плашкой «Вернуть»Ничего не пропадает, заказ лежит в архиве. Плашка нужна, чтобы исправить промах сразу, а не искать архив.
Отменить оплаченный заказ, который уже собирают на складе.
Спросить доРечь о деньгах и о работе склада, после отмены сборку не вернуть. Вопрос называет, когда вернутся деньги.
3Из чего состоит описание паттерна
Паттерн — это не картинка, а решение задачи: когда его применять, когда нет, как он себя ведёт и какими словами говорит.
В GOV.UK Design System компоненты и паттерны разделены.
Компонент — многоразовая часть интерфейса: кнопка, поле, плашка.
Паттерн — проверенное решение задачи человека. Он часто собран из нескольких компонентов и объясняет, как применить их к случаю.
Например, «Плашка» — компонент. «Удаление с возвратом» — паттерн: в нём плашка, кнопка «Вернуть», поведение списка и тексты.
| Раздел | Что в нём | «Удаление с возвратом» |
|---|---|---|
| Задача | Какую задачу человека решает | Убрать то, что легко вернуть: товар, адрес, прошлый заказ |
| Когда применять | Признаки случая | Удаляют часто, промахнуться легко, объект можно восстановить |
| Когда не применять | Где нужен другой паттерн и какой | Пропадает работа или деньги — «Подтверждение необратимого». Возвращается тем же нажатием — ничего не нужно |
| Как работает | Шаги и состояния | Строка уходит, список смыкается, внизу плашка «Вернуть». Плашка не пропадает сама, пока человек на экране. «Вернуть» ставит строку на прежнее место |
| Крайние случаи | Длинное, много, без связи | Удалили три подряд — одна плашка про последнее. Нет связи — строка помечена, удаление уйдёт, когда связь появится |
| Тексты | Готовые формулировки | Что удалено: «Товар удалён», «Адрес удалён». Кнопка — «Вернуть» |
| Компоненты | Из чего собран | Строка списка, плашка с действием — ссылки на библиотеку |
| Где используется | Экраны со статусом замены | Адреса, корзина, архив заказов |
| Почему так | Данные и исследования | Подтверждение на каждое удаление приучает нажимать «Да» не читая |
| Статус и владелец | Кто отвечает и в каком он состоянии | Принят · владелец — дизайнер корзины · пересмотр раз в полгода |
Про плашку с действием есть готовое правило в Material Design 3. У такой плашки одно действие, и она остаётся на экране, пока человек его не нажмёт или не закроет плашку. Пример в руководстве — письмо, отправленное в архив, с кнопкой Undo.
Как это устроено в GOV.UK
У страниц паттернов в GOV.UK Design System повторяются одни и те же разделы:
- когда применять;
- как работает;
- что показали исследования;
- у части — ещё и когда не применять.
Критерии для нового паттерна там тоже записаны: он полезен многим командам и не повторяет то, что в системе уже есть.
Прежде чем паттерн опубликуют, его проверяют на людях, собирают из существующих стилей и компонентов и убеждаются, что он подходит разным сервисам.
4Паттерн рядом с компонентами
Паттерн в отдельном файле находят те, кто его писал. Остальные собирают экран из компонентов и о паттерне не знают.
Дизайнер, который делает новый экран, открывает библиотеку компонентов, а не папку с документами. Разработчик открывает компоненты в коде.
Значит, паттерн должен встретиться обоим там, куда они и так идут.
| Где лежит паттерн | Кто его найдёт |
|---|---|
| Отдельный документ «Паттерны» в облаке | Тот, кто знает, что он есть |
| Страница в библиотеке Figma рядом с компонентами, у плашки — ссылка на паттерн | Каждый, кто взял плашку |
| Сайт дизайн-системы, где у компонента есть раздел «Где используется» | Дизайнеры и разработка |
| Компонент в коде с примером паттерна рядом | Разработка, которая собирает экран |
В Nielsen Norman Group хранилище дизайн-системы делят на три части: руководство по стилю, библиотеку компонентов и библиотеку паттернов.
Компоненты — отдельные элементы, паттерны — их сочетания и раскладки. Это части одного хранилища, а не три разных места.
Для кода и документации есть готовые инструменты. Storybook — открытый бесплатный инструмент, в котором разработка собирает, проверяет и описывает компоненты отдельно от продукта. Туда же кладут пример паттерна.
zeroheight — платформа дизайн-системы, куда подтягиваются материалы из Figma и Storybook. Так описание паттерна и живой компонент оказываются на одной странице.
5Замена без большого переделывания
Разнобой не убирают за один спринт. Его убирают по списку мест, у каждого из которых есть статус.
- С сегодняшнего дня новые экраны — только по паттерну. Это ничего не стоит и сразу останавливает рост разнобоя.
- Выпишите все места, где задача решена иначе: они уже есть в таблице инвентаризации.
- Начните с самого дорогого: частое действие, дорогая ошибка. Общий заказ офиса, который удаляется крестиком без возврата, — первым.
- Остальное меняйте, когда экран всё равно трогают. Правите корзину — заодно меняете удаление.
- Место, которое осознанно оставлено, получает причину. Без неё его заменят по ошибке или не заменят никогда.
| Место | Сейчас | Статус | Почему такой порядок |
|---|---|---|---|
| Общий заказ офиса | Крестик, без возврата | Заменено | Ошибка стоит дороже всего: собирали всем офисом |
| Корзина | Свайп, без возврата | В работе | Самое частое удаление в продукте |
| Избранное | «Вы уверены?» | Когда будут править избранное | Мешает, но ничего не теряется |
| Адреса | Плашка «Вернуть» | Уже по паттерну | С него паттерн и взят |
| Аккаунт компании | «Вы уверены?» | Оставлено, текст переписан | Другой паттерн: подтверждение необратимого |
6Прогон чужого экрана по паттерну
Паттерн работает, когда по нему собирают экраны без вас. Первый такой экран стоит прочитать внимательно.
Коллега собрал экран подписки «Кофе каждый месяц» и сделал удаление товара из подписки «по паттерну». Ниже его описание.
Пять строк расходятся с паттерном «Удаление с возвратом» — с тем, как он работает, или с тем, когда его применять. Нажимайте на них.
- удаление товараКнопка «Убрать» у товара. Строка уходит, список смыкается.
- перед удалениемДиалог «Вы уверены?» с кнопками «Да» и «Нет».
- после удаленияВнизу плашка «Товар убран из подписки» и кнопка «Вернуть».
- плашкаПропадает через 3 секунды.
- нажали «Вернуть»Товар встаёт на прежнее место в списке.
- удалили три товара подрядТри плашки одна над другой.
- нет связиСтрока помечена «Удалится, когда появится связь». «Вернуть» работает.
- отказ от подпискиКнопка «Нет, я больше не люблю кофе».
- удаление всей подписки с оплаченным месяцемСразу, внизу плашка «Вернуть».
- фокусПосле удаления фокус переходит на следующий товар в списке.
- Кнопка «Убрать», строка уходит, список смыкается.По паттерну. Так и описано в разделе «Как работает».
- Диалог «Вы уверены?» перед удалением.Расходится с паттерном. Товар из подписки легко вернуть, значит, подтверждение не нужно — вместо него плашка «Вернуть». А если бы оно было нужно, то не «Вы уверены?», а с последствиями.
- Плашка «Товар убран из подписки» и «Вернуть».По паттерну. Сказано, что именно удалено, кнопка называется как в паттерне.
- Плашка пропадает через 3 секунды.Расходится с паттерном. Плашка с действием не пропадает сама, пока человек на экране: за 3 секунды многие не успеют прочитать и нажать «Вернуть».
- «Вернуть» ставит товар на прежнее место.По паттерну. Возврат восстанавливает всё как было, включая место в списке.
- Три плашки одна над другой.Расходится с паттерном. В крайних случаях паттерна записано: одна плашка про последнее удаление. Три плашки закрывают список, в котором человек как раз работает.
- Нет связи: строка помечена, «Вернуть» работает.По паттерну. Так в разделе про крайние случаи.
- Кнопка «Нет, я больше не люблю кофе».Обманный паттерн. Это стыжение — confirmshaming: отказ подписан так, чтобы человеку стало неловко. В библиотеку такое не попадает. Кнопка называет действие: «Отказаться от подписки».
- Удаление всей подписки с оплаченным месяцем — сразу, с плашкой.Не тот паттерн. Пропадают деньги за оплаченный месяц — это случай из раздела «Когда не применять». Нужно «Подтверждение необратимого»: спросить до и назвать, что будет с деньгами.
- Фокус переходит на следующий товар.По паттерну. Тот, кто работает с клавиатуры или слушает экран, не теряется после удаления.
Все пять найдены. Три расхождения — в поведении, два — в том, когда паттерн применять и какими словами говорить. Если коллега понял паттерн иначе, чем задумано, это повод дописать сам паттерн, а не только поправить экран.
7Когда паттерн перестал работать
Паттерн — не закон навсегда. Когда он перестал работать, его выводят открыто, а не молча перестают применять.
Признаки
- Его обходят. Новые экраны снова собирают по-своему, и у каждого находится причина.
- Случаи не помещаются. Раздел «Когда применять» обрастает исключениями.
- Данные против. Жалобы в поддержку, ошибки в аналитике, провалы на проверках с людьми.
- Изменилась основа. Платформа или компоненты, из которых собран паттерн, стали другими.
Вывод по статусам
Так устроено в больших системах. В Atlassian Design System у компонентов три фазы выпуска и две фазы вывода:
- «собираемся вывести» — в новом не использовать, брать замену;
- «выведен» — заменитель назван, переезд описан.
Ни один стабильный компонент там не удаляют без заранее объявленного срока.
В GOV.UK Design System с августа 2026 года у компонентов два статуса — «проба» и «стабильный». Компонент на пробе может заметно измениться или быть выведен.
| Статус паттерна | Что значит | Что делает команда |
|---|---|---|
| Проба | Паттерн проверяют на нескольких экранах, он может измениться | Применяет там, где договорились |
| Принят | Проверен, основной способ решать задачу | Все новые экраны — по нему |
| Под вопросом | Есть сомнения, решение ищут | В новых экранах не применяет, старые не трогает |
| Устарел | Назван заменитель и срок | Меняет по списку мест до срока |
| Удалён | Мест с ним не осталось | Страница остаётся в журнале с причиной |
Сказать вслух
Это четыре действия:
- запись в журнале изменений системы с датой и причиной;
- пометка на странице паттерна;
- сообщение в общем канале команды;
- отдельное сообщение владельцам экранов из списка мест.
8Задание
Найдите в продукте задачу, которая решена тремя способами, сведите её к одному паттерну, опишите его и замените хотя бы в двух местах.
Часть 1 · Инвентаризация, 1 час
- Выберите задачу, которая встречается на многих экранах: удаление, пустой поиск, подтверждение действия, выбор даты, ошибка в форме.
- Найдите все места, где она решается. Снимите по одному экрану на каждое непохожее решение.
- Сведите в таблицу: где, как решено, что будет при ошибке, какой текст.
Часть 2 · Паттерн, 2 часа
- Выберите решение по цене ошибки, частоте и данным. Если данных нет, проверьте варианты на людях.
- Опишите паттерн по шаблону. «Когда не применять» пишите сразу после задачи.
- Положите описание рядом с компонентами и поставьте на него ссылку из каждого компонента, который в нём участвует.
ПАТТЕРН: ______________________ статус: проба / принят / под вопросом / устарел владелец: ______________ дата: __.__.____ пересмотр: __.__.____ ЗАДАЧА: ______________________ КОГДА ПРИМЕНЯТЬ: ______________________ КОГДА НЕ ПРИМЕНЯТЬ и что вместо: ______________________ КАК РАБОТАЕТ шаги: ______________________ состояния: ожидание / успех / ошибка / нет связи: ______________________ крайние случаи: ______________________ ТЕКСТЫ: ______________________ КОМПОНЕНТЫ (ссылки на библиотеку): ______________________ ПОЧЕМУ ТАК (данные, проверки, жалобы): ______________________ ГДЕ ИСПОЛЬЗУЕТСЯ место ______________ заменено / в работе / позже / оставлено, причина ______________ место ______________ заменено / в работе / позже / оставлено, причина ______________ ЖУРНАЛ __.__.____ · что изменилось ______________ · почему ______________
Часть 3 · Замена, по списку мест
- Замените два места: самое дорогое по ошибке и то, которое и так сейчас в работе.
- Остальным дайте статус и, где нужно, причину.
- Скажите команде: что за паттерн, где лежит, с какого дня новые экраны собираются по нему.
Что должно получиться
- Лист инвентаризации с тремя и больше решениями одной задачи.
- Описание паттерна рядом с компонентами, со ссылками из них.
- Список мест со статусами, два места заменены.
- Сообщение команде и первая запись в журнале.
План работы: час на инвентаризацию, два на паттерн, замены — в ближайших задачах, которые и так трогают эти экраны.
Частые сложности
- «Все три решения по-своему хороши». Для разных случаев — возможно. Тогда это два паттерна с ясной границей в разделе «Когда не применять», а не три решения одного случая.
- «Владельцы экранов не хотят менять». Не требуйте менять всё сразу: новое — по паттерну, старое — когда экран трогают. Список со статусами покажет движение без давления.
- «Паттерн написан, а экраны всё равно собирают по-своему». Проверьте, находится ли он из компонента. Если нет — дело не в людях, а в месте, где он лежит.
- «Жалко выводить паттерн, который сам придумал». Вывод со статусом и заменителем — такая же часть работы, как ввод. Молча брошенный паттерн вредит больше: по нему продолжают собирать.
9Чек-лист и ошибки ступени
Паттерн готов, если
- Решения задачи со всех экранов собраны на один лист
- Решение выбрано по цене ошибки и данным, а не по вкусу
- В описании есть «когда применять» и «когда не применять»
- Описаны поведение, состояния и крайние случаи
- Есть готовые тексты
- Паттерн лежит рядом с компонентами, из компонентов на него есть ссылка
- Места с разнобоем выписаны, у каждого статус
- У паттерна есть статус, владелец и журнал изменений
Что мешает
- Паттерн-картинка. Есть макет, нет «когда не применять» — и паттерн применяют везде.
- «Заменим всё сразу». План на полгода, который никто не начинает.
- Отдельный документ. О паттерне знают только авторы.
- Молчаливое устаревание. Паттерн не работает, а в библиотеке висит как принятый.
- Обманный паттерн в библиотеке. Его повторяют в каждом новом экране.
10Три ступени темы целиком
Тема прошла путь от одного экрана к продукту. Сначала все состояния экрана, потом экран на настоящих данных с описанным поведением. Теперь — одинаковые решения одинаковых задач во всём продукте.
| Ступень | Что нужно уметь | Как проверить результат |
|---|---|---|
| Junior | Перечислять состояния до макета; рисовать пустой экран с объяснением; выбирать индикатор загрузки; отличать ошибку ввода от ошибки системы; называть результат в подтверждении | У экрана нет состояния, про которое разработка спросит «а что здесь показывать» |
| Middle | Проверять экран на длинном тексте, сотнях строк, пустых полях, отсутствии прав и медленной сети; отличать состояние элемента от состояния экрана; описывать поведение словами | Разработка задала по макету меньше трёх вопросов о поведении |
| Senior — этот урок | Находить задачу, которую решают по-разному; собирать паттерн с «когда применять» и «когда не применять»; держать его рядом с компонентами; заменять разнобой по списку мест; выводить устаревшее открыто | Новый экран с этой задачей собран по паттерну кем-то другим |
Что почитать дальше
- The Atomic WorkflowКак провести инвентаризацию интерфейса: снимать по одному примеру каждого непохожего решения, раскладывать по категориям (ошибки, успех и загрузка — отдельная, их труднее всего поймать) и показывать разнобой всей команде. Это около трети главы; остальное — как продать дизайн-систему и работать без водопада.
- Patterns · Contribution criteria · Component lifecycle statusesЧем паттерн отличается от компонента в GOV.UK Design System и по каким пяти признакам решают, принимать ли новый: полезен многим командам, не повторяет существующее, проверен на людях, собран из готового, подходит разным сервисам. Третья ссылка — два статуса компонентов, «проба» и «стабильный».
- Confirmation Dialogs Can Prevent User Errors — If Not OverusedВосемь правил для подтверждений: спрашивать только перед тем, что уничтожает работу или стоит больших денег, называть последствия, подписывать кнопки действием («Удалить файл» и «Оставить файл» вместо «Да» и «Нет»), а для самых опасных действий просить ввести слово. Статья 2018 года, пересмотрена в 2026-м.
- Release phasesТри фазы выпуска (Early Access, Beta, General Availability) и две фазы вывода (Intent to Deprecate, Deprecated): что значит каждая и можно ли брать компонент в новую работу. Стабильное не удаляют без объявленного заранее срока. Страница на минуту чтения.
- Types of deceptive patternВосемнадцать типов обманных паттернов — от скрытых доплат до стыжения (confirmshaming) и подписки, которую трудно отменить: у каждого определение, пример, случаи из «Hall of shame», законы и решения регуляторов. У двух самых новых типов законов пока нет, только примеры.