logo

Создали мессенджер
для общения и работы

Разработали с нуля защищенное приложение для обмена сообщениями со сквозным шифрованием и масштабируемой архитектурой.
how to develop a chat app.png
workplace communication app.png
ИндустрияКоммуникации
Тип бизнесаB2C-стартап, B2B-стартап
РегионИзраиль
ИндустрияКоммуникации
Тип бизнесаB2C-стартап, B2B-стартап
РегионИзраиль

Клиент

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

Разработка собственного мессенджера стала бы для бизнеса клиента наилучшим решением, и в 2018 году он обратился к нам с такой задачей. Мы в то время как раз работали над другим его проектом, поэтому вопроса о выборе исполнителя не возникло.

Столкнулись с похожей бизнес-задачей?Давайте ее обсудим
workplace messenger.png
work communication app.png
Столкнулись с похожей бизнес-задачей?Давайте ее обсудим

Вызовы

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

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

От нас потребовалось полное погружение в механизмы и протоколы работы с мессенджерами.
employee communication app.png

1. Особое внимание архитектуре

Мессенджеры – высоконагруженные приложения: за одну секунду на сервер приходят запросы от тысяч пользователей. Обработка и передача сообщений должны происходить мгновенно. Надежность и стабильность напрямую зависели от выбора архитектурного решения на старте.

messaging app development.png

2. Высокий уровень безопасности

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

Классический мессенджер в сочетании с передовым функционалом

Внедрение сквозного шифрования

Было действительно сложным, и мы гордимся, что справились с этой задачей. Все типы личных сообщений и звонки (включая чаты, изображения, видео, голосовые сообщения и файлы) защищены алгоритмом шифрования AES-256-CBC. Серверы не имеют доступа к закрытым ключам пользователей. Ключ хранится на самом устройстве и доступен только на нем. Сообщения могут быть расшифрованы лишь получателем – третьи лица и сервер не могут их перехватить и прочитать.

Полная конфиденциальность

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

Современный подход к архитектуре

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

Безупречный UI/UX

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

Дизайнеры проделали грандиозную работу по части мобильной версии – их бэклог был одним из самых объемных. Постоянно проводили дизайн-ревью с клиентом и дорабатывали каждый элемент, чтобы довести визуальную часть до идеала. Вымеряли удобство жестов на iOS буквально по пикселям, но добились своего: получилось удобно, эффектно и лаконично.

Горизонтальное масштабирование базы данных

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

Оптимизация расхода батареи

У каждого приложения свой «аппетит», и одно из самых требовательных – это мессенджеры, поскольку они работают фоном. У нас получилось снизить потребление заряда смартфона на 40% за счет:
— внедрения мониторинга уровня заряда батареи и настройки частоты обновлений в зависимости от уровня заряда;
— уменьшения размера загружаемых данных (сжатие пересылаемых файлов на стороне сервера, кэширование http-ответов).

Таймер сообщений

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

Бесшовный пользовательский опыт

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

Доступность на любых устройствах

Параллельно мобильной разработке шла работа над веб-версией. Приложение доступно для смартфонов Android и iOS, настольных компьютеров Windows и Mac и даже носимых устройств iWatch.

Технологии

technology
iOS

Swift

technology
Android

Kotlin

technology
Бэкенд

Go

technology
Фронтенд

Angular

technology
Инфраструктура

AWS

technology
Инфраструктура

Grafana

technology
База данных

MongoDB

technology
База данных

ScyllaDB

Результат

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

Мессенджер напоминает привычные WhatsApp и Viber, но одновременно содержит дополнительные и на тот момент уникальные функции, не уходя при этом в сложный, разрозненный и непонятный продукт:

  • аудио- и видеозвонки;
  • голосовые сообщения;
  • видеосообщения;
  • обмен файлами (фото, видео);
  • доступ к геоданным;
  • групповая конференция до 10 участников;
  • сквозное шифрование;
  • исчезающие и скрытые сообщения;
  • группы и каналы;
  • отправка файлов большого объема.
100%-ная

защита от киберугроз благодаря сквозному шифрованию

grade
на 40%

меньше потребление заряда батареи по сравнению с другими мессенджерами

grade
1 млн

скачиваний приложения во всем мире

grade

Напишите нам

/ 5000

Что происходит дальше:

  • Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.

  • Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.

  • Договариваемся с вами о следующей встрече, чтобы согласовать предложение.

  • Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.