Чат для работы в команде
Первые специализированные протоколы чатов появились задолго до распространения сети Интернет и веб-браузеров. IRC был разработан в 1988 году, а ещё раньше уже работала электронная почта, списки почтовой рассылки, доски объявлений, новостные группы и т д. Можно сказать, что в середине 80х все основные функции сетевого общения уже работали и ничего принципиально нового в последующем не изобрели. Однако в феврале 2014 года появился Slack — специализированный чат не для развлечений, а для командной работы.
Состав проекта:
Единственным существенным недостатком Slack можно считать отсутствие корпоративной версии, которую можно было бы установить на свой сервер. Во многих компаниях политика безопасности требует прохождение всех внутренних коммуникаций исключительно через собственные сервера компании у провайдеров услуг, которые прошли аудит безопасности этой компании и заключили соответствующее SLA-соглашение на сохранность данных. Очевидно, что возникла необходимость в очень похожем продукте, который можно установить на свой сервер и провести полный аудит кода.
Slack на свой сервер
Появилась идея стартапа: реализовать корпоративный мессенджер, похожий на Slack, но на сервере заказчика. Для тестирования идеи было решено взять один из OpenSource реализаций чатов и сделать для него качественное мобильное приложение с удобным интерфейсом.
Мобильное приложение
В мобильном приложении мы реализовали качественный, быстрый и удобный интерфейс для работы с чатом. На момент реализации это приложение работало быстрее и плавнее, чем официальное приложение Slack. При этом оно содержало в себе значительную часть функционала своего «родительского» прототипа.
Функционал
— Интерфейс для админов и пользователей;
— Работа с публичными и приватными каналами;
— Работа с файлами (загрузка, список, поиск);
— Упоминания пользователей выбором из списка и подcветка;
— Поиск с удобной фильтрацией результатов;
— Реакции на сообщения и счётчики;
— Прикреплённые к каналу и избранные сообщения;
Интеграция с YouTrack
— Мы добавили возможность быстро добавлять задачи в проект прямо из чата, сразу устанавливая для него исполнителя упоминанием пользователя в чате;
— Быстрое логгирование времени, потраченного на задачу. Просто пишешь короткую команду в чат и время засчитывается. Это быстрее, чем открывать трекер проекта.
Инсталлятор
Когда начинаешь пользоваться новым сервисом типа Slack или Trello, он обычно просит просто ввести название проекта и е-мейл, а дальше происходит магия и у вас открывается ваша собственная отдельная копия системы. На самом деле, внутри сервиса произошли сложные процессы, напоминающие установку Windows на диск: клонировался Docker-образ системы, к нему прикрепился отдельный поддомен (адрес в интернете) и права доступа на ваш электронный адрес. Вот эту систему мы тоже сделали для нашего чата.
Результаты
В результате работ по проекту, нами были выполнены следующие работы:
- Дизайн под две платформы (65 экранов);
- Проектирование;
- Программирование под iOS;
- Программирование под Android;
- Доработка серверной части исходного опенсорс-проекта;
- Интеграция с YouTrack;
- Инсталлятор.