adidas miCoach: Your Personal Trainer Powered by Device
- Gathering and extracting information from smart devices
- Data analysis and powerful presentation
- Two-way data exchanging capabilities involving web portal, desktop app, smartphone and gadgets
One of the world’s most well-known sports goods manufacturers hires Iflexion to rescue the project: their high-tech product urgently needed better usability and performance.
Our Customer — adidas — is one of the most well-known sports goods manufacturers for amateur and professional athletes worldwide.
They produce sports equipment and clothes as well as explore highly innovative business spheres, such as development of smart devices. One of their products from this range is adidas miCoach, an innovative hardware device for tracking fitness activity complemented by software solutions to work together with the gadget.
Adidas miCoach is a product range that includes Speed Cell, Pacer Bundle, and Heart Rate Monitor. These devices gather different activity statistics such as speed, number of steps, calories burnt, workout time, distance, and heart rate. The gadgets are connected to a PC/Mac and an iPod/iPhone to transfer the collected data to the miCoach.com. The back-end of the web portal stores the data, analyses the results, and allows creating individual training plans. One can say that the end user gets a professional virtual coach powered by this system.
adidas miCoach device management desktop application was developed by a 3rd party service provider, and it provided poor usability, performance and design due to certain technology limitations.
Thus our Customer was in need of a comprehensive and consistent solution that would be up-to-date as far as technology aspects are concerned and provide great user experience. Bearing this in mind, it was decided to redesign the desktop sync application. The project goal lied in making the synchronization process easier which would eventually lead to increased devices sales.
Iflexion team faced the problem of documentation lack as it was developed by the 3rd party. We had to investigate the existing source code to find out as much as we could about the functional interactions between features. Our team decompiled the Java application to study the solution’s business logic as well as low level communication algorithms.
The solution’s desktop manager accomplishes the following operations:
- Synchronizing miCoach devices with the PC/Mac desktop application
- Transferring data to desktop application
- Connecting to the web portal, transforming data and transmitting it for aggregated analysis
adidas miCoach provides a variety of data formats that can be extracted from and aggregated on devices for further analysis:
- Speed Cell gathers data on speed, distance, activity efforts
- Heart Rate Monitor listens to the user’s heart during workouts and transfers the information to Pacer Bundle
- Pacer Bundle can be paired with Speed Cells and Heart Rate Monitor on-the-fly to monitor and aggregate the data related to steps and distance, calculate calories burnt in correspondence with activity efforts and heart rate based on the information from multiple sensors
The gadgets that power adidas miCoach have wireless adaptor and can synchronize the activity data gathered during the training sessions with an iPod/iPhone or a laptop via Wi-Fi. The desktop application provides for selecting and synchronizing the devices chosen from the list of found nearby. When it is connected to any Speed Cell, Pacer or Heart rate monitor, the application will save the parameters and connect devices automatically any time in the future.
Once the devices are connected to a PC/Mac, the user can start data synchronization with adidas miCoach.com web portal and pass the information to the analytical web application using SOAP protocols. When the information gets to web UI, the application transforms incoming values and presents them in the form of graphs and charts in an easy-to-understand form.
miCoach web application offers athletes the options of monitoring their workout efficiency and finding what suits them best in terms of the balance between efforts and results. Since miCoach gathers personal data, it is possible for the end users to establish an individual activity plan to achieve their goals. One can download the personal coaching program from the web portal to the desktop application and then synchronize it with devices. It provides an opportunity for the users to listen to personal trainer’s commands through the Pacer Bundle and perform exercises in accordance.
The development of the desktop app was organized to go simultaneously with continuous enhancement of the web application and constant updates of device firmware, which intensified the collaboration as well as presented a certain challenge to the project. Iflexion specialists communicated with several teams responsible for miCoach web portal development, mobile applications, and devices firmware enhancements and were scattered across the US and Europe. The process was organized in the most efficient way.
As Iflexion team demonstrated their expertise and ability to juggle multiple tasks efficiently and professionally, the Customer entrusted the quality assurance in our hands as well as the development. Iflexion QA engineers performed testing of adidas miCoach mobile applications on iOS, Android, and Symbian. We were responsible for the full cycle QA, including preparation of acceptance testing documentation, integration testing, automated testing scripts launching, usability testing, and manual testing. The QA team was involved in all the development stages, from verification of design and specifications to uploading the final release on the App Store and Google Play Market.
The presentation layer of adidas miCoach desktop application is based on Qt framework to comply with the Customer’s cross-platform requirements.
The business logic layer and the integration layer reside on Boost C++ library to provide maximum development performance, scalability, and overall stability.
The communication layer is powered by HIDAPI C++ library that is used for USB communication, while gSOAP C++ library was applied for SOAP/XML web services communication.
Starting from the process of the technology partner selection, Iflexion’s deep domain understanding and relevant industry knowledge were appreciated by the Customer and helped us provide them with the solution that meets all their demands. adidas successfully released the redesigned desktop application supplemented by a number of mobile apps.
adidas miCoach is a highly popular product installed by millions of users from App Store and Google Play.
On the request of a leading sports industry solutions provider, Iflexion enriched functionality of their core video management application. The implemented editing and streaming capabilities made professional sports video design and distribution easier, faster and more flexible.