Как мы это сделали. Kuoll — сервис по исправлению багов в приложениях

9 комментариев
Как мы это сделали. Kuoll — сервис по исправлению багов в приложениях

В активе белорусского стартапа Kuoll, разработавшего одноимённый сервис для разработчиков по исправлению ошибок в веб-приложениях, победы в национальных конкурсах, организованных европейскими инкубаторами Startup Wise Guys и Startup Sauna, призовое место на недавнем Venture Day Minsk. Основатель проекта Дмитрий Кайгородов делится с читателями dev.by опытом создания Kuoll в нашей рубрике «Как мы это сделали».

Читать далее

Идея и цели

Kuoll —  веб-платформа, которая позволяет программистам исправлять баги пользователей так же легко, как и баги, воспроизводимые в своём собственном браузере. Фактически, Kuoll-скрипт встраивается в страницу, записывает действия пользователя, а когда он сообщает о проблеме в службу поддержки, эта запись присоединяется к запросу. На записи программист видит код страницы, динамические изменения её кода, действия пользователя, запросы на сервер, JavaScript Errors, запись в консоль и также взаимосвязи между этими событиями.

Я работаю программистом уже 11 лет, 6 из них — в аутсорсинге. И когда приходилось исправлять ошибки, от которых страдают пользователи, клиенты наших клиентов, то процесс работы превращался в какой-то ад! Далеко не всегда понятно, какая именно версия кода и конфигурация развёрнута у клиента. Данные и серверы, на которых воспроизводится ошибка, часто не доступны для разработчика. Согласование изменений и коммуникация может происходить через посредника...

Думал, что какая-нибудь крупная компания, типа IBM, скоро реализует такой инструмент. Никто ничего, похоже, не сделал, и я решил взяться за дело сам. Хотелось создать действительно полезный инструмент, даже в какой-то степени перевернуть процесс обычного, каждодневного программирования — избавить его от значительной доли рутины и бюрократии.

Наивно казалось, что сделать такой проект успешным —  легко и быстро. Оказалось, что это не совсем так.

Подготовка

Проект довольно долго зрел в моей голове, но я не брался его реализовывать. До этого прочитал пару книг, (Lean Startup, например), работал в компании, разрабатывающей собственный продукт.

Следующий этап  —  собрать команду — был довольно тяжёлый. Я за два месяца разработал прототип, чтобы объяснять людям, как эта штука будет работать. На первых этапах продукт — скорее не результат, а инструмент для объяснения идеи и получения обратной связи.

Сначал показывал прототип знакомым разработчикам и тестировщикам. Первый публичный релиз состоялся через 4 месяца после начала работы. Когда жена и дочь пошли спать, я сел и записал 3-минутный скринкаст с примером, как работает сервис. Видео запостил в группу тестировщиков в Facebook, где оно собрало 500 просмотров и принесло 50 регистраций. Обратная связь убедила в востребованности первоначальной идеи.

Команда

В проекте два разработчика: я и студент из Украины — очень умный парень, которого нашёл через интернет ещё в пору его учёбы в 11-м классе. Сейчас в Kuoll также участвуют двое ребят, которые занимаются бизнес-частью.

Продукт разрабатывали в свободное от основной работы время. 6 недель назад я и мой коллега Евгений Степнов стали работать над Kuoll full-time.

Затраты на разработку подсчитать сложно. Да это и наивный ориентир. Самое сложное — собрать команду, выяснить, что нужно рынку, как достучаться до потребителей продукта. Поэтому нужны короткие итерации, всё время показывать продукт пользователям, очень полезна обратная связь с некоторыми менторами.

Также не обойтись без пиара. Например, чтобы собирать людей в команду. Не нужно много шума, но необходимо вовлечь людей в то, что ты делаешь. Даже жену нужно убедить, что оно того стоит. Когда друзья смирятся и поймут, что ты «законченный стартапер», тогда можно и их вовлекать в процесс. Если сказать человеку пять раз «Я разрабатываю вот-такой продукт», он начинает понимать. Это обычное явление, но когда речь идёт о собственном проекте, очень хочется форсировать события.

Дмитрий Кайгородов. Фото: Андрей Давыдчик, dev.by.

Разработка

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

Мы используем в разработке следующие инструменты:

  • Server: Google AppEngine —  отлично масштабируется, простой деплоймент. Но в будущем хотим перейти на какой-нибудь более предсказуемый дешёвый сервис.
  • Мы перешли с AngularJs на ReactJs, как-то быстрее идёт разработка. Компоненты пишутся очень легко, цельная часть фреймворка.
  • Код храним в закрытом беплатном репозитории BitBucket.
  • Не стыдимся использовать Bootstrap. Поменяли цвета, шрифты.
  • Много пишем на JavaScript. Grunt для сборки нам хорошо подходит. Используем много разных js-библиотечек.

Конкуренты

Есть два типа сервисов, которые похожи на Kuoll. Первый — запись действия пользователей для UX-исследований. Классическая задача таких сервисов заключается в улучшении конверсии в заполнении форм на сайте. Второй тип — сервисы по отлавливанию ошибок на сайте и их записи на сервер.

