Сложный интерфейс, падение сервера и другие проблемы на пути создания приложения
Рассказывает Владимир Бондаренко, который создал приложение для подбора фильмов — Movie Expert.
Вначале мы хотели создать продвинутую версию «Имхонета» с лучшим интерфейсом и алгоритмом подбора фильмов. Но к моменту запуска нашего Movie Expert «Имхонет» закрылся, и конкурировать уже было не с кем.
Началось всё в 2013-м, когда захотели скрасить фильмом вечер трудного дня. Выбрать «те самые фильмы» решили старым добрым способом — по оценкам «Имхонета» и Imdb. Затея провалилась: не всё то нравится, чему ставят высокие оценки.
Из ситуации нужно было как-то выходить — пусть вечер и был потрачен на поиск хорошего кино, но в будущем такого повторяться не должно. Вот так мы решили начать с создания алгоритма, который:
1. Выдаст топ классных фильмов под интересы конкретного пользователя.
2. Будет базироваться на оценках тех фильмов, которые этому пользователю нравятся.
3. Был бы способен сортировать и рекомендовать фильмы, учитывая дополнительные параметры.
Идеей и полной реализацией проекта занимались сооснователь компании Mauris Владимир Бондаренко и его друг, который отвечал за серверную сторону сайта. Звучало просто. Мы потерли ладони, и...
Начались проблемы — интерфейс
Выяснилось, что удобно разработчику — не всегда удобно пользователю. Говоря проще, главная проблема не добиться технической реализации идеи, а подать её в удобном пользователю формате. В результате программирование заняло всего два дня, а превращение в сервис «для людей» — больше года.
- Основной трудностью для нас стала разработка удобного и понятного интерфейса для пользователя. Столкнулись с тем, что пользователи испытывали сложность уже в самом начале, когда им нужно было вспомнить любимые фильмы.
Человеческая память — штука ненадёжная. Когда сайт для выдачи рекомендаций требовал ввести в поисковую строку 10 любимых фильмов, половина пользователей впадала в ступор: они просто не могли их вспомнить.
Проблему удалось решить малой кровью — быстрый хотфикс, кроме поисковой строки, выдавал ещё и подборку фильмов с лучшим рейтингом, которая постоянно обновлялась. Ситуацию удалось спасти: подборка стала хорошей подсказкой для забывчивых пользователей. - Многообещающая функция «просмотр фильма с другом» (на Facebook или ВКонтакте выбиралась страница пользователя и по ней делался перекрёстный анализ — какие фильмы не смотрели ни вы, ни он) не сработала. Сервис хорошо рекомендовал фильмы в одиночном режиме, но при перекрёстном работал уныло: за счёт того что рейтинг строился динамически на базе двух множеств оценок пользователей с разными вкусами, рейтинг выдавал перечень фильмов, которые в большинстве случаев были не интересны обоим пользователям.
Мы рассчитывали на то, что функция станет популярной, но оказалось совсем наоборот. Её применяли всего 3% пользователей.
Мы запустились, но — рухнул сервер
Мы разместили анонс о запуске сервиса в закрытом русскоязычном сообществе. Его участники положительно отнеслись к нашему проекту, и каждый второй пользователь отметил как минимум 25 фильмов на сайте. В первые же дни результаты превзошли все ожидания. Мы получили резкий скачок трафика — только за первую неделю собрали миллион оценок фильмов — и в итоге наши сервера благополучно упали. Причина оказалась проста: перед запуском мы не провели нагрузочное тестирование — при одновременном заходе на сайт более 500 пользователей php-скрипт не выдержал и рухнул.
Пришлось в срочном порядке оптимизировать сервис (наш первый высоконагруженный на тот момент) под единичные запросы — и мы на собственном опыте поняли, насколько пиковый трафик замедляет выполнение сложных запросов в базе данных.
Переработка логики рейтинга, оптимизация сервера, повышение пропускных способностей БД и «железа» — все эти работы заняли несколько дней. В итоге всё закончилось хорошо: после перезапуска всё заработало.
Кризис жанра
Как вы понимаете, веб-сервис — это не только вопросы разработки и техподдержки. На сцену вышла психология: на сайте не было мотивационного инструмента, который удерживал бы пользователя, стимулировал бы заходить снова и ненавязчиво напоминал о себе.
Типичная картина была такова: человек заходил на сайт, «залипал» на 2–3 часа, оценивая 200–300–400 фильмов, и исчезал. В лучшем случае — посещал его ещё пару раз, но потом прощался с сервисом окончательно. В результате аудитория сайта начала стремительно падать — не помогли ни email-рассылки, ни напоминания. Мы же всерьёз задумались о том, что в таком формате сервис себя исчерпал.
Второе пришествие
Необходимо было переработать концепцию — сервис должен был стать более понятным по формату и ненавязчиво мотивировать пользователя возвращаться. Оценив ситуацию и перспективы, мы поставили для себя следующие задачи:
- оптимизировать путь пользователя в работе с сервисом: обучение, как им пользоваться;
- разработать алгоритм, который будет удерживать пользователя, заставлять его повторно заходить на сайт.
Задачи были поставлены, и началась работа — неспешная, с параллельной реализацией заказов от клиентов: в то время наша компания активно занималась разработкой аутсорс-проектов, но и о желании создать свой качественный продукт мы не забывали.
Прошло шесть месяцев, затем ещё и ещё, и спустя два года мы осознали — свободного времени больше не становится. Заказов было много, мы работали без выходных — и поняли: если не выделить отдельное время под наш проект, мы никогда не сможем довести его до релиза.
В итоге в декабре 2016 года мы решили выделить часть ресурсов для реализации сервиса, преобразовав его формат, чтобы в обозримом будущем выпустить его в массы.
Получив хороший опыт не только в веб-разработке, но и в разработке мобильных приложений, мы видели, что перспектива развития проекта на мобильном устройстве значительно выше:
- есть возможность напоминать пользователю о себе;
- список фильмов всегда в твоём кармане;
- можно реализовать несколько простых механик по «ведению» пользователя — продукт вполне успешно способен отучить «думать» (по аналогии с Tinder).
В итоге мы подключили двух мобильных разработчиков, ещё одного серверного, и работа пошла.
И снова проблемы
К счастью, не глобального масштаба. Принцип работы приложения таков: пользователю динамически подгружается 10 карточек фильмов для оценки, после 5 отмеченных фильмов идёт пересчёт рейтинга, и подгружаются следующие 10 карточек с учётом новых оценок. Если пользователь отмечает фильм как «не определился», кинолента может быть предложена повторно для оценки через несколько недель. Чтобы упростить интерфейс приложения, за основу была взята механика Tinder.
-
Первым возник вопрос, как совместить свайпы влево и вправо с большим количеством возможных действий в приложении (смотрел / не смотрел, хочу посмотреть / не хочу посмотреть, оценка и так далее). Вариант «хочу смотреть — свайп вправо, не хочу — влево», а внизу «оценка» провалился: тестирование на живой аудитории до запуска показало, что люди просто свайпают туда-сюда, не понимая, чего от них хотят.
Всё гениальное, как и положено, оказалось просто. Решение пришло в феврале 2016 года. Отправились кататься на лыжах в Альпы. Две ночи, три киномана, бутылка виски и дизайнер по ту сторону телефона — формула успешного концепта проекта.
Концепт стал чуть сложнее, но теперь возможность ошибки была сведена к минимуму. Свайп вправо — пользователь видит, что фильм просмотрен и ему нужно поставить оценку. Влево — выбирает один из трёх пунктов («не хочу смотреть», «хочу посмотреть», «не определился»). Мы пожертвовали удобством интерфейса ради того, чтобы процент непонимания механики свёлся к нулю. В итоге следующий плейтест прошёл гораздо успешнее.
-
Другая проблема, с которой мы столкнулись — первая подборка, выдававшаяся для оценки, состояла из фильмов с самыми высокими баллами топовых рейтингов. Всё бы ничего, но большинство из них люди просто не смотрели — после трёх свайпов «не смотрел» разочаровывались и повально закрывали приложение.
Проблему пришлось решать вручную: мы собрались командой разработчиков и сами сформировали перечень из 52 фильмов, которые знают все, — именно их пользователи и видят в первой выдаче.
Подборка составлена из фильмов разных жанров — чтобы приложение могло направить человека к разнообразным тематикам в зависимости от его пожеланий. После этого количество пользователей, «прошедших» первые 5 фильмов, составило 95%.
Что в итоге
Мы запустили Movie Expert, провели бета-тестирование, собрали фидбек, внедрили ряд доработок и сейчас выпустили полноценное приложение, которое уже есть в Google Play и App Store. С iOS всё оказалось сложнее, чем с Android, — пришлось пережить пять проверок придирчивых модераторов.
Основные проблемы, с которыми столкнулись при запуске приложения, были юридического характера. Так как в приложении используются постеры фильмов, юристам необходимо было разработать обращение к правообладателям. Для скриншотов приложения в сторах необходимо было подобрать изображения с определённым типом лицензии, на каждом скриншоте поставить имя автора постера.
Нам пришлось разработать функции, которые помогают быстро исключить фильм в случае запроса от правообладателя. Юридическая волокита затянула первый релиз на 2–3 недели.
С выпуском обновления тоже были проблемы: сотрудники Apple тщательно тестируют все приложения. Они смогли отловить баг при запуске iPhone-приложения на iPad, который пришлось долго устранять. Баг состоял в том, что при свайпе карточка не уходила, её нужно было вести пальцем до конца экрана.
Что посоветуем вам
На каждом этапе разработки активно взаимодействуйте с целевой аудиторией вашего продукта, собирайте обратную связь, анализируйте фидбек. И в связи с анализом видоизменяйте продукт и его концепцию до выхода продукта в маркет.
Обязательно настройте ряд подробных метрик, которые помогут измерить эффективность каждой кнопки и экрана вашего приложения.
Руководствуйтесь в своей работе принципом «80 на 20», чтобы сконцентрировать внимание на основной функции вашего сервиса.
Качайте Movie Expert в App Store и Google Play, ставьте оценки, оставляйте отзывы. Будем признательны за любую обратную связь о проделанной нами работе!
Читайте также:
Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.