Developers’ Diaries. Issue #1

In response to our community’s wishes, every two weeks, we plan to tell you what our team is engaged in and what projects it is working on.

We would be interested in receiving your feedback on the relevant material in our Telegram channel — ! Please voice your opinion about shortcomings and things you would like to know.

So let’s begin…

Today, we will tell you about our system programmers’ work and why we are refactoring the Easy 3D Scan code.

As 2016 ended, we finalized our 3D View format and began integrating the 3D View capturing mode into the Easy 3D Scan software.

The mode integration was done within a very tight timeframe. Only a few months went by from the prototype to the official release. The speedy launch of the Easy 3D Scan for Windows and macOS enabled Cappasity to start receiving feedback on necessary features as soon as possible so that our business development managers could start working with the first customers.

However, speedy development has some drawbacks. An app developed in such a short time cannot be without errors and shortcomings. Moreover, as the platform’s popularity grows, new customer preferences emerge. The customers want to use the Cappasity platform not only on desktop but also on mobile platforms. This is forcing us to reassess the programming code’s architecture and make it more flexible, expandable, and capable to adapt to new tasks faster.

As the Cappasity ecosystem continues advancing forward, we must refactor our own products as well — make them open to other developers. Business development and growth strategy pose new challenges.
Cappasity is actively working on the internal EasyFrameworks project. EasyFrameworks is a set of independent cross-platform modules which will be used among desktop and mobile Cappasity projects.
Here are some of them:

  • eutil: a set of functionalities used among other modules
  • estreams — a set of cross-platform functions for work with files and streams
  • e2d — a set for displaying two-dimensional graphics in Cappasity projects (images, grids, guidelines, etc)
  • eimage — a set for working with images (opening, saving, transformations, etc)
  • efilter — a set for image processing (filtering) with the use of OpenCL, CUDA, Metal.
  • erender — a set for rendering 3D graphics
  • emesh — a set for working with mesh (optimization, retexturing and remeshing, etc)

Each framework is designed for use by other developers. As the Cappasity Innovation Fund initiative progresses, this will soon become relevant, which is why we are preparing in advance during the current code refactoring.

As you can see in our roadmap, we are planning to launch several frameworks. Consequently, refactoring is an internal stage which forms the foundation of all developers’ products.

We have a suggestion — how about you ask us questions on topics of interest to you in the Telegram channel? We will collect them and later reply to them in the new issue of Developers’ Diaries.