Как мы сделали enPop

Как мы сделали enPop

С момента запуска нашего сервиса всплывающих окон enPop прошёл год. Страсти немного улеглись, мешки под глазами пропали, крики «ASAP!» и «Да только что работало же!» остались в прошлом. Выложили как на духу всю историю разработки сервиса. Инсайды и баги, эйфория и факапы. Степень откровенности выкрутили на максимум.

Сервисы есть, а лиды собирать все равно нечем

Идея создания сервиса всплывающих окон, которые, по общему мнению, всех раздражают, возникла у нас не спонтанно. Мы вдруг поняли, что запросы от клиентов и потенциальных клиентов повторяются. На российском рынке было два основных представителя этих сервисов, по крайней мере, о них мы чаще всего слышали. И у каждого было по серьезному недостатку. В одном вы могли настраивать всё сами, но всё было какое-то неудобное для использования, нужно было сделать 100500 действий, чтобы создать попап и повесить его на сайт. У другого всё было очень красиво, но ничего не получалось настроить своими руками, вся работа велась через менеджера. И это тоже неудобно, потому что сами бы вы это сделали за 15 минут, а сколько будет настраивать менеджер — неизвестно. И проверить настройки, кроме как опытным путём, не выйдет.

Получалось, что собирать-то лидов надо, а нечем. Приходили потенциальные клиенты, говорили, мол, вот, у нас база-малютка. Мы отвечали: «Миль пардон, мадам и месье, вам с нами будет просто невыгодно сотрудничать. Соберите базу – и тогда милости просим». А они: «А как?» Мы тогда рассказывали про способы лидогенерации. Получится у них дальше или нет – большой вопрос. А хотелось помочь наверняка. Последним аргументом стала реакция наших клиентов, с которыми мы так давно и тесно работаем, что считаем их близкими друзьями. В одной из бесед они поинтересовались: «Ребят, может, вы это, сделаете свой сервис с блэкджеком и куртизанками всплывающих окон? Мы хотим с вами работать, а не с кем-то ещё!» И было решено: ни слова больше, время кодить!

Свежесобранная команда, классические грабли и сгоревшие сроки

Эпизод 1.  Никогда такого не было, и вот опять

Первые шаги были в начале 2018 года, на разработку мы закладывали месяцев восемь, но выкатили enPop только в феврале 2019 (у кого было так же, поднимите руки). Такой перенос сроков возник из-за другого проекта, приоритетность которого превалировала. Собственно, из-за же этого текущая версия enPop не финальная – нам есть что ещё добавить в сервис. Например, собирающие и информирующие попапы. А вот опросы пока только в планах.

Эпизод 2. … и ты горишь, и всё горит, и ты в аду

Помимо вынужденного перерыва на другой проект возникла другая проблема. В разработке мы до этого, в основном, занимались мелкими локальными штуками, без строгих сроков, просто для себя и иногда для клиентов, не работали единой, большой командой. А для enPop пришлось собраться в одну боевую машину для разработки. И открылся портал в ад.

Было 8 человек в команде разработки, когда началась работа над enPop: один дизайнер, два фронтендера, четыре бэкендера и админ. Никто понятия не имел, как нужно взаимодействовать. Дизайнер не знает, как нарисовать, чтобы фронтендеру было удобно этим пользоваться и понятно, как что выглядит в динамике. Менеджер не знает, как объяснить так, чтобы программист понял, что от него хотят.

Сейчас мы выстраиваем работу с фронтом и дизайном. То, как раньше отдавались задачи дизайнеру, просто ни в какие рамки не укладывалось: пойди туда, не знаю куда, нарисуй то, не знаю что. Дизайнер дымился, но делал. А мы пытались придумать нормальный формат ТЗ. Теперь у нас более конкретные запросы. Дизайнер получает прототипы с указанием того, где и какие кнопки должны быть, и ему остаётся все это красиво отрисовать. А задача фронтендера – взять эту красоту и воткнуть куда нужно. Работа заметно ускорилась, когда мы купили библиотеку компонентов. Она позволяет не верстать каждый раз каждую кнопку, таблицу и любой другой элемент интерфейса – и таким образом избавиться от кучи рутины. В ней достаточно найти нужный компонент и работать уже не над вёрсткой, а над логикой. 

По самому менеджменту проекта идёт непрекращающаяся работа. Тут очень помогает фидбэк от команды. Ребята, например, сказали, что не понимают, какой план по каким проектам.

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

Эпизод 3. Скрытая угроза

Были и технические нюансы. enPop – высоконагруженный сервис (highload). Есть куча моментов, которые надо учесть и соблюсти, чтобы всё работало, чтобы попапы показывались, чтобы ничего не повисло от высоких объёмов посетителей на сайте клиента. И вот тут у ребят было много страданий, несколько раз переписывалась архитектура, чтобы всё было хорошо. Ещё переделывали интерфейс.  Потому что дизайнер его отрисовал, потом «Нет, так не пойдёт!», перерисовал. Мы такие: «Лаааадно, переделываем фронт».

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

Сейчас у нас третий вариант интерфейса, а скоро выкатим четвёртый.

А если баг?

