Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.

Под катом: Netflix, BBVA, Duolingo.

Duolingo и dogfooding

Если вдруг кто не знал, то Dogfooding (от англ. «eating your own dog food») — это практика, при которой команды используют собственный продукт в реальной жизни, как обычные пользователи.

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

В качестве канала может быть, например, одноименный channel в Slack, куда сотрудники публикают свою обратную связь по любому компоненту продукта. Такая ОС бывает как конструктивной и полезной, так и в некоторой степени токсичной. Обучение людей тому, как эффективно давать такую ОС, - это целая отдельная тема.

А вот в Duolingo пошли дальше, и ниже — выжимка из блога Duolingo:

  • Все сотрудники Duolingo, включая CEO, устанавливают последнюю версию приложения (на Android, iOS или Web) и используют его на ежедневной основе.

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

  • Duolingo использует Release Dashboard для мониторинга телеметрии, а также Jeeves — внутренний инструмент, который анализирует отзывы пользователей и данные о сбоях, используя AI для выявления проблем.

  • С помощью инструмента Shake‑to‑Report сотрудники могут быстро сообщать об ошибках: функция сделает снимок экрана и немедленно сообщит о проблеме в баг‑трекер. Само собой, фича позволяет инженерам оперативно исправлять проблемы до того, как те повлияют на реальных пользователей. Интересно, а как при такой схеме определяетя приоритет/критичность проблемы, если каждый сотрудник может «шэйкнуть» телефон и по‑быстрому создать баг?

BBVA и квитанция по операции

Продолжаю делиться с вами сомнительными решениями, в этот раз — снова приложения банка BBVA. Иллюстрация к тому, как делать не нужно.

— По нажатию на кнопку Send receipt открывается окно с маскированной почтой пользователя. Зачем нужна эта «защита»? И отдельный вопрос, почему я не могу посмотреть непосредственно квитанцию внутри самого приложения. Я бы согласился на какую‑нибудь асинхронную реализацию,, но внутри аппа: когда ты «заказываешь» документ и получаешь файл в специальном разделе приложения.

— Как вы думаете, что происходит по кнопке Share и выбору контакта? Правильно, получателю приходит не PDF‑файл, а текст‑уведомление. Очень надеюсь, что это у них такой неудачный фейк‑дор‑тест.

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

Netflix и рекомендации

В прошлый раз мы разбирали кейс с рекомендательной системой в Instagram. В этот раз посмотрим, с помощью каких механизмов engagement пользователей растят в Netflix.

Подход Netflix — 'Everything is a recommendation'. Пару лет назад Netflix обучал множество узкоспециализированных моделей для разных задач. Например, одна модель отвечала за Continue Watching, другая — за Today»s Top Picks for You.

Из прошлого поста мы уже знаем про вектора признаков (embeddings). Это такое компактное представление объекта (например, фильма, сериала или пользователя), в котором зашифрованы его ключевые характеристики. Для фильма это может быть вектор, который отражает жанр, тональность, актерский состав, популярность. Для пользователя — вектор его интересов, предпочтений, истории просмотров.

Раньше в Netflix отдельная модель обучалась для главной страницы, отдельная — для поиска, отдельная — для push‑уведомлений. И каждая из этих моделей строила свои эмбеддинги — свои представления о фильмах и пользователях. Это усложняло инфраструктуру и затрудняло «переносимость» эмбеддингов между задачами. Можно почитать вот в этой Netflix‑презентации.

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

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

Все усреднённые эмбеддинги объединяются в Dense Layer — вклад всех признаков в общий слой. Затем в Mixing Layer происходит связка особенностей фильма с его историей взаимодействия пользователей. На выходе получается Final Title Embedding — итоговый эмбеддинг, который используется в рекомендательных алгоритмах для поиска похожих тайтлов или для персонализации выдачи.

Например, я поставил like сериалу Narcos. Бэкэнд Netflix'а фиксирует это действие как положительное, обновляет эмбеддинг моего «пользователя», усиливая в нем компоненты, связанные с жанром «криминальная драма». В результате, через Х минут мне начинают показывать в ленте похожие тайтлы, вроде Breaking Bad. Если я продолжу смотреть сериал Narcos, система зафиксирует повторные взаимодействия, что усилит сигнал важности этого сериала в моей истории.

Другой пример: я начал смотреть первую серию нового сезона Squid Game, но не досмотрел эпизод. Это событие записывается на бэкэнде как «просмотр без завершения». В модель попадает короткое взаимодействие с этим тайтлом, которое влияет на эмбеддинг с меньшим весом, чем полный просмотр. На главной мне показываются похожие на Squid Game сериалы, но реже или ниже по приоритету, чем те, которые я досматривал до конца.

Любое действие — просмотр, остановка, лайк, добавление в список, поиск, пересмотр — влияет на эмбеддинг пользователя и меняет то, что Netflix покажет мне в следующий раз.

Это постоянно дообучающаяся система, где каждое взаимодействие — это «токен» для моделей рекомендаций. Оригинальный, нефильтрованный материал можно почитать на Medium.


Если дайджет оказался для вас полезным — подписывайтесь на канал автора в ТГ — «Сделай удобно», чтобы не пропустить другие материалы по теме.

«Сделай удобно» #17: Intsagram, Tinder.
«Сделай удобно» #16: Сбер и другие банки РФ, Vivid, Slack.
«Сделай удобно» #15: Wise, Sporify, Intsagram, Wolt.
«Сделай удобно» #14: Youtube, Glovo, Intsagram, Tiny Glade.
«Сделай удобно» #13: Кухня на районе, Дзен, Google, Яндекс.Еда.
«Сделай удобно» #12: Aviasales, Яндекс.Карты, Яндекс.Поиск, Airbnb, Citroen.
«Сделай удобно» #11: BBVA, Duolingo, Google Photos, Wise, Дзен.
«Сделай удобно» #10: Yandex Go, Intsagram, Amie, Aviasales, Tinder.
«Сделай удобно» #9: Intsagram, Amie, Glovo, Flowwow, Иви.
«Сделай удобно» #8: Github, BBVA, One, Google, Mimo.
«Сделай удобно» #7: Greenlight, Кинопоиск, Bookface, Mobbin, Бруно Саймон.
«Сделай удобно» #6: Яндекс.Лавка, Airbnb, Daylio, Waterllama.
«Сделай удобно» #5: 26, Glovo, Flowwow, Intsargam.
«Сделай удобно» #4: Intsargam, Intesa, Snoonu, Яндекс.Лавка, Notion, Uber.
«Сделай удобно» #3: SoundCloud, growth.design, Венские остановки, Wise, китайские супер-аппы.
«Сделай удобно» #2: Intsargam, Airbnb, Spotify, X (ex Twitter).
«Сделай удобно» #1: Duolingo, Yandex Pay, Intsargam, Лувр, Airbnb, Retro, Yandex Go, Google.

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