Почему разработать «простой» мессенджер — сложно, долго и дорого

AIN.UA 1

Владимир Бондаренко, генеральный директор украинской компании-разработчика ПО Mauris, обратил внимание, что разработать мессенджер и встроить его в приложение — долгий и дорогой процесс. Также он определил несколько пунктов, которые учитывать владельцу приложения при заказе разработке мессенджера. 

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

Какая первая ассоциация приходит к вам в голову при упоминании слова «мессенджер»? Большинство наших сотрудников и клиентов ответят так: простая форма общения. Акцент в данном словосочетании делается именно на слове «простая». В этом заключается ошибка большинства людей при оценке трудозатрат на реализацию и поддержку работы мессенджера.

За простой функцией кроется огромная работа и сложная информационная инфраструктура, которая позволяет нам отправлять простые текстовые сообщения.

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

Ключевыми факторами успеха таких проектов, как WhatsApp, Telegram или Viber, являются:

  • Простота и удобство;
  • Надежность;
  • Большая база пользователей.

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

Итак, подробнее пройдемся по факторам успеха приложений типа мессенджеров.

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

  • Статусы отправлено, доставлено, прочитано;
  • Возможность копировать сообщение;
  • Возможность пересылать, отвечать на конкретное сообщение;
  • Возможность удалять сообщения у себя или и у себя, и у собеседника;
  • Отправка смайлов (даже тут есть проблема соответствия смайлов между версиями Android и iOS);
  • Локальное хранение диалогов;
  • Поиск в диалоге;
  • Возможность отключить уведомления новых сообщений в конкретном диалоге;
  • Возможность удаления диалога;
  • Отправка изображений с встроенным редактором по типу упрощенного фотошопа с конвертированием их перед отправкой для уменьшения размера файла;
  • Отправка и открытие файла;
  • Редактирование видео, конвертация, отправка, воспроизведение;
  • Отправка контакта из телефонной книги;
  • Отправка геопозиции.

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

За каждым из них стоит огромная работа команды проекта, и нужно понимать, что на реализацию каждого из пунктов потребуется уйма времени и ресурсов

Люди привыкли к безотказному выполнению всех пожеланий, что требует дополнительных вложений в разработку. Причина этому — ориентация на лидеров рынка, которые вкладывают семизначные суммы в свои проекты. «Хочу такой же мессенджер, как WhatsApp. Сможете сделать за 2 месяца?». Клиенты обычно не понимают, что простота и удобство прямо пропорциональны количеству времени и денег, потраченных на разработку.

Надежность. Каждый пользователь хочет со 100% уверенностью знать, что сообщение будет отправлено, получено, прочитано и отправитель хочет быть проинформирован об этом. Все клиенты мессенджера (телефон, планшет, веб-версия) должны быть синхронизированы.

Дополнительные требования пользователя: обеспечить защищенность канала связи, чтобы другие люди, включая сотрудников, поддерживающих мессенджер, никак не могли прочитать переписки. Последним пожеланием пользователя к «простому мессенджеру» будет возможность подгрузки старых диалогов при авторизации с другого устройства.

В итоге, мы получаем колоссальный объем работы. Забыли упомянуть еще одно логичное пожелание клиента: если упадет один из серверов, доступность сервиса не должна пострадать. Таким образом, все эти, казалось бы, простые пожелания выливаются в долгие месяцы работы. А долго равно дорого.

Большая база пользователей. Как ни странно, именно от этого пункта напрямую зависит стоимость и срок разработки мессенджера, а также стоимость его дальнейшей поддержки. Если вы рассчитываете на 10 000 пользователей, где 500 человек будут онлайн – архитектура программного решения будет проста до неприличия. Данный проект смогут реализовать 50% программистов, доступных на рынке. В случае 1 000 000 пользователей и 50 000 человек онлайн – срок разработки увеличится минимум в 2 раза, как и зарплата специалистов, способных качественно реализовать такое решение. Еще нужно помнить, что таких компетентных разработчиков на рынке не более 20%. Поэтому стоит запастись терпением и деньгами.

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

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

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

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

Мессенджер как айсберг. Обычно мы видим не более 10%, а 90% усилий программистов покоятся под гладью воды.

Напоследок два интересных факта по данной теме:

  • Стоимость месячной поддержки мессенджера Telegram обходится в $1 млн;
  • Facebook купил Whatsapp за $19 млрд.

Автор: Владимир Бондаренко, CEO Mauris

Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.