The Navixy dev team recently announced the development of a new mobile app for transportation management. This app will help managers optimize all aspects of commercial fleet costs and productivity, from route mapping to maintenance. With the current X-GPS Monitor solution already used by 100,000 companies and distributed by partners in 130 countries, many users are keen to know why the new app was needed and what to expect from it.
So, we met with Nikita Derzhavinsky, the Navixy GIS product owner, and Lev Baryshev, the mobile development team leader, in the Georgian office. We asked them what the Navixy community would like to see in the new application, as well as received a sneak peak of what’s going on in the developers' backend.
Creating a new app for fleets
The X-GPS Monitor mobile app has a rich history and many active users. Tell us how the Navixy development team came up with the idea to not just update it, but to write a completely new application?
Nikita: We released the X-GPS Monitor mobile application six years ago, which has since been downloaded a million times from Google Play and the App Store. During this time, we have made about 100 updates and continue to support the application.
Recently, however, developers have noticed that the current app’s architecture and the technology used have begun to hinder the addition of new features. If we look at Navixy's roadmap for innovating advanced telematics, it is clear that further development requires us to take fundamentally new approaches.
We have come to the point where it makes sense to rewrite the mobile app so that we are not restricted by our old setups. This will allow us not only to reevaluate the customer experience we have accumulated over the years, but also to incorporate fresh trends in the industry. This is how we will fulfill our mission to make advanced telematics technology available to our customers around the world.
When I look at a new application from a developer's perspective, as I did when I first started programming, I am amazed by the innovation that we bring to the table. Customers will be able to feel the modern user experience, speed, and power efficiency that our technology provides. We understand that talented developers are attracted to cutting-edge stacks, which is why we prioritize ensuring that both our engineers and integrator partners use the latest technologies in their work.
Lev: I agree with Nikita. In serious projects, sometimes it is necessary to perform a major upgrade of an application that appears to be performing well. This enables us to take it to the next level and maintain the momentum of development.
We acquired this knowledge through experience. Three years ago, when we began creating the B2Field field staff management application, we did not use our popular X-GPS Tracker app as its foundation. Instead, we made the decision to write the program from the beginning, using new technologies for development. As we progressed with this, we upgraded our skills and evaluated some technical trends, which was very helpful when we created subsequent applications.
Accounting for the tasks of each user
It turns out that by creating a technologically advanced development environment, you’ve empowered the developers and synchronized the team. What opportunities will Navixy users get with this new application?
Nikita: First of all, we are focused on providing extended functionality and performance. Nowadays, telematics is playing an increasingly vital role in many areas of company management - we strive to make data handling as efficient and effective as possible.
The new Navixy app is designed with fleets in mind, while still being suitable for many different roles in a company such as manager, garage manager, mechanic, and so on. We are also considering creating features that are tailored to drivers. We intend to add the ability for employees to view information that is specifically related to them and their vehicles.
We have considered the tasks of each person who will use our application.
We remember that the application is used by both small and large companies. Therefore, we help to provide telematics capabilities for companies with different sizes of fleets. Our solution allows you to manage tens of thousands of vehicles, as well as analyze the efficiency of transportation for new business owners.
If the new application is more functional and productive, what will be the fate of the current X-GPS Monitor application?
Nikita: We will still keep updating the X-GPS Monitor app and will provide support for it even after the new one is launched. Both applications will be accessible at the same time for a long enough period so that users and partners can transition at their own speed.
When did the development of the new mobile app begin, and when can we expect its official launch?
Lev: The new app has been in development for about six months now. As an announcement, we can show some elements of the new app today. We will set a definite release date later in conjunction with the announcement of the big special presentation.
Making reality indistinguishable from magic
Lev, you mentioned that the speed of the application is one of the advantages and also the reason for switching to the new technology stack. Can you explain further for our more tech-savvy audience?
Lev: That's right, and I'm proud that my team was able to increase the performance of the application by orders of magnitude. You know that Navixy has clients where tens of thousands of vehicles can be collected in one account. With the new application, they can have access to the entire fleet at once, or any of its large segments, without experiencing any delays in the interface at all. In other words, we give them the full working functionality of a smartphone or tablet.
Developers love ambitious tasks and the coolest thing about our work is making reality indistinguishable from magic. When we give a rich toolkit for monitoring fleets of almost unlimited size in the limited resources of a mobile device, it looks like real magic in my eyes. But we don't have any tricks, now I'll tell you how we make it real.
Our initial action was to locate the correct stack of modern technology. We extensively researched, experimented, and kept what proved to be highly effective. In our case, this is:
- Combine reactive framework
- Async/await concurrency (planned)
These are the technologies that have proved their worth, and without them we would not have achieved such outstanding productivity. We want to remind you that as our clients and partners' business grows, and the size of their fleets increases, the Navixy solution will always be up to the task.
By the way, when customers switch their fleets from other platforms to Navixy, the performance of the solution is the second most common reason for the switch. The first and third reasons are the functionality and reliability of the solution, respectively. We are able to win the competition due to our investment in high-load support and the people who use and adopt this technology.
The second step we took to improve performance was that we identified bottlenecks in our previous application. Through real-life cases from our customers and specifically designed stress tests, we discovered several issues with the use of network resources, the memory of the mobile device, and inadequate graphics resources.
Regular cross-team "tech meetings" had a major impact on finding a solution. This was a combination of brainstorming, sharing experiences, and creating intellectual team-building opportunities. This often led to incredibly creative solutions to problems. A few of the approaches I will mention were proposed during these technical meetings.
Network load was the first issue that had to be solved. Nowadays, telematics data is becoming more and more frequent. There are more objects, a greater number of equipment parameters being monitored, and a wider variety of formats and volumes of data. In addition, the data is often needed in a timely manner. To deal with this large flow of data, we have improved the data exchange protocol with the server, which has resulted in an increase of message processing speeds from 350 to 1200 per second by the mobile application.
Moreover, to optimize memory management, we drastically altered the procedures for working with local databases and optimized their settings. This led to a 90x boost in speed. At the same time, we managed to reduce memory usage, setting an upper limit of 300 Mbytes for ourselves. Thus, even the largest accounts can now fit into this modest limit.
Thanks to the enhancements we have done in network and memory management, data from the account is downloaded and processed as smoothly as possible for the user. In a stress test with an account of 100,000 cars, the app's initial startup time was less than 7 seconds. On most of the actual accounts with tens and hundreds of cars, the app starts almost immediately.
Launching the new application
At the same time, we follow a methodology called "offline first" in mobile development, which means that the mobile app continues to be operational, provides most of its features, and remains fast and responsive even when the device has an unreliable connection to the Internet.
Another point that we gave a lot of attention to was the use of the device's graphical resources. We developed a new module for clustering of objects that are close together on the map. At first, we tried standard clustering from Apple and Google. But when we tested its performance, we noticed that it already slowed down significantly when there were 10,000 objects. This was not acceptable for us, since we have customers with much larger fleets, who need to be able to monitor their vehicles in one account.
So we rolled up our sleeves and got to work on our own solution, where we worked through all the parts of the code that were critical for speed. Under the hood of clustering, we now also have our own solution, which gave us a ten-fold performance improvement over the previous version of the application. This more than meets the needs of even the most complex accounts.
However, while working on the graphical component, we encountered some limitations. In particular, we saw that the built-in map component of the SDK is not fully compatible with SwiftUI, so we had to use the reliable, but outdated MapKit. On the other hand, we have simultaneously improved the animation for objects and their clusters, so that in addition to increased performance, the graphics module received a number of visual improvements, including the long-awaited icons for objects.
Now, with all the advancements in networking, memory, and graphics, we are assured that the device does not use excessive resources, does not overheat, and does not drain the battery even on extremely large accounts. At the same time, it displays accurate data to the user and maintains a highly responsive interface.
Navixy account with 100,000 vehicles
End-to-end use of telematics
Colleagues, thank you for the detailed narrative about what is happening both onstage and backstage. What are your plans for the development of mobile applications?
Nikita: Before I explain the plans, I need to make one comment. It is related to the positioning strategies of our company's two mobile applications.
The X-GPS Monitor and B2Field applications are designed specifically for their individual tasks - optimizing the work of transport and field workers. But there is a big group of organizations where both needs are present at the same time, and if they are addressed together, the outcome will be more effective. For example, the personnel in cars are not just drivers, but they drive to the destination and carry out their main job, which requires access to information and reporting.
Examples of businesses that involve travel include customer service with on-site visits or engineers who make a tour of an organization's own distributed infrastructure. In wholesale and retail, there are many roles for employees whose work involves traveling to retail locations.
These companies face a common issue - the separation of processes related to transportation and customer service. Without connected IT systems, "data silos" form and departments are unable to collaborate in an effective manner. For instance, the head of service engineers may not recognize their subordinates as drivers, resulting in reduced attention to driving quality or fuel accounting. Additionally, the manager in charge of fleet health may possess all the necessary data regarding vehicle location, but may not utilize it when assigning calls to the nearest employee.
We believe that the utilization of telematics across all departments will help to reduce expenses, enhance the quality and speed of customer service, and streamline reporting.
In order to achieve this goal, we amalgamate telematics data from in-car sensors and mobile devices, meaning that we are linking the B2Field app more closely with sensor telematics.
Of course, the applications for transportation and field workers will remain specialized, with their own web interfaces and mobile applications, but they will be integrated at the data level. For example, geolocation data will be accessible from both applications, and directories of employees, geofences, and other locations will be shared.
This integration of telematics and field management systems will enhance the visibility of different departments, aid in the organization of the business and reduce the amount of time and cost associated with implementation.
More about Navixy features
The Navixy development team consistently works to update our telematics platform and mobile app to meet the growing needs of the market. Be sure to read our blog for the latest news and take advantage of the GPS tracking capabilities included in the free demo.