В феврале 2019 enPop всё же явился миру. Первое время страшно переживали: всё ли работает как надо? Точно ли всё предусмотрели? Как оказалось, переживали зря: совсем критичных факапов после релиза удалось избежать. Были средние баги, когда все бегают по потолку, выдирают волосы, не знают, что случилось и как это пофиксить. С проблемой справлялись быстро, но адреналина в жизнь это добавляло. Например, у одного клиента в какой-то момент перестали показываться попапы. Выяснилось, что определённый сегмент выполнялся неоптимальным запросом в базу данных. Это обратная сторона highload: любой запрос, любое действие, любая работа с данными должны быть максимально оптимизированы, потому что их всех будет очень много. Иначе даже мелкий просчёт может вылиться в замедление работы.

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

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

Примерно девять месяцев назад у нас появился тестировщик, и это просто праздник какой-то. Особенно для менеджеров, потому что раньше именно они выполняли его работу. Помимо ручного тестирования новых фич он сейчас занимается тем, что «навешивает» проверки на статистику крупных клиентов с высоким трафиком. Не потому, что крупные клиенты важнее, а потому что на больших объёмах проще отследить неполадки. Грубо говоря, если у вас в день одна конверсия, то ноль конверсий — это не признак проблемы. А если каждый день тысяча человек, а сегодня ноль, то надо бить тревогу.

Если обнаруживаем проблему, то проверяем, у одного она клиента или у всех, на тестовом сервере или боевом. Все баги фиксируем в YouTrack – это такая система учёта задач. У нас договоренность, что если вдруг баг критичный, то мы должны кинуть клич в чат экспертов, чтобы ребята могли предупредить или проконсультировать клиентов, и фиксим тут же. Когда баг повержен, мы тут же снова отписываемся в экспертный чатик. Поэтому не бывает такого, что клиент ни сном ни духом о том, что происходит с его всплывающими окнами.

Самый кайф – это команда и отзывы клиентов

Подводить черту сейчас неправильно – мы же не закончили с enPop. Но текущими состоянием дел поделиться можно. 

Клиентов ещё не много, но они есть, причём с первого месяца запуска. Среди них издательство АСТ, Ювелирный интернет-магазин «Небо в алмазах» и бренд одежды для всей семьи Gloria Jeans. Получили много обратной связи и по запросам клиентов уже немало полезностей внесли в сервис. Например, добавили несколько вариантов закрытия попапов. Он может исчезнуть сам, если пользователь бездействует на странице какое-то время. Этот временной интервал клиент сам задаёт в настройках. Или попап можно закрыть, кликнув по любой области экрана, а не только на крестик.

Многие клиенты отмечают сегменты, потому что в таком формате, как у нас, сегменты мало у кого есть. Ты можешь собрать сегмент из многих-многих условий и настроить настолько гибкий показ, чтобы ловить только нужных людей и не бесить всех остальных. 

Кто-то в восторге от количества готовых шаблонов. Зачем тратить время и деньги на дизайнера, когда можно за пару минут выбрать подходящий шаблон и адаптировать его под себя? Базу шаблонов мы постоянно пополняем, так что единственная проблема, с которой может столкнуться клиент, это «нравится шаблон А и шаблон Б, не могу выбрать!».

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

— Анастасия Темненко, интернет маркетолог сети ортопедических салонов «Ортека».

Команда – это самое ценное в enPop, с этим мы, пожалуй, согласимся 🙂

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

— Лена Благова, экс-руководитель отдела разработки.

Выводов не будет, расходимся

Обойдемся без нравоучительных «избегайте наших ошибок» или «вот топ-10 наших лайфхаков в разработке и проектном менеджменте». Сами от такого топа не отказались бы.

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

Зато можем рассказать про планы. Модные коучи советуют их всегда обнародовать, чтобы не было шансов слиться. Так вот. Из глобальных инициатив у нас – стать самым крутым сервисом всплывающих окон не только в России, но и на мировом рынке. Из технических – ещё немного переработать внутреннее строение, обновить интерфейс, добавить опросы, интеграции с другими сервисами рассылок и аналитики, выбор цветов во всплывающих окнах на вкус клиента и возможность загрузки картинок. 

Ну и мы бы не отказались в космос слетать, но это уже опционально 🙂

Похожие статьи

 | 

30.04.20

Природой здесь нам суждено В Европу прорубить окно ©

Если вы вдруг пропустили, то рады сообщить, что у enPop есть английский интерфейс. И блог на английском тоже есть. Мы упорно разрабатывали сервис попапов, которые не бесят, добавляли полезные фичи и делали user-friendly дизайн. Решили выйти за пределы нашей страны, потому что это круто —  предлагать качественный товар на международном уровне.  Как говорил Федор Конюхов: […]

 | 

29.04.20

Как провести A/B-тестирование всплывающих окон

Выбрать оформление, текст, место показа порой так непросто. Сомнения развеять поможет сплит-тестирование, или иначе его называют A/B тестирование. Какой попап попадет прямо в сердце посетителя сайта, можно узнать наверняка. Разберем настройки такой возможности в enPop.

 | 

26.02.20

Как менялся интерфейс enPop и зачем это было нужно

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