История создания Blank — необычного мессенджера реального времени

Наш читатель прислал рассказ о разработке мессенджера реального времени. Передаём ему слово.


Здравствуйте! Меня зовут Пётр Лобанов, мне 28 лет, я живу в Санкт-Петербурге. У меня есть основной бизнес в оффлайне — сеть бургер-баров. Совсем недавно я ничего не знал о стартапах и мире IT.

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

Мы – школьные товарищи. История Blank началась с того, что одному из нас в канун 2015 года пришла идея про новый способ переписки, когда нет привычной кнопки «Отправить», а человек просто видит, как собеседник набирает текст по буквам, и абсолютно таким же способом отвечает ему в режиме реального времени. Подумали – по логике это похоже на телефонный разговор, поэтому решили дополнить продукт фичей с исчезновением текста: переписка у нас нигде не хранится. Идеей загорелись моментально, и уже на следующий день мы обсуждали, как продукт будет выглядеть вживую. На самой заре проекта у нас был суровый, но интересный концепт: можно было общаться, только если вы и ваш собеседник находитесь онлайн, а перед беседой нужно было “дозвониться”, и чат начинался только после одобрения вызова. Получались эдакие “текстовые звонки”, коротко это можно понаблюдать в заключении нашего промо-ролика, если приглядеться.

Мессенджер должен был изначально работать на протоколе WebRTC. Это открытый развивающийся проект, поддерживаемый Google, Mozilla и Opera. Он позволяет передавать данные и медиапотоки, устанавливая Peer-to-Peer соединение между двумя и более клиентами. Это браузерная технология, но мы решили применить ее для мобильного приложения. Это позволяло нам почти не задействовать серверные мощности и сделать переписку по-настоящему приватной, так как в этом случае информация передавалась бы напрямую с устройства на устройство. На самом деле с технологической точки зрения это был бы по-настоящему инновационный момент для мессенджеров – безопасность была бы теперь не просто пустым словом. Первые сборки Blank даже и работали на этом протоколе. Схематично, принцип работы WebRTC (и его составляющих – протоколов STUN и TURN) для Blank описан в этих двух картинках ниже. Но заострять внимание на этом сильно не будем:

Впоследствии мы столкнулись с рядом сложностей. Фактически, у наших первых разработчиков это был первый опыт плотной работы с WebRTC, после инвестигейта ими было заложено слишком мало времени как на реализацию работы с WebRTC, так и на риски. В результате оказалось, что WebRTC более низкоуровневый, чем ожидалось, “из коробки” не обрабатывает типичные для мобильных приложений кейсы (смена режима доступа к интернету, плохая связь и т.п.), которые пришлось делать самим. Мы долго верили в наших подрядчиков, но в какой-то момент решились разорвать с ними отношения, когда поняли, что доведение до ума прототипа на WebRTC не укладывается ни в адекватные сроки, ни в суммы. Какое-то время мы пытались найти специалистов по работе именно с этим протоколом, но столкнулись с тем, что в России (да и в мире тоже) не так много свободных разработчиков, специализирующихся на WebRTC, которые были бы готовы на адекватных условиях взяться за проект.

В итоге в конце прошлого года, после нескольких месяцев поисков, мы нашли новую команду, которая после первых критичных фиксов предложила нам перейти на новый флоу беседы с переводом Blank на Realtime NoSQL БД – Firebase. Первую рабочую демку запилили буквально за три часа. Тогда уже у нас появились статусы пользователей (казалось бы, что нового в этом для мессенджеров? 🙂 и отложенная переписка, которую раньше чисто технически сложновато было добавить. Очень много усилий пришлось приложить к тому, чтобы «отучить» клиент от старого протокола, ибо он сильно был на него завязан, но мы справились.

17 мая 2016 года мы запустили наш проект в App Store. Запустились достаточно колхозно, хотя и продумывали этот процесс. Отчасти, много надежд было возложено на комьюнити Product Hunt, мы заранее запарились и получили инвайт, планируя одновременно с релизом в AppStore «зафичериться» и там. Но, волей случая, нажав кнопку Submit, мы обнаружили, что один из наших бета-тестеров решил уже рассказать о нас там («захантить») самостоятельно, не предупредив нас, и в итоге никакого эффекта с этой площадки (из-за небрежно заполненной заявки и отсутствия внимания с нашей стороны) мы не получили.

А еще (это может показаться смешным), мы так долго ковырялись с разработкой, что за это время в App Store и Play Market успел появиться еще один Blank Messenger — очень на наш взгляд нелепый. У нас раньше зарегистрирован домен, о нас уже были упоминания в поисковых системах (включая наш проморолик на Youtube) до момента их релизов, но то ли они эти факты проигнорировали, то ли не заметили (в чем сомневаемся) и в итоге зарелизились первыми. Еще во время бета-тестирования нам приходили письма от создателей другого Blank Messenger освободить «их» торговую марку, так как это мешает делать им бизнес. Это, конечно, подпортило нам настроение, но все материалы уже были готовы, и было принято решение публиковаться все равно как Blank Messenger (мы добавили только туда слово Realtime). В итоге сейчас на нас подали жалобу в App Store с просьбой удалить наш мессенджер как приложение-нарушитель. У них нет зарегистрированной торговой марки, что лишает их обращение полноценной юридической силы. Но в числе их преимуществ — более раннее использование торговой марки Blank в коммерции. Посмотрим, что решит Apple. К слову, за неделю мы уже обогнали их по популярности.

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