Как стать автором
Обновить
Онлайн-кинотеатр Иви
Мы открываем для людей многообразие мира кино
Сначала показывать

Как мы прикрутили прокси к автотестам

Время на прочтение13 мин
Количество просмотров1.1K

Привет! Мы в онлайн-кинотеатре Иви любим писать клиентские автотесты. В основном все они интеграционные. Используем почти полные копии бэка, автоматически разворачиваемые в k8s. Особенность состоит в том, что мы максимально стремимся к использованию нативных фреймворков или к использованию того стэка, который лучше всего подойдет для поддержки проекта. Это заставляет агрессивно выделять общий функционал, избавляться от копипасты и держать архитектуру и подходы как можно более похожими от проекта к проекту. И одна из основных проблем, с которой столкнулись - это работа с сетевым стэком. А как мы ее решали расскажем в статье...

Читать далее
Всего голосов 10: ↑10 и ↓0+12
Комментарии1

Оптимизация метрик веба через аудит в Google Tag Manager: реальность или вымысел?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров869

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

- Правда ли то, что ассинхронные сценарии настолько легкие для веба?

- Правда ли то, что приостановленные теги == удаленным?

Этапы эксперимента и наши выводы читайте ниже. Будем рады, если в комментариях вы поделитесь своими мнениями, идеями или опытом. Давайте обсудим вместе!

Читать далее
Всего голосов 13: ↑12 и ↓1+18
Комментарии2

Интерактивные виджет-подборки в Иви (iOS)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.2K

И снова здравствуйте! В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.

В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Пишем интерактивный виджет

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.6K

Виджеты в новом обличии появились в 2020 году вместе с выходом iOS 14 (HomeScreen widgets). За это время Apple выпустила больше семейств виджетов, а также добавила их на LockScreen в iPhone и iPad. Но интерактивность появилась впервые в iOS 17.

В этой статье разберёмся из чего состоит интерактивный виджет: формирование Timeline, как работает интерактивность через библиотеку AppIntents, а затем напишем свой первый интерактивный виджет.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии6

Внедрение процесса тестирования Google Tag Manager: увлекательная история Даши-путешественницы

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.4K

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

А сейчас немного остановимся и познакомимся: меня зовут Даша, я инженер по тестированию на платформе web в Иви. И я расскажу вам, как мы внедряли тестирование GTM в пайплайн разработки команды.

Читать далее
Всего голосов 13: ↑10 и ↓3+9
Комментарии7

Эмоциональное восприятие шрифтов. Метод семантического дифференциала

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.3K

Я занимаюсь в Иви UX-исследованиями. Однажды ко мне пришел директор по дизайну с запросом: “Разрабатываем новый шрифт для внешних коммуникаций. Хотим, чтобы вызывал у людей эмоции, соответствующие новой платформе бренда. Сделали несколько вариантов. Помоги понять, действительно ли люди будут испытывать больше эмоций по сравнению с нашим нейтральным шрифтом для интерфейсов, и выбрать наиболее подходящий”. 

С подобной задачей я никогда раньше не сталкивалась, поэтому первая моя мысль была: “Да ладно, эмоции и шрифты? Люди вообще не заметят разницу”. Вторая — про семантический дифференциал. 

В этой статье я поделюсь методикой и результатами исследования шрифтов с точки зрения эмоций методом семантического дифференциала.

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии4

Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4K

В компании ИВИ, ведущем онлайн-кинотеатре, наша команда разработчиков занимается созданием приложения для платформы Android. Недавно мы успешно выпустили версию для Android TV, используя инновационный инструмент — Jetpack Compose. Несмотря на то, что библиотека Compose для ТВ еще находится в альфа-версии, мы хотим поделиться своим опытом, рассказать о трудностях, с которыми столкнулись, и обратиться к вопросу: стоит ли использовать Jetpack Compose, особенно для ТВ-приложений?

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Объяснение рекомендаций

Время на прочтение4 мин
Количество просмотров3K


Рекомендательные системы уже давно неотъемлемая часть большинства современных веб-сервисов. Скорее всего, заходя на какой-либо развлекательный (и не только) сайт, вы не раз задавались вопросом, почему именно этот контент или этот товар предлагается вам.

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

Поэтому хочется, чтобы пользователь понимал:
  1. Насколько ему могут быть интересны наши рекомендации.
  2. Зачем мы ему это показываем.

Меня зовут Андрей Макаров, я разработчик рекомендательной системы онлайн-кинотеатра Иви. В этой статье я расскажу, зачем мы объясняем рекомендации на нашем сервисе, что для этого уже сделали и что только планируем.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+11
Комментарии4

В следующей серии… Как устроены UX-исследования в Иви

Время на прочтение10 мин
Количество просмотров2.5K

Привет, Хабр! Меня зовут Евгения Савельева, я руковожу отделом UX-исследований в Иви. С коллегами мы шутим: исследования как сериал - всегда есть что-то, что узнаешь только в следующей серии. А еще, по результатам исследований у нас самые интересные встречи! Решили рассказать, как устроены UX-исследования* в Иви: благодаря им растут не просто метрики, а нечто более важное – любовь пользователей. 

Во многих компаниях UX-исследователи работают либо как агентства внутри компании, либо исследователь прикреплен к продуктовой команде. У нас получился гибридный подход: с одной стороны, наш UX-отдел универсален и делает исследования для всех. С другой, исследователи довольно сильно интегрированы в процесс разработки продукта.

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии1

Плоская сеть для Kubernetes

Время на прочтение8 мин
Количество просмотров6.4K

