// Мобильные приложения

Стоимость Разработки Корпоративного Приложения как Discord

Discord — проприетарное приложение, созданное полностью на открытых технологиях. Сегодня Discord не просто voip с элементами мессенджера по типу Whatsapp — это полноценная социальная сеть с поддержкой кросс платформы, и большим функционалом.

Приложение «Discord» — что такое: как устроено

Изначально Discord — ещё один конкурент для умирающего Skype, направленный на оптимизацию протоколов VoIP телефонии. Первоначальным преимуществом программного обеспечения, было сравнительно небольшое потребление трафика. В дополнение к этому, Discord поддерживает:
  1. Разделение контактов на чаты и комнаты (отдельные выделенные сервера)
  2. Возможность мгновенной доставки сообщений.
  3. Оптимизированный протокол кодирования и декодирования звука.
  4. Оптимизированный протокол трансляции экрана, с интеграцией OBS и другого стрим-софта.
  5. Мощный API позволяющий расширить функционал серверов.
  6. Телефония в режиме рации.
  7. Изменяемый Gui в зависимости от потребностей пользователя.
Ключевой особенностью дискорда в отношении других решений, является множественное разделение «комнат чата» на отдельные IRC-сервера. В сочетании с максимальной оптимизацией протокола передачи звука и видео другим участникам сервера, Discord и получили свою изначальную базу пользователей.

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

Целесообразность создания клона для Discord

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

Изначально Discord разрабатывался как структура для геймеров: Следовательно, его современный функционал, имеет не до конца приветливый интерфейс, и многие вещи опираются на Api. Что делает его не настолько удобным для рядового пользователя, не пользовавшегося раньше схожим инструменталом с /bash командами для управления клиентом.

Discord — очень тяжеловесное приложение: Чем больший функционал он реализует, тем более тяжеловесным становиться клиент. Уже сейчас практически невозможно пользоваться Discord на ПК, ноутбуках и нетбуках с малым кол-вом ОЗУ и небольшой тактовой частотой процессора. И на более мощных машинах, тоже существуют проблемы с запуском и оптимизацией клиента. В целом Discord страдает болезнью «Chrome» — когда изначально компактное и быстрое приложение, в течение разработки становиться значительно более тяжеловесным чем приложение, которое оно должно было изначально заменить.

Для создания конкурента, не нужно реализовывать сразу все функции: можно и нужно сфокусироваться на чем-то одном. Либо на VoIP и IRC. Либо на реализации всего остального функционала, превращающего Discord из корпоративного мессенджера в социальную сеть.

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

Для обеспечения множества IRC-серверов, не обязательно иметь физические сервера: на изначальном этапе, можно арендовать облачные мощности, или используя протоколы по типу Matrix — организовать передачу данных по системе P2P.

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

Как разработать аналог Discord

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

Для этого разработайте базовый функционал, на основе которого будете в дальнейшем проводить модернизацию. И речь идет не о банальном «создайте мессенджер с видеосвязью, добавьте сложную иерархию и натяните Gui», а о вещах, которые позволят создать действительно конкурента Discord и предложить пользователям УПП (уникальное продуктовое предложение).

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

Определите подходящий контейнер для всего контента. Discord в качестве контейнера использует собственные выделенные сервера. Альтернативой этому может послужить P2P, когда ничего из передаваемого не храниться на серверах. При этом важно обеспечить механизмы, чтобы данные не терялись какое-то время.

Проработайте Api. Никто не сможет улучшить программный продукт лучше, чем это сделают энтузиасты. Тот же Discord большей частью ботов и функционалом обеспечен именно коммьюнити. Даже самые знаменитые боты, отвечающие за возможность легально прослушивать лицензионный контент без рекламы.

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

Заложите основы кроссплатформенности на раннем этапе разработки. Подберите фреймворки, языки программирования и другие средства разработки таким образом, чтобы код минимально отличался на всех устройствах. Хороший пример «виртуальная машина Java» или её более оптимальный вариант для разработки — elixir.

И уже имея эти наработки, приступайте к разработке своего MVP.

Определяем Нишу — находим ЦА

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

Все данные предоставлены статистическим агрегатором.

Топ серверов Discord

Топ серверов Discord

Первое что бросается в глаза, несмотря на переформатирование платформы, наибольшие серверы по популярности — это игровые серверы. Общее количество пользователей, первых 10 каналов составляет более 5 миллионов пользователей.

Финансовые данные Discord

Финансовые данные Discord

Discord во многом локальная платформа. Т.к. более 30% пользователей зарегистрированы на территории Соединенных штатов Америки. А это около 100 миллионов аккаунтов.

Другая статистика Discord

Другая статистика Discord

При средней подписке в 10 долларов, дискорд смогли заработать больше 130 миллионов в 20-м году, что путем несложных калькуляций даёт аппроксимированную цифру в — 13 миллионов платных подписчиков, или всего 4% платежеспособной аудитории.

При этом цифра резко возросла в 2021-ом году с введением платной кастомизации серверов Discord.

Бизнес модель Discord

Монетизация продукта по типу Discord отнюдь не такая очевидная. Имея раскрученный бренд — компания смогла привлечь всего 4% подписчиков. Что подразумевает, что люди не готовы платить за продукт по типу Discord. Боты и Api по большей части распространяются на donationware модели.

