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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автоматическая документация для Flask с использованием OpenAPI

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


Техническая документация, как известно, крайне важная часть любого проекта. До недавнего времени мы прекрасно жили с таким генератором документаций как Sphinx. Но наступил момент переходить на технологии с бОльшим набором возможностей, поэтому мы приняли решение переписать нашу документацию на более современный стандарт: OpenAPI Specification. Эта статья является скромным гайдом по такому переезду. Она будет интересна Python-разработчикам, особенно тем, которые используют Flask. После ее прочтения вы узнаете, как создать статическую OpenAPI документацию для Flask приложения и развернуть ее в GitLab Pages.

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

Профессия СТО, часть 2

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

Недавно наш СТО Евгений Россинский @eross пообщался с ведущими подкаста  “Подлодка” про роль СТО. По мотивам этого общения мы подготовили две статьи с основными вопросами о СТО - как им стать и каково им быть, как его найти и сколько это стоит. Сегодня мы публикуем вторую часть этого интервью (первую часть можно прочитать тут).

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

Профессия СТО

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

Недавно наш СТО Евгений Россинский пообщался с ведущими подкаста «Подлодка» про роль СТО. По мотивам этого общения мы подготовили две статьи с основными вопросами о СТО — как им стать и каково им быть, как его найти и сколько это стоит.

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

Переброска данных между идентичными объектами метаданных базы 1С через подмену УИДов в базе SQL

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

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



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

Внедрение IMA SDK в Android-приложениях

Время на прочтение 4 мин
Количество просмотров 2.4K
Предположим, что однажды вы решили создать приложение для детей и попробовать на этом заработать. Так как реклама — один из самых простых способов монетизации, то у вас возникает очевидная идея добавить в приложение одно из рекламных SDK и дальше только подсчитывать доход. Все могло быть именно так, если бы приложение было направлено на взрослую аудиторию. Если же оно предназначено для использования несовершеннолетними, то включаются разнообразные законодательные механизмы, которым подчиняются магазины приложений.

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

Наиболее логичным выходом из ситуации оказалось проигрывать рекламу, которую раздает сам Google с помощью сервиса Google Ad Manager. И делать это с использованием IMA SDK, которое также является продуктом Google.

В этой статье я расскажу о том, как мы внедряли IMA SDK в приложениях ivi и ivi kids и с какими ограничениями столкнулись.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 0

Между дизайн-системой и Server Driven UI

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

Всем привет! Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде "UX". Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество проводимых A/B-тестов.


Раньше вся продуктовая разработка была разбита на большие направления ("платформы"): бэкенд, Smart TV, iOS, Android, веб. При этом фичи пилились достаточно долго (по полгода), а побочным эффектом были заметные различия внешнего вида и функционала одной и той же фичи на разных платформах.


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


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

Информация

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