Open source communications

Overview

Technologies
MAPI, Office automation, C#
Deliverables
  • Extend Outlook functionality to use client’s server
  • Develop an Outlook plugin using C#
  • Create debug tooling

Summary

This client - a developer of back end email, video meeting and calendar systems - needed Outlook support. Although Outlook accommodates many communication technologies through its extensions, these are notoriously difficult to get right and a single bug can cause Outlook to crash.

The challenges

Most Outlook Extensions are written in C++. This leads to a lot of Outlook crashes that are notoriously difficult to debug. And when using the ActiveSync protocol, not all of Outlook’s features can be accessed properly.

Challenge Overview

  • Develop a mail server that supports ActiveSync. Outlook support was essential for better compatibility.
  • Outlook does not implement the ActiveSync protocol properly.
  • Existing Outlook plugin, in C++, creates multiple support problems.

The solution

Unlocking Outlook features and creating a reliable and compatible system asked for an Outlook Extension written in C#. Getting these features up and running required a lot of coordination between the Outlook Extension and mail server. Etosis developed techniques including opening side channels to the mail server to control the data it sends to Outlook, and requiring communication through custom email headers, which are inserted by the Outlook Extension and handled by the mail server, or vice versa.

Besides the Outlook Extension, Etosis created tools to configure the Outlook extension on the user’s computer to support advance deployment scenarios and aid in any future debugging issues.

Solution Overview

  • Developed an Outlook plugin in C# that fixed some of Outlook’s ActiveSync problems.
  • Created an interface that allowed the use of unsupported features (Outlook and/or ActiveSync) which communicated directly with the mail server over a proprietary protocol.
  • Created support tools that allowed any issue to be analysed on the end-users’ side.

Do you have a complex software problem? We’re curious. Get in touch!

We like solving the most difficult issues, so if you think you’ve got a real headache of a software problem we want to hear from you!

Email us

Some of our favourite problems solved so far

We have kept our clients anonymous as much of the work we do is subject to NDA’s. Your work will be treated with the same discretion.

3D Film makers
Develop 3D reconstruction software based on 2D images
Create video capturing software
Improve user applications
Read more
Financial services
Develop an automated trading platform
Connect to existing Matlab code
Implement trading algorithms in Java
Read more
Industrial automation
Develop a 3D positioning system
Use a single camera
Read more
Measuring eyes
Develop image processing algorithms
Create a user application
Develop production tooling
Read more
Medical research
Create a statistical database system
Develop import tools for existing ad-hoc data
Create Python web platform to run statistical tests
Read more
Open source communications
Extend Outlook functionality to use client’s server
Develop an Outlook plugin using C#
Create debug tooling
Currently Viewing
Radar based Healthcare
Create electronic prototypes
Develop Linux drivers
Improve software performance
Read more
Serious game developers
Invent a fully configurable 3D system
Develop a UI interface for Unity3D
Encrypt the delivery of copyrighted assets
Read more
Video meeting
Create a Windows Camera Driver
Embed a browser engine to create video content
Create a user interface
Read more
Your project here?
Create solid brief
Identify key challenges
Devise effective solution
Get in touch

Let's hear it from some of our clients:

Software had to built from scratch for an ophthalmic medical device. Initially, optimizing the image processing algorithms, calibration software and the maps and parameters in the UI created a system with a high entropy. Etosis has been instrumental in overcoming these complexities and delivering a stable device with good performance.
Patrick was amazing to work with! He of course did brilliant and timely work for us, but his depth of knowledge, ability to communicate clearly, and work with multiple members of our team are why we'd work together again in a heartbeat!

Do you have a complex software problem? We’re curious. Get in touch!

We like solving the most difficult issues, so if you think you’ve got a real headache of a software problem we want to hear from you!

Email us