Следовательно, к продукту нужен другой подход.

Здесь важно соблюсти баланс. Приложение должно оставаться комфортным для использования, и при этом мотивировать к подписке, или другим денежным вливаниям. Совсем другая бизнес модель внедряется при построении приложения для такси. Модель оплаты за комиссию можно внедрить в Дискорд при условии открытия внутреннего интернет-магазина.

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

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

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

Главное не увлечься, и не превратить коммуникатор, в продукт с battlepass и гачи механиками.

Техническая архитектура

Чтобы разработать клон Discord — нужно разбираться в технической составляющей программирования такого гиганта.

В основе программы находится базовое трио — C++; Js; Python. В дополнении к этому используется модуль React для создания GUI. Elixir с его виртуальной машиной, в качестве альтернативы Java. За счет Elixir во многом обеспечивается кроссплатформенность.

Rust — специфический язык программирования, с улучшенным менеджментом ресурсов памяти. Во многом базируется на синтаксисе C.

Итого имеем:

  1. C++ — базовое ядро программы.
  2. JS — базовый скриптовый язык.
  3. Python — для сетевого кода.
  4. React — формирование GUI.
  5. Elixir — обеспечение кроссплатформенности.
  6. Rust — для оптимизации использования памяти.
+ не стоит забывать об используемом внутреннем Api для разработчиков.

Как может сделать клон Discord — Merehead

Ранее описанные технологии для создания Discord являются не единственно возможными. В качестве альтернативы Merehead может предложить:
  1. Вариации JS для бекенда
  2. Использование Nginx для поддержки серверов.
  3. Облачные хранилища от amazon.
Backend разработка Merehead
Backend разработка Merehead
Этого будет достаточно для реализации базового функционала discord клона на этапе MVP. Дальнейшее наращение функционала будет осуществляться при помощи подключения дополнительных фреймворков, которые активно применяются для разработки интерактивного фитнес-приложения. Оптимальный набор языков в случае с discord клоном не является однозначным, т.к. зависит от того, насколько углублять базовые механики, планирует инвестор.

Мобильная разработка Merehead

Мобильная разработка Merehead

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

Функционал, требующий реализации для клона Discord

Если рассматривать продукт в режиме базового запуска. То есть базовый минимум, который нужно учесть с поправкой на все сказанное относительно оптимизации протоколов. А именно.

IRC

База, без которой нельзя создать социальную сеть. А именно средства для доставки сообщений. В дискорд это выделено через бесчисленные выделенные сервера. Где каждый сервер — это отдельный канал (отдельный чат).

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

VoIP

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

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

Streaming features

Для клона Discord недостаточно просто реализовать функцию трансляции экрана другим пользователям. Оптимальным решением станет подключение уже существующих сервисом стриминга и программ захвата экрана — Н-Р интеграция OBS.

Data storage

Хранение данных в стиле Discord можно сделать несколькими путями. Через аренду серверов для хранения данных. Через создание собственных серверов. Или оформить все через P2P при помощи принудительного копирования информации всем участникам «сервера/канала/комнаты/чата».

У каждого из подходов есть свои преимущества и недостатки, как на этапе эксплуатации, так и на этапе разработки.

Gui Optimization

Одной из слабых сторон современного Discord — называют его gui. Он потерял большую часть гибкости, при этом обрел «попсовость» следуя стандартам. При разработке клона Slack или Discord, чтобы сделать его конкурентоспособным, необходимо оптимизировать интерфейс, сделать его легким, читаемым, и при этом оставить возможность для модернизации.

Подход можно взять у бесплатного аудиопроигрывателя Aimp, который предлагает пользователям кардинально менять интерфейс при помощи готовых скин паков, или написать свой GUI

Api

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

Помимо самой разработки API, необходимо озаботиться и SDK для функционала.

Стоимость запуска аналога Discord

Discord приложение имеет богатый набор функция для корпоративного использования, особенно в гейм индустрии. Команда разработчиков продолжают его обновлять. Каждый месяц выходят новые функции, которые делают приложение более интересным для пользователей. Стоимость мобильной разработки приложения как Discord составит от 200,000 до 500,000 долл и займет более 6 месяц. Одним из самых сложны модулей это протокол взаимодействия между пользователями. Данное решение позволит отправлять сотни тысяч сообщений в день. Стоит заметить, реализация этого модуля займет около 3-4 недель работы. Конечно, учитывая ограниченный бюджет можно начать с МВП версии за 40,000 – 80,000 долл. В этом случае ваше приложение будет иметь ограниченный набор функций с потенциалом масштабирования.

Итоги и выводы

Итог неочевиден — создание клона Discord не равно созданию мессенджера как Wechat с функциями VoIP. Даже на этапе MVP продукта, нужно собрать что-то, из чего пользователи в дальнейшем будут делать свой конструктор, и модернизировать приложение на свой вкус. При этом важно соблюдать баланс между свободой творчества, безопасностью и оптимизацией кода и использования ресурсов.

Есть вопросы? Задайте их здесь

Имя *
Email *
Телефон
Ваш бюджет
Сообщение