company_banner

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.
    Microsoft
    188,19
    Microsoft — мировой лидер в области ПО и ИТ-услуг
    Поделиться публикацией

    Комментарии 15

        0
        Зачем тут серверная часть? Мне кажется, что все можно было сделать на клиенте.
          +1
          Чтобы построить группы нам необходимо пройтись по всем письмам из почты и проанализировать участников переписки. К сожалению, текущая версия JavaScript API для Outlook такой возможности не дает. Да и сама обработка может быть довольно долгой и делать её нужно инкрементально, что невозможно на клиенте.

          Обработку исключительно на клиенте можно реализовать если использовать для разработки VSTO. Мы уже думали над этим вариантом и, возможно, в будущем такая версия так же будет разработана. У VSTO есть свои минусы, на тему сравнения VSTO и нового типа Add-Ins для Office можно почитать вот эту статью.
          0
          Outlook 2016 > Создать элемент > Другие элементы > Группа контактов
          Ввести имя и добавить контакты > Сохранить и закрыть.
          Готово.

          Работает везде, синхронизируется, не требует дополнительной установки, делается один раз.
            +1
            Сергей, вы правы. Так тоже можно делать, но это ручной способ ведения групп. Минус такого подхода в том, что группы нужно создавать самому. Допустим, у меня начинается новый проект и кто-то из моих коллер начал групповое обсуждение этого проекта по email, в случае с группами контактов мне нужно проделать указанный вами сценарий вручную, что подразумевает ручное копирование всех контактов из письма, которое я получил от коллег. Поиск контактов по письмам там не предусмотрен.

            Molecula же делает всё автоматически, как только у вас появился новый круг общения в письмах, вы сразу же увидите новую группу в интерфейса Molecula.

            В любом случае — ваше замечание очень полезно! В будущем мы планируем сделать интеграцию групп Molecula с группами контактов и новыми "Группами общения" не так давно появившимися в Exchange Online. Это позволит использовать преимущества обоих подходов и избавит нас от множестваручных действий.
              0
              | подразумевает ручное копирование всех контактов из письма
              Все верно. Самый быстрый стандартный вариант:
              Выделить все контакты в письме > Ctrl+C > Создать элемент > Другие элементы > Группа контактов > Ввести имя группы > Добавить участников > Контакты > Из адресной книги > В поле "Участники" нажать Ctrl+V > Ок > Сохранить и закрыть.

              Но я уверен, что ваш продукт найдет своего благодарного пользователя. :)
                +1
                Да, хороший вариант. Единственное, он не исключает того, что для всех полей (TO, CC, BCC) CTR+C > CTR-V нужно делать по отдельности. Одновременно скопировать контакты из всех полей не получится. Плюс, Molecula понимает какие контакты должны быть в TO и CC когда нужно еще раз отправить письмо аналогичной группе. С группами контактов такого не получается сделать.

                Но вы правы, каждый пользуется тем, что ему удобно и привычно. Напишу вам когда реализуем интеграцию с группами контактов. Посмотрите, может быть и вам придется по вкусу наш сервис :)
              +1
              Сергей, добавил идею про интеграцию с группами контактов в наши планы по развитию проекта: http://devpost.com/software/molecula (см. раздел "What's next for Molecula?"). Спасибо за идею!
                0
                Незачто в общем то :)
                Я выскажу своё личное мнение, коли уж пошла такая пьянка. У вас там поля Кому/Копия/СС сожраны. Выглядят куцо и не информативно, непривычно. Убрать лишнего сотрудника из группы на стадии её создания не удобно. По-моему не стоит усекать их, лучше сместить интерфейс создания ниже после того как, какая то группа выбрана.

                Но я не UI дизайнер, я простой человек, могу и ошибаться.
                  +1
                  Не очень понял, что означает "сожраны". Сможете показать на скриншотах? Можно на почту: peter@molecula.email

                  Мы обязательно подумаем как улучшить интерфейс! Первая версия может быть не идеальна и мы с удовольствием рассматриваем все идеи по улучшению. Заранее спасибо!
                    0
                    Видно ассоциативный ряд отличается по поводу "сожрано" :)

                    На мой взгляд должно быть так:

                    Спойлер


                    Всегда можно понять, не добавился ли в группу кто то лишний.
                      +1
                      Согласен. К сожалению, мы этим не можем управлять. В реальном использовании оно будет выглядить чуть лучше за счет того, что обычно письмо отображается на весь экран. Тут я сильно сжал окно, дабы попасть в нужные размеры.
                        0
                        | обычно письмо отображается на весь экран
                        Я бы согласился, что на полном экране оно бы выглядело лучше, но лично у меня 95%+ писем это переписка, а не создание нового письма. А переписка идет в основном окне Outlook как правило. И получается, что ширина остается примерно такой же:
                        Это после нажатия кнопки Ответить

                        Спойлер

              +1
              Друзья, как я уже говорил, наш проект учавствует в конкурсе Hack Productivity. Сегодня последний день голосования!

              Если вам понравилась идея — поддержите наш проект на DevPost: http://devpost.com/software/molecula — труется небольшая регистрация, далее нужно нажать vote и like. Весь процесс занимает не более 2-х минут!

              Заранее всем спасибо! Ваши идеи и поддержка очень важны для нас!
                0
                Очень похоже на gmail контакты во взаимодействии с кругами google+

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое