Упростила коммуникацию бизнеса с клиентами с помощью системы управления короткими ссылками
B2B
Веб-интерфейс
New feature
Упростила коммуникацию бизнеса с клиентами с помощью системы управления короткими ссылками
Кейс основан на реальном проекте, который выведен в прод, но адаптирован под требования NDA. Часть функциональных деталей изменены или обобщены.
1 новый модуль
спроектирован с нуля
20+ сценариев
и системных состояний
О проекте
В рамках развития B2B-платформы появилась необходимость в отдельном инструменте для работы с короткими ссылками, которые использовались для коммуникаций с клиентами сервиса.
На уровне отдельного действия задача выглядела достаточно просто: пользователь указывает исходный URL и получает короткую ссылку. Но в реальном продукте этого оказалось недостаточно. Количество ссылок постепенно увеличивалось, разные пользователи работали с разными наборами объектов, а администратору требовался контроль над доступами и настройками функциональности.
О проекте
В рамках развития B2B-платформы появилась необходимость в отдельном инструменте для работы с короткими ссылками, которые использовались для коммуникаций с клиентами сервиса.
На уровне отдельного действия задача выглядела достаточно просто: пользователь указывает исходный URL и получает короткую ссылку. Но в реальном продукте этого оказалось недостаточно. Количество ссылок постепенно увеличивалось, разные пользователи работали с разными наборами объектов, а администратору требовался контроль над доступами и настройками функциональности.
Задача
Передо мной стояла задача спроектировать не отдельную форму генерации ссылки, а систему управления ссылками, которая учитывала бы ежедневную работу пользователей, административные сценарии и дальнейшее развитие продукта. Для этого потребовалось проработать:
флоу для админской и клиентской частей и их взаимосвязи;
логику работы со списком объектов;
создание и редактирование ссылок;
все состояния интерфейса, в т. ч. ошибки и пограничные сценарии.
Задача
Передо мной стояла задача спроектировать не отдельную форму генерации ссылки, а систему управления ссылками, которая учитывала бы ежедневную работу пользователей, административные сценарии и дальнейшее развитие продукта. Для этого потребовалось проработать:
флоу для админской и клиентской частей и их взаимосвязи;
логику работы со списком объектов;
создание и редактирование ссылок;
все состояния интерфейса, в т. ч. ошибки и пограничные сценарии.
Основной сценарий
Первоначально функциональность можно было представить очень просто:
исходный URL → сократить ссылку → получить готовую
Но такой сценарий хорошо работает только тогда, когда ссылок немного и пользователь создаёт их время от времени. В B2B-продукте сценарий был другим: пользователь мог создавать множество ссылок, возвращаться к уже созданным, изменять их параметры и искать нужную ссылку среди других.
Основной сценарий создания я построила так, чтобы пользователь мог быстро получить рабочую ссылку, но при необходимости сразу задать дополнительные параметры. В итоге базовый путь выглядит следующим образом:
исходный URL → настроить и сократить → проверить → получить готовую
Основной сценарий
Первоначально функциональность можно было представить очень просто:
исходный URL → сократить ссылку → получить готовую
Но такой сценарий хорошо работает только тогда, когда ссылок немного и пользователь создаёт их время от времени. В B2B-продукте сценарий был другим: пользователь мог создавать множество ссылок, возвращаться к уже созданным, изменять их параметры и искать нужную ссылку среди других.
Основной сценарий создания я построила так, чтобы пользователь мог быстро получить рабочую ссылку, но при необходимости сразу задать дополнительные параметры. В итоге базовый путь выглядит следующим образом:
исходный URL → настроить и сократить → проверить → получить готовую
Настройки и состояния
Готовую ссылку можно открыть, продолжить редактировать и использовать в коммуникации. Это важно, потому что создание ссылки не являлось конечной целью пользователя.
Отдельно я проработала модель состояний. Было важно не просто показать статус, а объяснить его влияние на действия пользователя, ведь состояние объекта влияло на доступность действий и содержание интерфейса.
Добавление состояний позволило сделать список более информативным: теперь пользователю не приходится открывать каждый объект, чтобы понять, что с ним происходит.
Настройки и состояния
Готовую ссылку можно открыть, продолжить редактировать и использовать в коммуникации. Это важно, потому что создание ссылки не являлось конечной целью пользователя.
Отдельно я проработала модель состояний. Было важно не просто показать статус, а объяснить его влияние на действия пользователя, ведь состояние объекта влияло на доступность действий и содержание интерфейса.
Добавление состояний позволило сделать список более информативным: теперь пользователю не приходится открывать каждый объект, чтобы понять, что с ним происходит.
Списки
Одной из задач было сделать интерфейс удобным при большом количестве созданных сущностей. В списке пользователь мог быстро определить:
какую ссылку он ищет;
когда она была создана;
ее состояние;
какие действия доступны.
Для ускорения работы я заложила поиск и фильтрацию по ключевым параметрам. При этом фильтры не должны были превращать интерфейс в отдельный сложный инструмент аналитики. Они решали конкретную задачу — быстро сократить количество сущностей до нужного набора.
Списки
Одной из задач было сделать интерфейс удобным при большом количестве созданных сущностей. В списке пользователь мог быстро определить:
какую ссылку он ищет;
когда она была создана;
ее состояние;
какие действия доступны.
Для ускорения работы я заложила поиск и фильтрацию по ключевым параметрам. При этом фильтры не должны были превращать интерфейс в отдельный сложный инструмент аналитики. Они решали конкретную задачу — быстро сократить количество сущностей до нужного набора.
Роли
Изменение настроек администратором могло влиять на то, какие возможности доступны пользователю. Поэтому я заложила распределение возможностей в зависимости от роли пользователя. Например, обычный пользователь мог работать со своими объектами, а пользователь с расширенными правами — управлять более широким набором данных.
При этом я старалась не превращать интерфейс в набор скрытых функций. Если пользователь не имел права выполнить действие, система должна была вести себя предсказуемо: не создавать ощущение ошибки или сломанного интерфейса. Это потребовало отдельно проработать:
доступность действий;
отображение ограничений;
состояния сущностей;
сценарии попытки выполнить недоступное действие;
различия между просмотром и редактированием.
Роли
Изменение настроек администратором могло влиять на то, какие возможности доступны пользователю. Поэтому я заложила распределение возможностей в зависимости от роли пользователя. Например, обычный пользователь мог работать со своими объектами, а пользователь с расширенными правами — управлять более широким набором данных.
При этом я старалась не превращать интерфейс в набор скрытых функций. Если пользователь не имел права выполнить действие, система должна была вести себя предсказуемо: не создавать ощущение ошибки или сломанного интерфейса. Это потребовало отдельно проработать:
доступность действий;
отображение ограничений;
состояния сущностей;
сценарии попытки выполнить недоступное действие;
различия между просмотром и редактированием.
Результаты
Вместо отдельного инструмента для генерации коротких ссылок получилась масштабируемая система управления объектами, рассчитанная на разные роли и сценарии использования. Я выстроила более целостную модель работы с функциональностью:
создание → использование → управление → изменение → отключение
Это позволило:
уменьшить количество разрозненных сценариев;
сделать поведение интерфейса более предсказуемым;
разделить ответственность между пользователем и администратором;
подготовить систему к росту количества сущностей;
избежать усложнения базового сценария при добавлении новых возможностей.
Результаты
Вместо отдельного инструмента для генерации коротких ссылок получилась масштабируемая система управления объектами, рассчитанная на разные роли и сценарии использования. Я выстроила более целостную модель работы с функциональностью:
создание → использование → управление → изменение → отключение
Это позволило:
уменьшить количество разрозненных сценариев;
сделать поведение интерфейса более предсказуемым;
разделить ответственность между пользователем и администратором;
подготовить систему к росту количества сущностей;
избежать усложнения базового сценария при добавлении новых возможностей.