Molecula – новый способ ведения групповых переписок в Outlook
В конце 2015-го года Microsoft запустила конкурс по разработке решений на базе Office 365. Участникам нужно было разработать приложение, которое являлось бы либо надстройкой для Office, либо использовало бы Office 365 APIs. Я и двое моих друзей решили участвовать. Идея нашлась очень быстро, достаточно было сесть и обсудить «боли», возникающие у каждого из нас в повседневной работе. Так родилась идея Molecula — решения, позволяющего упростить ведение групповых переписок в Outlook.
Чтобы лучше понять кому и для чего нужна Molecula, давайте посмотрим наш промо-ролик, созданный для участия в конкурсе. История про успешного IT-менеджера Майка (на английском):
Проблематика
Нам постоянно приходится переписываться по email с разными группами людей. Каждой группе соответствует определенная тематика будь то один из проектов, обсуждение рабочих вопросов с сотрудниками из других отделов, общение с партнерами, заказчиками и т.д. Когда возникает потребность написать новое письмо той или иной группе людей, приходится искать старые письма в истории и копировать всех участников переписки в новое письмо в ручном режиме. Это отнимает кучу времени! Еще хуже, когда нужно написать сразу нескольким группам, участвовавшим во множестве переписок. Как пример — отправить поздравление с новым годом всем сотрудникам заказчика, с которыми ты общался в течение года. В ручном режиме можно запросто упустить кого-то важного из виду. Проект Molecula призван решить эту проблему.
Как работает Molecula
Molecula индексирует все письма из аккаунта в Office 365 и группирует участников переписок при помощи специального алгоритма. Полученные группы представляются пользователю в виде наглядных «пузырей», большие из которых представляют группы людей, с которыми пользователь общается чаще всего:
Чтобы написать новое письмо, достаточно нажать на нужный «пузырь» и уточнить какие из получателей будут в полях TO, CC и BCС (при помощи перетаскивания контактов из одной группы в другую):
Нажимаем кнопку «Set Recipients» и на этом все — получатели заданы! Больше не нужно рыться в почте в поисках старых писем!
Архитектура решения
В рамках MVP мы разработали Outlook Add-Id и Web-приложение с использованием Azure AD. При разработке Outlook Add-In использовали JavaScript API для Outlook и новый UI-фреймворк от Microsoft — Office UI Fabric. Для визуализации «пузырей» применили библиотеку d3js.
Серверная часть реализована с использованием Java и Docker-контейнеров. Непосредственно сервер развернут в Azure, а для получения писем из Office 365 используется Microsoft Graph API.
Более наглядно архитектура системы представлена на рисунке ниже.
Проблемы с которыми мы столкнулись при разработке
Много времени ушло на изучение логики настройки Graph API в Azure и визуализацию «пузырей» в том виде, как мы этого изначально хотели. С большими проблемами давалась отладка под OWA для iPhone — на эту тему скоро выйдет отдельная статья.
Как попробовать
Сейчас мы работаем над публикацией первой версии Molecula Add-In в Office Store и рассчитываем, что к середине апреля надстройку можно будет установить напрямую из магазина Office. С веб-версией можно поиграться уже сегодня, перейдя по ссылке ниже. Обратите внимание, что для тестирования необходим аккаунт c подпиской на Office 365.
Ссылка на Веб-версию Molecula: https://molecula.email/web
Дальнейшие планы
Как я уже писал выше, первая версия Molecula — это MVP (минимально полезный продукт). Во второй версии мы планируем:
- улучшить алгоритм группировки получателей;
- предоставить пользователю альтернативный способ визуализации групп, позволяющий отображать большее количество групп на одном экране с возможностью контекстного поиска по всем группам;
- есть идеи по интеграции групп из Molecula со стандартным функционалом групп в Outlook (пока прорабатывается).
Дальнейшее развитие будем планировать, отталкиваясь от пожеланий пользователей. Если Molecula решает проблему, которая актуально и для вас — напишите об этом в комментариях! Расскажите нам, что еще хотели бы видеть в Molecula?
Понравилась идея? Поддержите Molecula своим голосом на DevPost (для голосования может потребоваться регистрации, занимает не более 3-х минут).
Об авторе
Петр Ляпин -Технический директор ООО «ВейвПоинт»
Более 10 лет опыта внедрения проектов по автоматизации
бизнес-процессов. Работал со множеством российских и
зарубежных компаний. Основатель проекта XLTools.net.