Slack — это мультиплатформенная корпоративная замкнутая экосистема по управлению и разработке внутренних проектов, включающая интеграцию в современные облачные сервисы, называющая себя корпоративным мессенджером.
Разработка клона Slack подразумевает разбор экосистемы корпоративного софта на составляющие.
Рынок Мессенджеров перегрет: Когда создавался Discord и Slack, на рынке ещё не было больших конкурентов с внутренними экосистемами — TG, Viber, Whatsapp, и др.
Для создания практического решения нужно УТП: Мессенджера с хорошей оптимизацией и безопасностью недостаточно для конкурирования с существующими решениями. необходимо определиться с дополнительным функционалом.
Slack не сразу оброс текущим функционалом: Изначально это корпоративный мессенджер с удобной системой навигации по диалогу. При разработке нужно сфокусироваться на главном, а дальнейший функционал внедрять постепенно.
Понять популярность Slack: на этапе создания, Корпоративный мессенджер выступал альтернативой почтовым сервисам, и IRC системам вроде ICQ и Skype с некоторыми функциями такси приложения. Беря лучшее из каждой платформы, и избегая недостатков.
Но у Slack как и у других узких бизнес решений, есть свои недостатки. К примеру хранение информации на глобальных облачных серверах, что при большой нагрузке, ограничивает работоспособность всей экосистемы.
Используя недостатки существующих программных комплексов, можно создать собственное ПО, специализирующееся на их решении. Например, создать локальное копирование на хостинг/сервера компании как дополнительную и уникальную возможность обеспечения бесперебойности и отказоустойчивости системы.
Как разработать Slack? Если коротко, то нам понадобятся:
Мессенджер. Важные факторы при разработке корпоративного мессенджера, его отказоустойчивость, оптимизация использования трафика, безопасность, и мгновенная доставка. Можно воспользоваться существующими протоколами IRC, или их аналогами в качестве фундамента для ПО.
Хостинг с оптимизацией. Основная задача подобного хостинга — упростить передачу простейшего медиа, и быть независимым от сторонних серверов. Чем лучше организован канал хранения данных для пользователя. тем меньшую задержку, а следовательно и меньший дискомфорт при работе с документами, файлами и воркспейсом он будет ощущать. На первом этапе не нужно углубляться и создавать собственный github. Ранее мы обозревали схожее решение.
Создание и/или интеграция функционала для чат-ботов. Здесь важно не написать готовые чат-боты для интеграции на старте, а именно создать удобный api функционал, который позволит community самостоятельно разрабатывать и внедрять подходящие именно им боты в Пакет программного обеспечения.
Интеграция в облачные сервисы. здесь важно соблюдать баланс между быстродействием получившегося пакета программного обеспечения и его удобством. Для начала можно ограничиться ручным внедрением облачных сервисом из смежных областей. в дальнейшем, пройдя этап MVP переходить к более комплексным внедрениям.
Ссылки позволяют подробно рассмотреть и оценить стоимость комплексной разработки каждого элемента по типу разработки приложения для фитнес. Помните, что функционал необходимо объеденить в один хорошо оптимизированный пакет программного обеспечения.
Чтобы создать конкурента Slack — нужно выявить особенности ЦА, и почему они готовы платить за программный продукт подобный Slack.
Общая пользовательская база, не равна количеству покупателей. Даже у slack количество купивших ПО на подписочной основе, менее одного процента, по отношению к общей пользовательской базе. Это нужно учитывать, как при разработке, так и при дальнейшей поддержке программного продукта.
Клон Slack — это не Blockchain продукт с дорожной картой и документами для инвесторов. монетизация подобного проекта значительно проще и прозрачней.
Реклама как форс-фактор для перевода из Free на premium. Реклама как элемент монетизации применяется рядом популярных мессенджеров Whatsapp и Viber и Telegram. Она поможет получить базовый прогнозируемый доход на поддержание команды разработчиков, обслуживающих и модернизирующих приложение на первых этапах.
Маркетинг. Ранее упоминалась перегретость рынка. Следовательно, для того, чтобы выделиться среди конкурентов, приложение должно быть видно пользователям и более интересным как мессенджер Wechat. Недостаточно разработать его и опубликовать в сторе. Затраты на маркетинг способны поглотить до 50% бюджета разработки на ранних этапах, и в несколько раз превысить эту стоимость на период активной раскрутки приложения.
Т.к. Slack это экосистема, то важно сегментировать разработку для оптимизации расходов. За основу взять «корпоративный мессенджер».
Техническая база Slack построена на:
+ Дополнительный язык для реализации кросс платформы. Здесь уже зависит от предпочтений и пожеланий. Но функционал должен быть полностью продублирован и синхронизирован с смарт-устройствами.
++ Дополнительно на старте необходимо заложить средства и силы на UI/UX оптимизацию интерфейсов. Нужен отдельный специалист, или можно воспользоваться стандартами.
Указанные ранее языки программирования, являются не единственными.
В рамках Back-end разработки Merehead может предложить разработку на базе следующих технологий:
Рассмотрим основной функционал Slack. Этот функционал является базово необходимым для пользователя, мигрирующего на конкурентную платформу. Некоторые функции используются и в других типах приложений, например, доставки еды.
Важно синхронизировать сообщения на всех устройствах, и иметь локальные копии истории на самом устройстве (желательно в зашифрованном виде).
Подводный камень: Оптимизация потребления трафика. Система должна работать быстро.
Подводный камень: у RegExpr есть определенные стандарты, и важно балансировать между удобством, и соответствиям стандартов запросов через RegExpr.
Функция, меньше относящаяся к IRС, и больше к форумным перепискам. Важно чтобы цитирование было многоуровневым, для того чтобы быстро понять, о чем идёт текущая дискуссия.
Подводный камень: Избежать загромождения экрана при многоуровневом цитировании.
Подразумевает создание внутреннего редактора, способного быстро редактировать основные популярные форматы документов.
Подводный камень: учитывая внутренние шифрования различных контейнеров (PDF, DocX), необходимо распаковывать и запаковывать контейнер внутренними средствами так, чтобы не повредить его.
Управление уведомлениями, важна для корпоративной разработки. Система уведомлений «должна быть гибкой». К примеру, в Slack можно уведомлять пользователей по группам, или по ключевым словам. Дополнительно пользователь должен иметь возможность отключать уведомления, или изменять их звуковое и визуальное сопровождение.
Функция, которая позволяет успешней совершить миграцию из других корпоративных экосистем. По возможности, использовать для импорта и экспорта диалогов, какой-нибудь общедоступный формат без шифрования, по типу XML.
Подводный камень: Разные стандарты в экосистемах для импорта и экспорта данных.
Когда все современные мессенджеры стремятся утяжелить интерфейс, стикерами, гиф анимацией, и наборами смайлов (emoji), нужно оставить пользователю возможность переключения в упрощенный вид, с акцентом на текстовую составляющую.
Если slack-клон разрабатывается как корпоративная экосистема, то уже на базовом этапе нужно оставлять возможность хранить и передавать файлы, через промежуточное облачное хранилище.
Подводный камень: Локальные копии на сервера клиента
Подводный камень: подобная глубина интеграции может создать большие проблемы с отказоустойчивостью и безопасностью получившегося продукта!
Slack имеет расширенную архитектуру и внутренние компоненты для быстрой работы приложения. Платформа имеет ряд преимуществ для работы с командами и хорошо подходит для корпоративной коммуникации. Стоимость разработки приложения как Slack составит от 200,000 до 500,000 долл и во многом будет зависит от требований по реализации. Команда разработчиков будет заниматься кодирование от 6 до 12 месяцев чтобы реализовать проект с указанным набором функций. Мобильное приложение, десктоп приложение и веб версия делает его удобны для использования на разных устройствах. Но всегда можно начать с МВП версии и минимальным набором функций. Это даст возможность запустить проект в ближайшее время и небольшим бюджетом от 40,000 до 80,000 долл. Внутри проекта будет использоваться микро-сервисная архитектура для легкого масштабирования в будущем.
Важно: Рассчитанная стоимость указана, исключительно из подхода MVP — когда разрабатывается минимальный функционал за короткие сроки. Дополнительное тестирование, рефакторинг кода, приведение приложения в надлежащий вид, может увеличить стоимость разработки пропорционально.