Go to primary content Go to footer
Andrei Ghideu 2

Navigating Customer Service Pack Delivery Alongside Focused Release Efforts

Tech Byte

This Tech Byte provides insight into how Systematic’s developers adapt to changing situations and priorities within a release cycle. It is a story about delivering customer service packs while the software release code stop is looming closer on SitaWare Mobile - two device-independent applications operating in a cross-platform environment offer solutions for the first line of military defence.


By Andrei Ghideu, Senior Software Developer for SitaWare Mobile

Synchronising architectures in a multi-platform environment 

Delivering military defence software has special requirements—systems must operate in strenuous situations, demanding physical surroundings, and often over long distances. Our developers must consider these challenges carefully and create robust implementations when developing such software. They do this by, among other things, carefully catering to real-life situations in the code, test, and delivery to operations. 

SitaWare Mobile is a software solution project that offers solutions for the first line of military defence. It has released three major software versions. The main applications are SitaWare Frontline for Windows and Linux and SitaWare Edge for Android, followed by SitaWare Tactical Communication (STC), an essential piece of Mobile’s ecosystem. 

Cost in maintaining multiple codebases 

The objective is to deliver software for desktop and mobile environments, but the way this was done early in the project differed between the various applications and technologies. When SitaWare Frontline and Edge 2.x were active a few years ago, the two applications had different codebases, with Edge lacking features. That resulted in a higher cost to maintain both codebases. It is also worth mentioning that Symbology, a critical functionality in reporting information about military units, was not aligned between the two applications because symbols were illustrated differently—other issues related to SitaWare Suite alignment were backwards compatibility and the need for 3D maps. 

The release of SitaWare Frontline and Edge 3.0, written from scratch, changed this situation. These versions introduced product suite alignment using the map engine developed in-house for SitaWare Headquarters (HQ). 

Write features once and deploy them on 3 platforms! 

Now, both mobile applications share a higher level of core codebase, with a minority part differing due to required specific implementations. The technology stack was upgraded from Java and Java UI-related frameworks 2.x to Java and Angular for UI in 3.x. 

To achieve all of this, a clear scope was defined in 2020: Write features once and deploy them on Android, Linux, and Windows, and this is still active today!

Graphic

The technology stack is strongly connected to synchronised architectures, with Frontline and Edge using Java 11 for backend implementation and Angular 15 for the frontend solution. 

The modularised architecture has a strong foundation with the dependency injection framework used: Dagger 2 version. But why Dagger and not Spring Boot? Dagger offers a lightweight solution, which perfectly suits Edge’s requirement for support of a significant variation of hardware and old firmware. Even though Google created Dagger focused on Android, it can easily be used on core databases and the backend. For the UI, Angular offers the necessary support for a common UI to fill the content on each type of device: a smaller one like a phone, a medium one like a tablet and a larger one like a laptop.

Andrei Ghideu 3

Delivering service packs to customers while focusing on the release 

My journey in Mobile started in 2022, after the transition phase from rewriting functionalities of the 2.x version. Since then, I have contributed to several releases and have completed tasks that helped deliver new features to our customers. 

While development focused on the newer versions of Frontline and Edge, some customers still used the old versions. When they decided to upgrade, customers would upgrade their software in batches.

Learn more about us