Приветствую тебя, %username%! Меня зовут Владимир Жуков, и я не хочу впаривать тебе очередную историю успешного успеха про Kubernetes. Я хочу рассказать о наших кластерах Kubernetes с необычной архитектурой. «Что же там необычного?» спросишь ты. Это самая сложная и непонятная часть кластера, это сеть. Я знаю, что идея плоской сети не новая и применяется много у кого, но кажется об этом еще не кто тут не писал.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Как растить людей: диктатура здравого смысла

Время на прочтение9 мин
Количество просмотров5.1K

На днях студент нашей совместной с МАИ магистратуры дал очень интересный комментарий. Это было по мотивам лекции, на которой я рассказывал о целях по SMART, тайм-менеджменте и способах планировать рабочее и личное время. 


"Меня удивил лектор. Человек уже давно не подросток, имеется отличный статус в компании, многого добился, но не останавливается на своём развитии.

Раньше мне казалось, что учиться нужно в школе и универе, а потом устроиться на работу и отдыхать, ведь ты всё уже знаешь.

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

И, несмотря на сохраненную авторскую пунктуацию, на этом можно  было бы закончить эту статью. 

Но в этом случае наш HR-департамент меня не похвалит :-)

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии0

Как персонализация постеров помогла IVI повысить CTR и конверсию в просмотры

Время на прочтение3 мин
Количество просмотров5.7K
Мы в IVI столкнулись с проблемой низкого доверия к контенту, который пользователи встречают впервые. Одна из причин — неинформативные и непривлекательные постеры. Чтобы исправить эту ситуацию, мы научились персонализировать постеры, выбирая для пользователя более понятные и привлекательные изображения. Мы провели эксперимент, который показал, как на самом деле важна для зрителя визуальная составляющая при выборе контента.

Непривлекательные постеры


Читать дальше →
Всего голосов 19: ↑14 и ↓5+18
Комментарии63

Синтетические постеры для кино: как обрезать логотип телеканала, хардсабы и чёрные грани

Время на прочтение5 мин
Количество просмотров5.3K

На IVI пользователи выбирают кино для просмотра, ориентируясь в первую очередь на постер и название фильма. Обычно правообладатель предоставляет один постер для каждого фильма и сериала, но бывают ситуации, когда могут понадобиться дополнительные/альтернативные изображения. Их создание — трудоемкая задача, потому что с помощью этих изображений нужно передать содержимое контента. Чтобы упростить её, мы прибегаем к генерации синтетических постеров. В этой статье я немного приоткрою занавес и расскажу о том, как мы удаляем визуальный мусор в процессе создания постеров.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии4

Дизайн-система IVI. Взгляд изнутри. Часть 2

Время на прочтение8 мин
Количество просмотров2.9K

Это вторая часть статьи про нашу дизайн-систему. Первая часть выходила раньше.

В этот раз речь пойдёт о философии нашей работы, взаимодействии с дизайнерами и клиентскими разработчиками; о трудностях, с которыми сталкиваемся, и как их преодолеваем; о том, как мы развиваем нашу ДС.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Дизайн-система IVI. Взгляд изнутри. Часть 1

Время на прочтение8 мин
Количество просмотров6.8K

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

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

В первой же части статьи речь пойдёт о том, как и почему у нас появилась дизайн-система; как она устроена и что в ней хранится; как клиентские приложения IVI получают и обрабатывают данные из дизайн-системы; как мы добавляем в ДС новые сущности и как избавляемся от устаревших.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Как лояльные пользователи помогают тестировать любимый сервис. Бета-тест IVI — грани невозможного

Время на прочтение10 мин
Количество просмотров3.4K

Меня зовут Святослав, в онлайн кинотеатре IVI я отвечаю за бета-тестирование. Хочу рассказать вам про то, как пользователи сервиса могут принимать активное участие в его тестировании, получать от этого удовольствие и вносить неоценимый вклад в его качество.

Познакомиться с бета-тестированием IVI
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Пользовательский опыт в IVI: как измеряем и как улучшаем

Время на прочтение7 мин
Количество просмотров3.7K

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

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

Как же преобразовать все это восприятие в цифры и количественные показатели?

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии6

Подсказки по написанию тестов в приложениях на Go

Время на прочтение8 мин
Количество просмотров14K

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

Читать далее
Всего голосов 21: ↑18 и ↓3+25
Комментарии12

Путь IVI от монолита к микросервисам

Время на прочтение7 мин
Количество просмотров8K

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

Читать далее
Всего голосов 44: ↑38 и ↓6+48
Комментарии18

Как мы в IVI используем массивы в ClickHouse для подсчета продуктовых метрик

Время на прочтение6 мин
Количество просмотров4.4K

 IVI – кросс-платформенный сервис, а значит, мы должны анализировать метрики всюду: на вебе, телевизорах и мобильных приложениях. Продукт непрерывно развивается, чтобы стать максимально эффективным, удобным и повысить ценность и привлекательность подписки. Перед тем, как внедрить какую-то новую фичу, мы проводим a/b-тесты и исследуем, на сколько востребованным окажется нововведение и как оно повлияет на конверсию или смотрение. Одновременно у нас может проверяться до 70-ти гипотез, от которых непосредственно зависят планы по развитию продукта.

Для того, чтобы правильно оценить успешность или неуспешность теста, требовалось технологичное решение. Новая схема ETL позволила нам иметь хранилище, толерантное к дубликатам. При ошибке в коде мы всегда можем откатить consumer offset в kafka и обработать часть данных снова, не прилагая лишних усилий для движения данных. Хотим рассказать о том, как мы в IVI используем ClickHouse, чтобы посчитать метрики для решения разных продуктовых задач и понять, что мы действительно делаем продукт лучше, а не придумываем фичи, которыми никто не будет пользоваться.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии2

Информация

Сайт
www.ivi.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек