Thomas Champagne
5 min readFeb 22, 2021

--

Update April 2022: Beta is now available ! Download it here !!

Elevate Desktop App: 2021 update.

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.
  • 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.
  • 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.
  • 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

--

--

Thomas Champagne

Network + Software Engineer. Cyclist, Freeskier, Juggler & Magician. Author of #ElevateStrava Training App. @GitKraken Ambassador.