Для создания конкурента, не нужно реализовывать сразу все функции: можно и нужно сфокусироваться на чем-то одном. Либо на VoIP и IRC. Либо на реализации всего остального функционала, превращающего Discord из обычного мессенджера в социальную сеть.
Протоколы оптимизации передачи аудио и видеоданных шагнули далеко вперед: Не обязательно разрабатывать с нуля свой протокол передачи данных, для обеспечения конфиденциальности и быстроты одновременно. Можно воспользоваться готовыми протоколами, обеспечив себе скорость, дешевизну и отказоустойчивость готового ПО. Как пример. В качестве альтернативы можно использовать децентрализованный протокол Matrix, который не нуждается в создании ряда серверов, для хранения переписки. Тоже касается и протоколов оптимизации передачи аудио и видеоданных.
Для обеспечения множества IRC-серверов, не обязательно иметь физические сервера: на изначальном этапе, можно арендовать облачные мощности, или используя протоколы по типу Matrix — организовать передачу данных по системе P2P.
Неудобство навигации среди пользователей и мелкие недочеты: несмотря на то, что Discord значительно упрощает интерфейс, многий функционал остается непривычен для большинства пользователей. Можно взять за основы стандарты, используемые в более популярных альтернативах (whatsapp, telegram, viber, etc) в качестве базы для собственного GUI.
Как разработать аналог Discord
Переходя от теории к практике, что нужно для того чтобы разработать минимально работоспособный клон Discord.
Для этого разработайте базовый функционал, на основе которого будете в дальнейшем проводить модернизацию. И речь идет не о банальном «создайте мессенджер с видеосвязью, добавьте сложную иерархию и натяните Gui», а о вещах, которые позволят создать действительно конкурента Discord и предложить пользователям УПП (уникальное продуктовое предложение).
Определите подходящий алгоритм для передачи текста, звука и видео. Основная сложность между выбором простоты и оптимизации. Не всегда то, что хорошо оптимизировано использует трафик, легко декодируется на клиентском ПК.
Определите подходящий контейнер для всего контента. Discord в качестве контейнера использует собственные выделенные сервера. Альтернативой этому может послужить P2P, когда ничего из передаваемого не храниться на серверах. При этом важно обеспечить механизмы, чтобы данные не терялись какое-то время.
Проработайте Api. Никто не сможет улучшить программный продукт лучше, чем это сделают энтузиасты. Тот же Discord большей частью ботов и функционалом обеспечен именно коммьюнити. Даже самые знаменитые боты, отвечающие за возможность легально прослушивать лицензионный контент без рекламы.
Оптимизируйте Gui. Маневрируя между гибкостью настроек, и удобством базового пресета. Проще всего воспользоваться стандартами дизайна, и не выдумывать велосипед.
Заложите основы кроссплатформенности на раннем этапе разработки. Подберите фреймворки, языки программирования и другие средства разработки таким образом, чтобы код минимально отличался на всех устройствах. Хороший пример «виртуальная машина Java» или её более оптимальный вариант для разработки — elixir.
И уже имея эти наработки, приступайте к разработке своего MVP.
Определяем Нишу — находим ЦА
Перед определением подхода к монетизации продукта — рассмотрим какую аудиторию смог под себя подмять Discord, какие доходы у него, и как соотноситься общее кол-во пользователей к подписчикам и платежеспособной аудитории
Все данные предоставлены статистическим агрегатором.
Топ серверов Discord
Первое что бросается в глаза, несмотря на переформатирование платформы, наибольшие серверы по популярности — это игровые серверы. Общее количество пользователей, первых 10 каналов составляет более 5 миллионов пользователей.
Финансовые данные Discord
Discord во многом локальная платформа. Т.к. более 30% пользователей зарегистрированы на территории Соединенных штатов Америки. А это около 100 миллионов аккаунтов.
Другая статистика 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.
Итого имеем:
- C++ — базовое ядро программы.
- JS — базовый скриптовый язык.
- Python — для сетевого кода.
- React — формирование GUI.
- Elixir — обеспечение кроссплатформенности.
- Rust — для оптимизации использования памяти.
+ не стоит забывать об используемом внутреннем Api для разработчиков.
Как может сделать клон Discord — Merehead
Ранее описанные технологии для создания Discord являются не единственно возможными. В качестве альтернативы Merehead может предложить:
- Вариации JS для бекенда
- Использование Nginx для поддержки серверов.
- Облачные хранилища от amazon.
Backend разработка Merehead
Этого будет достаточно для реализации базового функционала discord клона на этапе MVP. Дальнейшее наращение функционала будет осуществляться при помощи подключения дополнительных фреймворков. Оптимальный набор языков в случае с discord клоном не является однозначным, т.к. зависит от того, насколько углублять базовые механики, планирует инвестор.
Мобильная разработка Merehead
В качестве мобильного фронтенда могут быть предложены kotlin и swift. Эти языки обладают достаточной гибкостью для имплементации в них нового функционала, при этом достаточно защищены, чтобы обеспечить безопасность получившегося продукта.
Варианты оптимизировать безопасность.
Функционал, требующий реализации для клона Discord
Если рассматривать продукт в режиме базового запуска. То есть базовый минимум, который нужно учесть с поправкой на все сказанное относительно оптимизации протоколов. А именно.
IRC
База, без которой нельзя создать социальную сеть. А именно средства для доставки сообщений. В дискорд это выделено через бесчисленные выделенные сервера. Где каждый сервер — это отдельный канал (отдельный чат).
В качестве работоспособной альтернативы, может выступить IRC с использованием P2P сетей. В этом случае доставка сообщений целиком ляжет на пользователей самой системы. А каждый из пользователей чата будет его локальным хранилищем данных. Будь то аудио, видео, текст или файлы.
VoIP
Пожалуй, главная функция и камень преткновения. Сегодня на рынке VoIP существует большое количество готовых протоколов и оптимальных решений.
Воспользоваться готовым, или разрабатывать свой протокол данных. Рассчитывать на мощные устройства, или на старые ноутбуки и смартфоны. Как поступать с передачей данных при плохой связи. Вот минимальный список проблем, которые нужно решить, занимаясь реализацией этой функции.
Streaming features
Для клона Discord недостаточно просто реализовать функцию трансляции экрана другим пользователям. Оптимальным решением станет подключение уже существующих сервисом стриминга и программ захвата экрана — Н-Р интеграция OBS.
Data storage
Хранение данных в стиле Discord можно сделать несколькими путями. Через аренду серверов для хранения данных. Через создание собственных серверов. Или оформить все через P2P при помощи принудительного копирования информации всем участникам «сервера/канала/комнаты/чата».
У каждого из подходов есть свои преимущества и недостатки, как на этапе эксплуатации, так и на этапе разработки.
Gui Optimization
Одной из слабых сторон современного Discord — называют его gui. Он потерял большую часть гибкости, при этом обрел «попсовость» следуя стандартам. При разработке клона дискорда, чтобы сделать его конкурентоспособным, необходимо оптимизировать интерфейс, сделать его легким, читаемым, и при этом оставить возможность для модернизации.
Подход можно взять у бесплатного аудиопроигрывателя Aimp, который предлагает пользователям кардинально менять интерфейс при помощи готовых скин паков, или написать свой GUI
Api
Лучше озаботиться внутренним скриптовым языком на этапе ядра будущего приложения. Как уже упоминалось ранее. Возможности для самостоятельной модернизации позволят значительно расширить функционал за счет коммьюнити уже на ранних этапах.
Помимо самой разработки API, необходимо озаботиться и SDK для функционала.
Стоимость запуска аналога Discord
Фронт работ от конкурентов
Коллеги из auxano global services дали такую базовую оценку предстоящих работ. При этом стоимость проекта они оценивают в диапазоне от 20 до 30 тысяч у.е.
Стоимость клона Discord
При этом компания находится в США, а, следовательно, можно аппроксимировать данные исходя из среднего рейта исполнителей в $100/hour, что приведет нас к цифре от 2-х до 3-х сотен часов... И получить следующие данные
Разработка в США: 300 часов = 30 к у.е.
Разработка в западной Европе: 300 часов по 70 у.е. — 21 к у.е.
Разработка в восточной Европе: — 300 часов по 35 у.е. — 10,5 к у.е.
Но нужно помнить, что это расчетная цена исключительно в режиме реализации MVP. Без дальнейшей модернизации поддержки и правильного подхода.
Итоги и выводы
Итог неочевиден — создание клона Discord не равно созданию мессенджера с функциями VoIP. Даже на этапе MVP продукта, нужно собрать что-то, из чего пользователи в дальнейшем будут делать свой конструктор, и модернизировать приложение на свой вкус. При этом важно соблюдать баланс между свободой творчества, безопасностью и оптимизацией кода и использования ресурсов.