Molecula – новый способ ведения групповых переписок в Outlook

В конце 2015-го года Microsoft запустила конкурс по разработке решений на базе Office 365. Участникам нужно было разработать приложение, которое являлось бы либо надстройкой для Office, либо использовало бы Office 365 APIs. Я и двое моих друзей решили участвовать. Идея нашлась очень быстро, достаточно было сесть и обсудить «боли», возникающие у каждого из нас в повседневной работе. Так родилась идея Molecula — решения, позволяющего упростить ведение групповых переписок в Outlook.

Чтобы лучше понять кому и для чего нужна Molecula, давайте посмотрим наш промо-ролик, созданный для участия в конкурсе. История про успешного IT-менеджера Майка (на английском):


Проблематика


Нам постоянно приходится переписываться по email с разными группами людей. Каждой группе соответствует определенная тематика будь то один из проектов, обсуждение рабочих вопросов с сотрудниками из других отделов, общение с партнерами, заказчиками и т.д. Когда возникает потребность написать новое письмо той или иной группе людей, приходится искать старые письма в истории и копировать всех участников переписки в новое письмо в ручном режиме. Это отнимает кучу времени! Еще хуже, когда нужно написать сразу нескольким группам, участвовавшим во множестве переписок. Как пример — отправить поздравление с новым годом всем сотрудникам заказчика, с которыми ты общался в течение года. В ручном режиме можно запросто упустить кого-то важного из виду. Проект Molecula призван решить эту проблему.

Как работает Molecula


Molecula индексирует все письма из аккаунта в Office 365 и группирует участников переписок при помощи специального алгоритма. Полученные группы представляются пользователю в виде наглядных «пузырей», большие из которых представляют группы людей, с которыми пользователь общается чаще всего:

ba645dedfc7e4776aeb483ae52b7eecc.jpg

Чтобы написать новое письмо, достаточно нажать на нужный «пузырь» и уточнить какие из получателей будут в полях TO, CC и BCС (при помощи перетаскивания контактов из одной группы в другую):

89b752a6f4c5409ba1318427c2d97d9f.png

Нажимаем кнопку «Set Recipients» и на этом все — получатели заданы! Больше не нужно рыться в почте в поисках старых писем!

9d21914f0b314070b10ac05c49e650e8.png

Архитектура решения


В рамках 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.

Более наглядно архитектура системы представлена на рисунке ниже.

0f30a1376858458cb3eb3866d1c6671e.jpg

Проблемы с которыми мы столкнулись при разработке


Много времени ушло на изучение логики настройки 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-х минут).


b5220f01985afc4ac5fda90f3e654820.jpg

Об авторе


Петр Ляпин -Технический директор ООО «ВейвПоинт»

Более 10 лет опыта внедрения проектов по автоматизации
бизнес-процессов. Работал со множеством российских и
зарубежных компаний. Основатель проекта XLTools.net.

© Habrahabr.ru