This post is a short overview of an Abto Sofware’s R&D project.
In scope of our R&D project, primarily focused around modernizing mathematically complex legacy solutions, our company was involved in a long-term cooperation with a leading manufacturer in the machinery industry.
Our engineers were contracted to migrate outdated technologies (VBA, VB6, and LISP) to the .NET framework. After conversion, our team has assisted the client with implementing cross-platform applications and adding additional functionality to facilitate business productivity.
Brief overview
At the first stages of the complex project, we focused on fixing major issues:
The inefficiency of the legacy product, which caused:
a. Corruption risks
b. Customer support deterioration risks
The utilization of the no longer supported technology (VB 6) which caused:
a. Operational risks
b. Intermittent crashes and vulnerabilities
Complicated troubleshooting and maintenance due to the utilization of VBA
Costly licenses due to the utilization of Matlab and AutoCAD
At the next stages, as the outdated parts were migrated to the .NET 6, we moved on to:
Cross-platform development
Additional functionality
Our solution
The product is a desktop application, which encompasses multiple modules for accelerated belt-drive design. This application is built based on C# .NET 6 WPF along with MVVM architecture.
The platform is designed to serve the client’s internal needs:
All modules are supporting the specification and engineering of sophisticated belt-drive systems distributed across major sectors, including agriculture, automotive, construction, and others
2 modules are also available publicly and can be accessed by customers to perform own calculations and order custom-built solutions precisely tailored to their specific needs
The toolkit also provides:
Design guidance
Product and pricing catalog, which are synchronized automatically
Project and design creation
Derivatives creation
Design calculations (geometry properties, belt life, shaft load, and other essential details)
Report creation and export
Along with additional features:
User and permission management
Version control
Automatic updates
Automatic backups
The modernization of outdated legacy apps: Our contribution
During the modernization project, our engineers have covered:
Initial discovery, business analysis, and consulting
Legacy modernization (in-depth analysis, roadmap creation, code migration, quality assurance)
Software development
Unit testing, automated testing
Architecture refactoring
Custom desktop, web and mobile development
To ensure smooth implementation, our team also covered:
Thorough testing and debugging
Technical support and maintenance
The project’s technology stack: C#, WPF, .NET 6, .NET 7, MVVM Light, MahApps Metro, Blazor, Xamarin, ASP.NET Web API, Wout Ware CadLib.
Used tools: Visual Studio 2022, TFS, Figma, TestFlight.
The modernization of inefficient legacy apps: Key challenges
Working on the project, our specialists faced the following problems:
Certain algorithms had to be rewritten to a modern language
To prevent regression issues, we covered unit and automated tests.
Some algorithms had to be rebuilt from scratch
To handle legacy issues, we involved additional specialists to leverage computer science.
Custom algorithms
Also, using R&D expertise, in particular in-depth knowledge in utilizing computer vision, we implemented essential functionality, which enables specific calculations (drive measurements) using the Apple ARKit.
Cross-platform development
To ensure easy maintenance, we shared a common business logic in C# across platforms:
Key functions are extracted to common data libraries
New changes are being included automatically across platforms
Final words
Our company was working towards modernizing slow functions, all written in various programming languages. This way, the client could stay highly adaptable to the dynamically changing business landscape.
Continuing cooperating, our specialists have also successfully designed and implemented additional features. What’s more, web and mobile development was conducted to expand the capabilities of the in-house staff, which streamlined business competitiveness.
By modernizing outdated applications, we allowed the client to enjoy:
Considerably minimized license costs
Successfully eliminated runtime issues
Optimized new employee training and education
Minimized prospective maintenance costs
At the very moment, we’re handling web and mobile development to increase customer reach.