Как разработать Slack? Если коротко, то нам понадобятся:
Мессенджер. Важные факторы при разработке мессенджера, его отказоустойчивость, оптимизация использования трафика, безопасность, и мгновенная доставка. Можно воспользоваться существующими протоколами IRC, или их аналогами в качестве фундамента для ПО.
Хостинг с оптимизацией. Основная задача подобного хостинга — упростить передачу простейшего медиа, и быть независимым от сторонних серверов. Чем лучше организован канал хранения данных для пользователя. тем меньшую задержку, а следовательно и меньший дискомфорт при работе с документами, файлами и воркспейсом он будет ощущать. На первом этапе не нужно углубляться и создавать собственный github. Ранее мы обозревали схожее решение.
Создание и/или интеграция функционала для чат-ботов. Здесь важно не написать готовые чат-боты для интеграции на старте, а именно создать удобный api функционал, который позволит community самостоятельно разрабатывать и внедрять подходящие именно им боты в Пакет программного обеспечения.
Интеграция в облачные сервисы. здесь важно соблюдать баланс между быстродействием получившегося пакета программного обеспечения и его удобством. Для начала можно ограничиться ручным внедрением облачных сервисом из смежных областей. в дальнейшем, пройдя этап MVP переходить к более комплексным внедрениям.
Ссылки позволяют подробно рассмотреть и оценить стоимость комплексной разработки каждого элемента. Помните, что функционал необходимо объеденить в один хорошо оптимизированный пакет программного обеспечения.
ЦА и Ниша
Чтобы создать конкурента Slack — нужно выявить особенности ЦА, и почему они готовы платить за программный продукт подобный Slack.
Данные о количестве платных пользователей slack
УТП Slack — Объединение нескольких не взаимосвязанных сервисов под одной коробкой. А именно IRC чат и файлообменник + UI optimization.
Данные о количестве организаций использующих Slack.
Можно обратить внимание на существующие корпоративные сервисы, пользующиеся популярностью, и попытаться объединить их в один программный пакет.
Общая пользовательская база, не равна количеству покупателей. Даже у slack количество купивших ПО на подписочной основе, менее одного процента, по отношению к общей пользовательской базе. Это нужно учитывать, как при разработке, так и при дальнейшей поддержке программного продукта.
Бизнес модель: Как на этом заработать?
Клон Slack — это не Blockchain продукт с дорожной картой и документами для инвесторов. монетизация подобного проекта значительно проще и прозрачней.
Пример Freemium модели на базе Slack планов подписки
Freemium по подписке: Базовый функционал должен быть доступен бесплатно, и прекрасно оптимизирован. А именно: мессенджер и небольшой объем встроенного хранилища. Все дополнительные корпоративные функции, за счет которых приложение будет выделяться среди конкурентов, по подписочному принципу. Наибольшая часть полезных функций, включая Api должна быть в базовом подписочном пакете.
Реклама как форс-фактор для перевода из Free на premium. Реклама как элемент монетизации применяется рядом мессенджеров н-р: Whatsapp и Viber и Telegram. Она поможет получить базовый прогнозируемый доход на поддержание команды разработчиков, обслуживающих и модернизирующих приложение на первых этапах.
Маркетинг. Ранее упоминалась перегретость рынка. Следовательно, для того, чтобы выделиться среди конкурентов, приложение должно быть видно пользователям. Недостаточно разработать его и опубликовать в сторе. Затраты на маркетинг способны поглотить до 50% бюджета разработки на ранних этапах, и в несколько раз превысить эту стоимость на период активной раскрутки приложения.
Техническая архитектура
Т.к. Slack это экосистема, то важно сегментировать разработку для оптимизации расходов. За основу взять «корпоративный мессенджер».
Техническая база Slack построена на:
- JS.
- TC.
- Hack.
- C++.
Если упростить, то используется один “
C” Подобный язык. Один скриптовый язык на базе
JS. И один
PHP-образный язык программирования. Следовательно, именно эта связка в разработке и потребуется для создания клона-Slack.
+ Дополнительный язык для реализации кросс платформы. Здесь уже зависит от предпочтений и пожеланий. Но функционал должен быть полностью продублирован и синхронизирован с смарт-устройствами.
++ Дополнительно на старте необходимо заложить средства и силы на UI/UX оптимизацию интерфейсов. Нужен отдельный специалист,или можно воспользоваться стандартами.
Какие решения предлагает Merehead
Указанные ранее языки программирования, являются не единственными.
В рамках Back-end разработки Merehead может предложить разработку на базе следующих технологий:
Технологии для Backend составляющей Slack-клона.
Для фронтент разработки мобильной составляющей, Merehead может предложить следующие технологии:
Технологии для frontend мобильной составляющей Slack-клона.
Функционал, требующий реализации
Рассмотрим основной функционал Slack. Этот функционал является базово необходимым для пользователя, мигрирующего на конкурентную платформу.
IRC
Система доставки сообщений. Желательно с возможностью шифрования. Можно посмотреть решения у TG с их сквозным шифрованием. Можно обойтись и вовсе без него.
Важно синхронизировать сообщения на всех устройствах, и иметь локальные копии истории на самом устройстве (желательно в зашифрованном виде).
Подводный камень: Оптимизация потребления трафика. Система должна работать быстро.
Навигация по сообщениям и внутри файлов
Это основное отличие современного мессенджера с корпоративным уклоном от бытового. Удобная навигация. Разработка должна вестись исходя из потребностей клиента.
- Если это работа с документами — Создать возможность для поиска текста из самого документа.
- Если это работа с файлами — Создать возможность собирать их при помощи тегов, или других маркеров.
Подводный камень: нужно не переусложнить навигацию в процессе её углубления и гибкости настроек.
Reg Expr для поиска
Продвинутая возможность поиска, предназначенная больше для программистов, чем для бытовых пользователей. Позволяет задать наиболее точные параметры поиска при помощи специальных «регулярных выражений».
Подводный камень: у RegExpr есть определенные стандарты, и важно балансировать между удобством, и соответствиям стандартов запросов через RegExpr.
Цитирование сообщений
Функция, меньше относящаяся к IRС, и больше к форумным перепискам. Важно чтобы цитирование было многоуровневым, для того чтобы быстро понять, о чем идёт текущая дискуссия.
Подводный камень: Избежать загромождения экрана при многоуровневом цитировании.
Внутренний редактор документов
Подразумевает создание внутреннего редактора, способного быстро редактировать основные популярные форматы документов.
Подводный камень: учитывая внутренние шифрования различных контейнеров (PDF, DocX), необходимо распаковывать и запаковывать контейнер внутренними средствами так, чтобы не повредить его.
Управление уведомлениями
Управление уведомлениями, важна для менеджеринга корпоративной разработки. Система уведомлений «должна быть гибкой». К примеру, в Slack можно уведомлять пользователей по группам, или по ключевым словам. Дополнительно пользователь должен иметь возможность отключать уведомления, или изменять их звуковое и визуальное сопровождение.
Импортирование диалогов
Функция, которая позволяет успешней совершить миграцию из других корпоративных экосистем. По возможности, использовать для импорта и экспорта диалогов, какой-нибудь общедоступный формат без шифрования, по типу XML.
Подводный камень: Разные стандарты в экосистемах для импорта и экспорта данных.
Упрощенный просмотр беседы
Когда все современные мессенджеры стремятся утяжелить интерфейс, стикерами, гиф анимацией, и наборами смайлов (emoji), нужно оставить пользователю возможность переключения в упрощенный вид, с акцентом на текстовую составляющую.
Файлообменник/ Внутреннее облачное хранилище
Если slack-клон разрабатывается как корпоративная экосистема, то уже на базовом этапе нужно оставлять возможность хранить и передавать файлы, через промежуточное облачное хранилище.
Подводный камень: Локальные копии на сервера клиента
Возможность интеграции с другими сервисами
Подводный камень: подобная глубина интеграции может создать большие проблемы с отказоустойчивостью и безопасностью получившегося продукта!
Стоимость запуска аналога slack
Разработка полного клона Slack в его текущем исполнении, это несколько десятков миллионов долларов, и годы потраченные на создание и интеграцию всего функционала. Однако для запуска минимальной базы (мессенджер + навигация + файлообменник) все дешевле.
Американское Агентство krit — Даёт следующую оценку по эстимейтам, и по цене.
+ 30% наценка на непредвиденные сложности в разработке + почти 4.000 за планирование и разработку изначальной структуры. Итого, заказывая простейший Slack-клон в США, получаем 163.120 USD на разработку.
Получившуюся стоимость, можно рассчитать исходя из эстимейтов на средние ценники компаний разработчиков, и получить аппроксимированную стоимость разработки.
Важно: Рассчитанная стоимость указана, исключительно из подхода MVP — когда разрабатывается минимальный функционал за короткие сроки. Дополнительное тестирование, рефакторинг кода, приведение приложения в надлежащий вид, может увеличить стоимость разработки пропорционально.
А сколько нужно закладывать на маркетинг?
Зависит от того, насколько вы уверены в качестве исходного продукта. Если вы уверены, что ваше приложение конкурентоспособно и способно решать текущие боли клиента оптимальным способом в
корпоративной среде разработки, то смело вкладывайте в маркетинг столько же, сколько ушло на всю разработку.
Подведем итоги
Для разработки Slack-клона, нужно:
- Определить, какую часть из всей экосистемы вы хотите реализовать.
- Определиться с технологиями для написания кода. Это может помочь в дальнейшем с обслуживанием кода.
- Определить хотите ли вы запускаться в режиме MVP, или выводить на рынок полноценный продукт.
- Уделить внимание не просто дизайну, а именно UI/UX оптимизации.