Contact Information

Campus da Penteada, Startup Madeira, Sala 10
9020-105 Funchal
Madeira - Portugal

We‘re Available Monday to Friday,
from 9am to 8pm

(+351) 913 792 897

contactus@ealgorithm.net

Find us here

Solutions

We started by analyzing the current SDK and its available functionality. Then, we began splitting it into smaller modules.

In the process, we also removed a lot of unnecessary third-party code and aimed to keep the code as native as possible to reduce size and potential security vulnerabilities.

Each module could work independently, so when clients wanted only part of the functionality, the product could be consumed separately.

This approach reduced the final application size from over 400 MB to packages ranging from 20 MB to 40 MB, depending on the products consumed.

Featured Images

Process Images
1Understand the current product

Study

We began by reverse-engineering the current SDK, which contained all the products in one, and started segregating the code by feature. Then, we consulted with clients to understand which functionalities they really needed and created new products by combining features that made sense. If a client wanted additional functionality, we added a custom product as a separate SDK offering.

Process Images
2A modularized architecture

Architecture

We created a modularized architecture that allowed us to build individual packages for each product. With the help of a few other packages, we managed to integrate the products based on the clients’ requirements.

Process Images
3Improve the product distribution process.

Distribution

We also noticed that the delivery process was still largely manual, so we analyzed the best tools to automate building, testing, and delivery. We ended up using Azure DevOps, as NEC had most of their infrastructure on Azure and used GitHub Packages for private distribution through invitation.