Performance Lab: Developing
the fitness system
What is a fitness system?
The innovative product of our colleagues from San Francisco was not just a fitness application, but a whole system, which is still unique in the fitness world.
The system includes:
We help developers to release applications daily for sure, used by millions of users across the globe
Enjoy the benefits of automatic deployment of infrastructure and applications using the Infrastructure as Code approach.
Got a project in mind?
There is no better place for a QA solution than Performance Lab.
Drop us a line to find out what our team can do for you.
How did we become a part of the team?
We got involved in the development process when the application was already in the beta-phase, just under a year was left before the market release; however, over half of the code was written already. To ensure that the developed interface is adapted for the native device, the customer sent us two tablets, which at first sight looked like a TV, as it needed to be connected to a wall outlet.
Through the course of our work, we used the Realm database, SQLite, Mockito and Robolectric Frameworks.
The application was being developed for a specific device. And the first problem we encountered was its uniqueness. The tablet called Hercules was not available for sale. It was a kind of a custom device, and we couldn't use similar devices.
Testing on similar devices or emulators doesn’t guarantee the same results on the native device. If you have no opportunity to provide the whole team with the specific native devices, try to find at least one, so the QA lead could be sure that the team didn't miss any of bugs.
As the testing was performed by the customer, it was necessary to avoid the major bugs and to
provide a high-quality code. The fitness system included the power equipment, but as we had only the
tablet. So only the visual software part was available for testing.
To cut the testing time, we made a decision to engage our QA engineer for smoke testing of the features.
Result: You got a happy and satisfied customer.
Across different time zones
We were working together with designers, development team and software testers to bring up the best product possible. So maintaining a good and fruitful communication was a key factor here – they were all thousands of kilometres away. As the project was a start-up, communicative and working processes weren't as smooth as it seemed to be from the first sight. In addition, the customer had no experience of working with the team members in different time zones. So integration into the process was some kind of a challenge.
How did we start?
We started with checking the opportunity to change the sprint dates. The customer postponed the sprint planning on Thursday so that we received tickets for the next sprint on Friday and had a day in hand to review them and ask clarifying questions.
In turn, we started the working day a couple of hours later, so that it would be possible to hold a daily meeting in the evening with the customer in order to update the status and discuss all urgent questions.
- Most of the tasks were finished when the customer got back to work on the next day and Sprint tasks were ready for testing and merging;
- The release time was significantly reduced.
The major application improvements
Easy and fast downloading
The program part contains a customized exercise program - videos that will help you to perform workouts in the right way. So one of the major blockers we faced with was the problem with video downloads. Our team suggested and performed using ExoPlayer - an application level media player for Android.
Security of personal information
As training programs are individual, it was important to provide customers with secure and convenient personal accounts. But the system had major problems with authorization. Our team introduced auth0 service, that helped to make the authorization process easier. Also, we added credits like e-mail and telephone number.
Key Project Results
A large number of bugs were fixed and architectural solutions were improved;
The application became more stable and user-friendly;
Time-to-market metrics were significantly reduced thanks to the 24-hr work shifts.