Indoor Training UG
Indoor Cycling Software
Nowadays, many cyclists and triathletes rely on interactive roller trainers, into which their own bikes are clamped or partially converted and directly connected. The company Indoor Training UG offers a subscription-based software developed in Delphi and FireMonkey at a fraction of the cost of comparable offers on the market.
The icTrainer app is a lightweight application for roller trainers and other fitness equipment with customizable options and the connection to countless training devices. It supports heart rate monitors, cadence monitors or speed monitors via Bluetooth BLE or ANT+. The multi-platform app runs on Windows PCs, macOS computers, iOS tablets/iPads and Android tablets.
Indoor Cycling Software for Roller Trainers
From a small idea that grew during his work break during the coronavirus pandemic, Philipp Hofmann founded the startup Indoor Training UG and developed with Delphi an indoor cycling app with countless training options. The company has been growing ever since and offers the software on a subscription basis, although the costs are a fraction of comparable offers on the market.
Parallel to normal cycling, indoor bike training offers a complement, especially with the advantages of being able to train all year round and simulate routes and riding modes that you may not have in your immediate environment. The most common is the use of classic spinning bikes or ergometers, both for the gym and for use at home.
Increasingly, however, cyclists and triathletes are now turning to interactive roller trainers into which their own bikes are clamped or partially converted and directly connected. The prices of these so-called roller trainers vary between $350 and $1,100 (or up to $3,000 for complete smart bikes that even perfectly simulate the climbing angle of a course).
The roller trainer can be controlled with software and simulates speed, rolling resistance, and incline. Established systems often offer very elaborate virtual worlds and visual track layouts. In addition, these are only available online and are often proprietary, so you can't add your own content.
With the icTrainer app, a lightweight alternative was created using the Delphi development environment and the FireMonkey framework, offering countless connectivity options and customizable options.
Calling the icTrainer app an interface monster is not an exaggeration, because a significant part of the application developed in Delphi and FireMonkey relates to the connection of the countless training devices via Bluetooth BLE. These are integrated partly via standard interfaces and partly via proprietary extensions.
Using the example of a roller trainer, these are the parameters:
- Target resistance in watts (writing)
- Gradient simulation (writing)
- Power meter (reading)
- Cadence meter (reading)
- Heart rate monitor (reading)
In fact, the integration of ANT+, a power-saving connection interface originally developed by Garmin, caused some headaches during the development. In order to address heart rate monitors with this technology, C++ SDKs had to be compiled and integrated, some devices had to be additionally extended with suitable ANT+ USB sticks, and these also had to be adapted for Windows and macOS.
FireMonkey is a powerful tool for porting 90% of the functionality to all platforms very easily. However, the last 10% should not be underestimated, where it is mainly about the authorization concepts of macOS, iOS and Android and where there is also a lot of movement on the part of the manufacturers.
Philipp Hofmann, CEO, Indoor Training UG
The integrated browsers for any websites are very popular in the app during training. Thus, music, cycling videos, and Netflix and other services can be streamed in parallel during training. Currently, there are small restrictions because not all platforms support video streaming services in the embedded browser, as the table shows.
Users like to use the playback of a real bike video during training. For this, the playback speed must be dynamically adapted to the training. Currently, the development team has integrated the FFMPEG player from Flash AV Software for FireMonkey and uses it to control the appropriate streams. Meanwhile, users can select from a large list of cycling track videos in the app that ideally support the training. These are usually recorded with a GoPro camera and can be selected individually.
The interface of the icTrainer app can be individually configured in many ways. The training values can be displayed or changed on the fly, and the browser for the multimedia stream can be displayed or, if desired, outsourced to a separate monitor.
The icTrainer App Home Page
In addition to the training application, the team used Delphi to develop a smartphone remote control for iOS and Android so users can control the essential functions even when the application is running somewhat remotely on a large monitor. Here, too, there were technical hurdles to overcome, which were solved with IP-based tethering.
The icTrainer application is a successful, modern application that perfectly demonstrates the advantages of the multiplatform development of Delphi and the possibilities of the FireMonkey framework, as well as the integration of external components. The extensive connection to various interfaces makes the icTrainer application phenomenal from a software engineering point of view and shows how the flexible use of APIs can work within a world of heterogeneous hardware.
Of course, according to Indoor Training UG, the development of the software is far from over. Extensions are still planned, including the possibility to set up a video chat and to save the results in (binary) FIT format, as this format has a higher level of detail (e.g., left/right distribution of power).
In general, the Indoor Cycling app has very low hardware requirements and communicates with all current roller trainers, heart rate monitors, cadence monitors, speed meters, external power meters, as well as other fitness equipment like kayak, rowing, and swimming ergometers and, soon, also treadmills.
The app runs on Windows PCs, macOS computers, iOS tablets/iPads, and Android tablets. Unfortunately, a Delphi BluetoothLE implementation is still missing for Linux support.
Of course, we have competitors who are worth billions. But many customers love our app because we deliberately take a different approach and avoid gamification and virtual worlds, instead focusing on flexibility during training, music, and real cycling videos.
Philipp Hofmann, CEO, Indoor Training UG
YouTube video about the development of the icTrainer app:
YouTube videos for icTrainer app with tutorials and help: