Desktop application audit
Getting down to the desktop application audit, the only project phase planned initially, Iflexion ran into the challenge of the application having no documentation. This made it impossible to understand the business logic of the app without decomposing it manually.
The team suggested reverse engineering to decompile the app back to its Java source code. This step was critical to reveal the nature of errors occurring during data synchronization. Looking at Iflexion’s report with the summary of detected code inconsistencies, the customer’s team decided to redesign the desktop solution altogether and invited Iflexion’s app developers to continue working on the project.
Desktop application redesign
The redesign carried out by Iflexion helped adidas get a new solution that ensured quick and error-free synchronization between the wearables, the web app, the mobile apps, and the desktop app. That guaranteed that end users could access the same up-to-date data on any device from any of the apps they used.
How data synchronization works
Professional athletes and health enthusiasts use adidas wearables during their training. At the end of each training, the user can synchronize their health data gathered during the workout session with their smartphones, laptops, or PCs. During the first sign-in, the desktop app requires the user to select devices that will be further detected as recognized ones and synced automatically.
Once transferred to the desktop app, the user’s data gets synced via the Simple Object Access Protocol (SOAP) with the web app for further analysis and reporting. The web app processes the data and transforms it into user-friendly charts and graphs displaying the user’s performance, sports dynamics, and personal results.
The web application enables users to continuously monitor the progress of their workouts and rely on the processed data to find the balance between the effort spent and the results obtained.
Users can download personal coaching programs from the web app to their PCs and then synchronize them across their devices. In the coaching mode, the app generates relevant audio training recommendations that users can listen to and follow right during their workout.
Feature-level enhancements
Apart from redesigning the desktop app, adidas also planned to enhance the rest of their suite, including the web app, the wearables firmware, and the mobile apps. To meet these needs, Iflexion expanded the initial project team. This allowed our fitness mobile app development professionals to work on the desktop, web and mobile apps while enhancing the brand’s wearable technology.
Iflexion’s team participated actively in the elaboration of the extended functionality for the web and desktop apps. We offered such features as:
- Detailed user profiles for the app to build highly personalized training programs.
- Nutrition recommendations to help users adapt their diet to the selected training program.
- Training videos by professional coaches with the ability to search for, watch and bookmark exercises and training tips.
- Rewards as a motivational aspect to encourage users to set up new, more ambitious goals
- Alternative routing to let users select running routes according to their body condition, daily activity, running experience, and sports goals (keeping fit, losing weight, building muscles, etc.).
- Sports communities to let users connect with other people engaged in a similar training or nutrition program or those taking similar running routes.
Several features from this list were eventually adopted by adidas for their app suite, and helped them increase the number of subscriptions as well as the overall user satisfaction with the apps.
As the team had demonstrated their technical expertise and ability to fulfill multiple tasks efficiently, the customer also asked Iflexion’s team to test their mobile solutions. Our QA engineers performed the full-cycle testing of the adidas mobile apps for Android and iOS:
- We elaborated test cases to cover all possible app use scenarios
- We performed both manual and automated tests to check the fitness app suite’s performance, functional stability, and usability