Elevate Desktop App: 2021 update.
By: Thomas Champagne
Tags: Strava, Elevate, Running, Cycling, Training

Previous announcement here (Dec 2019)

Since end of 2019, many things have been accomplished on the Elevate desktop app. But, as you can imagine, some unforeseen issues happened 😊🤫.

This project is still a thing, you will see that below. But amount of work was bigger than I expected comparing to the bandwidth I had last year.

The project still remains free, open source & performed on my free time.

Licence is now under Mozilla Public License V2 instead of MIT.

The closed alpha is still processing today and should end in upcoming weeks I hope... So next testing releases should be open to everyone. When? you will be notified from my Twitter.

About the progress, here is an overview of achievements since my previous announcement:

Activities Sync

The sync of Gpx , Tcx and Fit files through a “ File connector ” is completed . This connector can also estimate of power of your rides & runs in case you don’t own a real power meter.

, and files through a “ ” is . This connector can also estimate of power of your rides & runs in case you don’t own a real power meter. The sync of Strava activities through a dedicated connector is also completed . Same as previous connector, it can estimate power of runs activities and power of your rides when Strava don’t provide them. This can occur if you didn’t set your weight in their settings.

activities through a dedicated connector is also . Same as previous connector, it can estimate power of runs activities and power of your rides when Strava don’t provide them. This can occur if you didn’t set your weight in their settings. More to come…

Activity view and deep stats analysis

Quite legit, Yes! But it had to be done 😉.

You will find below some screenshots. Of course, many new features will be added over time, it’s the “base version” you can see. You will get what you can expect from this kind of feature.

Single activity welcome screen (1)

Single activity welcome screen (2)

Activity view: zoom in graph section

Activity view: all stats tab

Activity view: peaks tab

Activity view: time in zone tab

Mac OS Builds 🍏

Elevate will support both Intel x86-64 and Apple Silicon ARM architectures (with current M1 chip). Here some screenshots under Mac OS Catalina:

Fitness Trend under Mac OS Catalina

Monthly Rolling Progression under Mac OS Catalina

Connectors page under Mac OS Catalina

Performance boost, technical stuff, and Iceberg hidden faces.

Invisible to you but not for me… I had to change the internal database to fix performance issues observed when athlete history is greater than 4000 activities. This took me months to complete but app performance has been improved by 600% in same conditions! Performance is also increased on lower athlete history size consequently.

in same conditions! Performance is also increased on lower athlete history size consequently. New activity stats calculation engine designed from scratch. Some code smells which could remain in the legacy engine code have been withdrawn. Calculation engine is now properly “industrialized” under automatic tests.

Complete rework of the streams pre-processor used by the stats calculation engine. Includes an enhanced noise suppression coming from athlete sensors streams with non-human spikes behaviors reduction. Still receiving improvements.

Rework of already developed Electron inter-process communication (between IpcMain & IpcRenderer) to comply with the new security context isolation enabled by default in upcoming Electron v12.

Internal activity recalculation mechanism for desktop app only. Indeed many activity stats depends on physical properties such as weight, thresholds, max & min heart-rate, etc... If these properties are updated, then activity stats have to be recalculated. You will be prompted to recalculate some activities stats when athlete settings changed on a given period. There is no need to re-sync anything from connectors.

New desktop app update mechanism for Windows and Mac OS versions. Apps will be updated automatically when a new release is online. It’s based on the GitHub release Api. Some issues on Mac OS update process have still to be fixed. Linux version should be updated from “App stores" like “Snap craft”: still to be defined.

Design of a dedicated data migration process after desktop app update. When the app binaries have been updated (see previous point), the data structure of your history may have to evolve according changes each version can introduce. For each version there’s a migration process to be applied. The mechanism ensures that every migration is well played between the old and the new updated version.

Parallel integration of the legacy web extension during desktop app development. Both have code in common and their own code. Supporting the legacy web extension is noticeable break for the desktop app development. But as I said in my previous announcement I will still support it for a while.

New athlete profile backup/restore mechanism for the desktop app only. It supports export/import of very large activities data-set. Backups are “Brotli” compressed.

Many others changes and improvements have been done, you will see that when installed on your computer 😉.

Hope I’ve enlightened you on the current status of the desktop app. Stay tuned on my Twitter for more updates.

Support Elevate Here 😊 ❤️. It helps me to cover expenses I engaged or will engage for the project: MacBook, cloud hosted virtual machines, annual certificates + software licences… and of course coffees ☕.

Thanks to you,

Sportingly,

Thomas