See Molecula live demo on Youtube: https://youtu.be/1YLXYHkQB90
This is how Molecula Web App looks like. You can access it here: https://molecula.email/web
Group details in Molecula Web app. Here you have an option to rearrange recipients and click "Send"
Molecula uses your default emails client to compose a new email with all the recipients you selected.
Using Molecula in Outlook 365 (Web) to add recipients to a new emails thread
Group details where we can rearrange recipients for TO, CC and BCC fields and add them to the email
Recipients added to the email and we are back to bubbles view where we can add more recipients from other groups if we need to
How Molecula looks like in OWA for iOS
We often use emails to communicate with different groups of people. We start new email threads every day and it is difficult to remember all the recipients that we should include in the TO, CC or BCC fields. We spend a lot of time digging into our inbox and finding all the right people from certain groups and adding them to the email. We can easily miss someone if we do this process manually...
Our team members experienced above problem almost every day, which inspired us to create the Molecula - Office 365 Add-In for Outlook. Molecula makes it easier to interact with the people and groups most important to you!
What it does
Molecula indexes all emails in your Inbox and groups all the people you communicated with using special criteria. Groups then are visualized in a form of cool bubbles, where bigger ones represent groups of people you communicated with more frequently. Want to start a new thread? Simply click a bubble, rearrange the recipients for TO, CC and BCC fields and you are done!
How we built it
When we started the project we decided to use git-repo based in Team Services to store our code. In scope of the Java Tools Challenge we started to use Work to plan our iterations as well as the CI Build, Test and Release features of Team Services.
Here is how our development cycle looks like at the moment:
We are still in the very beginning with the setup of Molecula development cycle. At the moment we use the default Agile template shipped with Team Services. We already have a number of user stories in our backlog which we plan to deliver in the near feature. We split workload into a short iterations up to two weeks long and release in the end of each iteration or more often. We really like Kanban board which helps us to track our work better.
When particular task is completed Visual Studio Team Services plugin for IntelliJ IDEA helps us to associate the commit with the related work item in Team Services:
The whole code for Molecula itself and related projects is stored in the git-repo in Team Service:
Build, Unit Testing and Deploy to Staging
We use Team Services Builds, Gradle, JUnit and Allure Extension for VSTS for automated builds and unit testing. Whenever a new commit is pushed to the git-repository it will trigger automatic build which also executes unit tests. If they pass the build would automatically deploy a new version of Molecula to the staging server.
If tests fail Allure Extension for VSTS helps us to better understand the reason why as well as to see linked test cases, so we exactly know what and how to check.
All the manual testing is done on the staging website. We use test plan created in VSTS to store all our test cases. Because we are a small team we do not use test execution feature yet because all the team members know how to test all the cases. But we still use test plans as a reference, so we remember what we need to check before a new version of Molecula goes to production.
When we are happy with the results on the staging server we would run our release task manually in Team Service to update the version of Molecula on our production server.
Challenges we ran into
What's next for Molecula?
In terms of the Dev Ops we are still thinking on whether we want to use Continuous Deployment or Continuous Delivery model. In the near feature we plan to increase the amount of auto test and if we think it would be enough to cover most of the scenarios we would move on and implement Continuous Delivery. Molecula will shortly be published in the Office Store. Taking this into account we may integrate Load Testing as a part of our automated development cycle. We are very positive with what we have got with the Team Services and will definitely use it to make our product more stable, reliable and agile.