Однако эти инструменты не позволяют понять, что делал пользователь, как программа реагировала на его действия, и почему произошла ошибка. Для решения этих задач я и взялся за разработку Kuoll.

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

Сложности и ошибки

У меня не было опыта ни в продажах, ни в маркетинге, потому в самом начале я видел клиентами сервиса команды тестировщиков, которые будут записывать и отправлять баги в репозиторий, используя наше расширение для Chrome (без установки скрипта на сервер). Оказалось же, что продажи тестировщикам вовлекают множество людей и уйму согласований, прежде чем они смогут использовать наш инструмент на проектах реальных заказчиков.

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

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

  • пока пользователь не обратился в саппорт, или пока не прозошёл js Error, собранные данные не покидают браузер пользователя;
  • приватные элементы страницы специально помечаются и не попадают в Kuoll-запись;
  • запросы на приватные URLы не записываются.

Бизнес-модель и перспективы

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

Самый большой потенциальный сегмент для Kuoll — корпоративное программное обеспечение. Половина расходов на ПО приходится на время экплуатации. Используя Kuoll, наши корпоративные клиенты могут значительно сократить расходы. Чтобы достичь этих клиентов, необходимы прямые продажи.

Другой перспективный сегмент — разработчики собственных SaaS-продуктов. Для них основная выгода — это качественный продукт, который будет верой и правдой служить пользователям. Для достижения таких команд хорошо подходит маркетинг через технические статьи.

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

Продвижение

Участие в мероприятиях — отличный способ научиться объяснять ваш продукт, узнать, какие особенности проектов усиливают или снижают потребность в нём. Можно завязать контакты с потенциальными клиентами, партнёрами, инвесторами. Увидеть, как продукт и команда, выглядят со стороны.

Kuoll — продукт для разработчиков, поэтому разнообразные стартап-мероприятия для нас — это ещё и способ установить контакт с потенциальными клиентами. Отраслевые «ивенты» — это хорошая возможность влиться в рынок и получить обратную связь.

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

Самое большое изменение, которые мы внесли на основе обратной связи — изменили продукт с Chrome-расширения для тестировщиков на скрипт, записывающий действия пользователей для разработчиков, чтобы им легко было исправлять ошибки.

Итоги

Мы работаем над проектом два года. Сегодня у Kuoll 300 зарегистрированных пользователей, с двумя компаниями мы уже наладили активное сотрудничество. Наша главная задача — полноценное обслуживание клиентов, которые всерьёз хотят пользоваться нашим продуктом. Мы ещё не поддерживаем некоторые технологии (например svg, iframe), но часто вносим улучшения в продукт для новых клиентов.

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

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

Полезные ссылки

  • Bitbucket — бесплатный git-хостинг и issue менеджмент, нам вполне хватает.
  • GitHub Pages — можно легко заливать странички, картинки и файлы (для технарей). Вот пример, как мы эти пользуемся.
  • Medium.com — тут можно публиковать статьи. Но мы ещё используем его, как текстовый редактор. Очень легко и приятно пишется текст.
  • Facebook Messenger — отличная штука для переписки и без отвлекающего Facebook’а. Slack почему-то не «зашёл».
  • Grammarly — сервис  проверки текстов на правильность английского.

Хотите сообщить важную новость? Пишите в Телеграм-бот.

А также подписывайтесь на наш Телеграм-канал.

Горячие события

Gismart Online Meetup
9 декабря

Gismart Online Meetup

Минск

Читайте также

Программиста из Витебска осудили на 2,5 года. Он защищал участницу митинга от милиции
Программиста из Витебска осудили на 2,5 года. Он защищал участницу митинга от милиции
Программиста из Витебска осудили на 2,5 года. Он защищал участницу митинга от милиции
4 комментария
Министр информации: «Мы впервые оказались в состоянии информационной войны»
Министр информации: «Мы впервые оказались в состоянии информационной войны»
Министр информации: «Мы впервые оказались в состоянии информационной войны»
9 комментариев
Суд лишил TUT.BY статуса СМИ
Суд лишил TUT.BY статуса СМИ
Суд лишил TUT.BY статуса СМИ
1 комментарий
В BelitSoft сотрудникам компенсируют $100 в месяц за посещение психотерапевта
В BelitSoft сотрудникам компенсируют $100 в месяц за посещение психотерапевта
В BelitSoft сотрудникам компенсируют $100 в месяц за посещение психотерапевта
5 комментариев

Обсуждение

6

Молодец Дима, успехов!

1

Спасибо, Антон :)

3

Наши контакты:
eugene@kuoll.com
dmitry@kuoll.com

Будем рады вопросам!

Aleksey Korolev
Aleksey Korolev Java Department Lead в VRP Consulting
2

Удачи, должно получиться!

1

Спасибо!

2

эм судя по новсостной ленте за пару месяцев таки количество начало переростать в качество?

1

Спасибо за добрые слова :)

1

Отличная идея, есть свои killing-фичи, все получится.
Дмитрий - молодец

1

Спасибо!

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже