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

Как спорный UI-паттерн увеличивает прибыль, но снижает доверие

Недавно в своём тг-канале я разместил пост о том, что в мобильном приложении Авито в сценарии создания объявления содержится неочевидное решение, которое противоречит ментальной модели пользователя и фактически является дарк-паттерном.

Селектор позволяет выбрать лишь один из вариантов (как радиокнопка), но при повторном нажатии отключается
Селектор позволяет выбрать лишь один из вариантов (как радиокнопка), но при повторном нажатии отключается

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

1. Термины и семантика элементов (с примерами)

Чтобы разобраться в паттернах тех или иных элементов, мы будем опираться на их поведение в Human Interface Guidelines, так как разбираем приложение на Айфоне. Проштудировав библиотеку компонентов, мы узнаем, что в интерфейсе iOS чекмарком называется сам символ (иконка) и может использоваться как самостоятельный элемент, так и быть частью другого компонента.

Чекмарк в интерфейсе iOS
Чекмарк в интерфейсе iOS

Если же рассматривать круглый чекмарк с подложкой (как в нашем случае), то называется он Selection Indicator (одиночный выбор) или Selection Badge (множественный выбор). Не смотря на то, что выглядят они одинаково, их поведение является принципиально различным и взаимоисключающим.

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

Примеры использования Selection Indicator (одиночный обязательный выбор)
Примеры использования Selection Indicator (одиночный обязательный выбор)

Если говорить о Selection Badge, то он используется в множественном выборе (MultiSelect), а повторное нажатие на элемент позволяет снять отметку.

Примеры использования Selection Badge (множественный выбор с возможностью отжать элемент)
Примеры использования Selection Badge (множественный выбор с возможностью отжать элемент)

Резюмируя вышесказанное, мы приходим к ключевому паттерну, отличающим один элемент от другого:

Круглый чекмарк снимается повторным нажатием только в случаях множественного выбора (MultiSelect). В случаях, если он отменяет другой выбор и подразумевает один единственно возможный, то работает он аналогично радиокнопке.

2. Чекмарк в одежде радиокнопки

Внутри продукта Авито есть сценарии, где круглый чекмарк ведет себя именно как радиокнопка (в случаях одиночного выбора). Но при этом в другом сценарии, где подразумевается одиночный выбор, позволяет отжать селектор. То есть мы имеем разночтения в рамках одной дизайн-системы. Именно это поведение компонента является для пользователя неочевидным. Высок шанс того, что пользователь скорее выберет тариф дешевле, чем догадается отключить селектор (метрики полетели вверх).

Аналогичные компоненты с круглым чекмарком ведут себя по-разному
Аналогичные компоненты с круглым чекмарком ведут себя по-разному

3. Как это исправить

Самый простой способ - разместить третий селектор «Без преимуществ» (условно) с коротким текстом выгод, которые продавец упускает. Также стоит обратить внимание, что если кнопка «Продолжить» зафиксирована, то и текст с условиями стоит зафиксировать (чтобы избежать ситуации, при которой пользователь его не заметит и пропустит экран).

Текст с условиями зафиксирован вместе с кнопкой
Текст с условиями зафиксирован вместе с кнопкой

4. Заключение

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


Еще больше разборов визуальных решений в интерфейсах у меня в телеграм-канале.

Комментарии (12)


  1. Tomasina
    26.06.2025 06:59

    Там и на правом скриншоте кривой UI - голубой переключатель по сути выполняет ту же функцию "включить/выключить", но дизайн у него иной, чем у элементов ниже. Зачем на одном экране делать два типа элементов, которые визуально разные, но выполняют одинаковую функцию?


    1. ika_sultanov Автор
      26.06.2025 06:59

      Это не весь экран, вверху экрана есть возможность включения/выключения Авито доставки. То есть включение Авито доставки не обязует включать бесплатную доставку (скидку) для покупателей. Немного разные контексты переключателей.


  1. MrSmitix
    26.06.2025 06:59

    Я прекрасно понимаю и осознаю что habr уже не торт не площадка для жалоб, но мне кажется у Авито есть куда более серьезные проблемы снижающие доверие к их платформе чем какие-то там спорные моменты в UI/UX. Ребята до сих пор не научились (или не хотят) блочить фейковые объявления в недвижке и всячески игнорируют любые жалобы на таковые. Приходится пользоваться расширениями вроде Ave Blacklist (очень рекомендую, it's amazing) что б превратить помойку в выдаче в что-то более менее юзабельное


  1. radtie
    26.06.2025 06:59

    А вы не думали, что это не ошибка, а осознанный дарк-паттерн?

    Прошли те времена, когда интерфейсы делали удобными, сейчас их делают только в угоду повышения собственной прибыли (как например на маркетплейсах отсутствуют простейшие полезные фильтры в поиске или специально убитая сортировка по цене)


    1. ika_sultanov Автор
      26.06.2025 06:59

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


      1. kamunicorn
        26.06.2025 06:59

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

        Для дизайнера может очевидно, а для реального пользователя нет. Такое утверждение желательно подтвердить исследованиями.

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


        1. ika_sultanov Автор
          26.06.2025 06:59

           не нравится, когда галочку, которая ассоциируется с чекбоксом, засовывают в кружок, который ассоциируется с радиокнопкой

          Согласен, иногда это вводит пользователя в ступор, как в нашем случае. Тем более, когда в разных частях интерфейса селектор работает по-разному. Что касается исследований - нам остается лишь предполагать, ссылаясь на привычные паттерны. Стоит сказать, что если те же A/B тесты показывают условные +15% прироста, решение часто запускают без глубинных исследований. В данном случае мотивом для пересмотра этого решения может стать, возможно, именно снижение уровня лояльности пользователей (NPS) или удержания (Retention). Но это все лишь мое видение и не более.


    1. ika_sultanov Автор
      26.06.2025 06:59

      Спасибо за комментарий!

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

      Что касается удобства, я считаю, что сейчас любой маркетплейс предлагает удобств в разы больше, чем что-то аналогичное предлагало нам 8-10 лет назад. Любому бизнесу важна прибыль и это естественно, но есть граница между последовательным интерфейсом и решениями, которые неочевидны для пользователя. Я не придерживаюсь концепции хейтить крупные продукты, хотя это сейчас очень популярно. Не стоит забывать, что Авито - одна из сильнейших продуктовых команд в России


  1. Vorchun
    26.06.2025 06:59

    Вот вам пример от reg.ru

    Как бы есть крестик, который отменяет выбор. А выбор они ставят всегда, хотя у меня этой услуги не было. Но его видно плохо.

    Тут тоже хочется вариант "без услуг". Но надо продавать.


    1. ika_sultanov Автор
      26.06.2025 06:59

      Я понимаю, о чем вы, но статья выше немного о другом. Вопрос не в отсутствии пункта «Без услуг», а в том, что отключение тарифа неочевидно для пользователя. В вашем же примере все достаточно прозрачно: используется индикация, которая не подразумевает обязательный выбор +есть вполне конкретная и очевидная кнопка отключения (крестик).


  1. Jeiwan10
    26.06.2025 06:59

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


    1. ika_sultanov Автор
      26.06.2025 06:59

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