Skip to content

Feedback about new climb featureΒ #657

@mu88

Description

@mu88

Hey,

First of all, I really like the progress you're making with the new climb feature 🀩 as promised, here's my feedback:

Consider displaying slope in percent

Personally, it feels more natural to me to read slope in percent than in decimal. For example, here I'd write 10% instead 0.10:

Image

Climb detection seems to be too sensitive

Here you can see the climb detection of the route I sent you last week within workout tracker:

Image

As you can see, it contains many small and split climbs.

And here's the output of the same track from https://gpx-analyzer.streamlit.app:

Image

That matches more with my personal impression (a smaller climb at the beginning, a second one, and a hard one at the end), whereas workout tracker's climbs don't match my memories. Actually, when seeing these climbs, I was thinking to myself Wait, where were these climbs? Wasn't it just a longer one? πŸ˜„

So long story short, the current hill climb detection seems a bit too sensitive to me.

Arrangement of UI elements

With the new climbs table, a workout detail page becomes very long - personally, I'm most interested in the details at the very top and the climbs at the very end, but I barely ever read the details per kilometer in between. Of course, that's a question of personal preferences. But maybe the overall site height could be condensed. The following ideas came to my mind:

  • Use collapsible, like this for Markdown. The climb table and kilometer table would be different collapsible items and folded up by default.
  • Use different panels (don't know if this is the correct name in terms of UI people), like here on GitHub:
Image

Climb details

The following additional climb details would be neat to have in the table:

  • Min slope
  • Max slope
  • Average slope
  • Min cadence
  • Max cadence
  • Average cadence

Furthermore, consider renaming Climb Elevation to Elevation Gain.

Overall details

Consider adding the following data to the overview table at the very top of a workout:

  • Min slope
  • Max slope
  • Average slope

Climb category

Call me a nerd, but I like the concept of climb categories πŸ€“ I did a quick search and was a bit surprised that there are no unique concepts across cycling competitions - Tour de France does it differently than Giro d'Italia, etc. There is even a completely other concept of Cotacol Points (see here) 😲
But I stumbled over the Strava and Garmin algorithms, which seem easy enough to implement and precise enough for non-professionals like me πŸ˜„
Maybe it would be an option to implement both algorithms, and an option in the user's profile where one can choose which algorithm to use.

Slope within climb profile

I'd find it very interesting to see the color-coded slope in the elevation profile, like on https://gpx-analyzer.streamlit.app/:

Image

UI suggestion

Just as a warning, I have absolutely no good sense for properly designed pages, my UI usually looks very crappy πŸ˜„ but nonetheless I tried to sketch what it would look like.

There are three different panels:

  • Overview β†’ contains the map and the overall details of the workout.
  • Kilometers β†’ contains the detailed per-kilometer details table.
  • Climbs

The latter could look like this:

Overall statistics

| Elevation Gain | Category | Average Slope | Start Distance | Climb Distance | Start Duration | Climb Duration |
Hey,

First of all, I really like the progress you're making with the new climb feature 🀩 as promised, here's my feedback:

Consider displaying slope in percent

Personally, it feels more natural to me to read slope in percent than in decimal. For example, here I'd write 10% instead 0.10:

Image

Climb detection seems to be too sensitive

Here you can see the climb detection of the route I sent you last week within workout tracker:

Image

As you can see, it contains many small and split climbs.

And here's the output of the same track from https://gpx-analyzer.streamlit.app:

Image

That matches more with my personal impression (a smaller climb at the beginning, a second one, and a hard one at the end), whereas workout tracker's climbs don't match my memories. Actually, when seeing these climbs, I was thinking to myself Wait, where were these climbs? Wasn't it just a longer one? πŸ˜„

So long story short, the current hill climb detection seems a bit too sensitive to me.

Arrangement of UI elements

With the new climbs table, a workout detail page becomes very long - personally, I'm most interested in the details at the very top and the climbs at the very end, but I barely ever read the details per kilometer in between. Of course, that's a question of personal preferences. But maybe the overall site height could be condensed. The following ideas came to my mind:

  • Use collapsible, like this for Markdown. The climb table and kilometer table would be different collapsible items and folded up by default.
  • Use different panels (don't know if this is the correct name in terms of UI people), like here on GitHub:
Image

Climb details

The following additional climb details would be neat to have in the table:

  • Min slope (if there's no climb details page, see my suggestion at the very bottom)
  • Max slope (if there's no climb details page, see my suggestion at the very bottom)
  • Average slope
  • Min cadence (if there's no climb details page, see my suggestion at the very bottom)
  • Max cadence (if there's no climb details page, see my suggestion at the very bottom)
  • Average cadence
  • Average speed

Furthermore, consider renaming Climb Elevation to Elevation Gain.

Overall details

Consider adding the following data to the overview table at the very top of a workout:

  • Min slope
  • Max slope
  • Average slope

Climb category

Call me a nerd, but I like the concept of climb categories πŸ€“ I did a quick search and was a bit surprised that there are no unique concepts across cycling competitions - Tour de France does it differently than Giro d'Italia, etc. There is even a completely other concept of Cotacol Points (see here) 😲
But I stumbled over the Strava and Garmin algorithms, which seem easy enough to implement and precise enough for non-professionals like me πŸ˜„
Maybe it would be an option to implement both algorithms, and an option in the user's profile where one can choose which algorithm to use.

Slope within climb profile

I'd find it very interesting to see the color-coded slope in the elevation profile, like on https://gpx-analyzer.streamlit.app/:

Image

UI suggestion

Just as a warning, I have absolutely no good sense for properly designed pages, my UI usually looks very crappy πŸ˜„ but nonetheless I tried to sketch what it would look like.

There are three different panels:

  • Overview β†’ contains the map and the overall details of the workout.
  • Kilometers β†’ contains the detailed per-kilometer details table.
  • Climbs

The latter could look like this:

Overall statistics

Climb Number Elevation Gain Category Average Slope Start Distance Climb Distance Start Duration Climb Duration Average Speed Average Cadence
1 59 m None 4% 0.71 km 1.18 km 2min 33s 5min 37s 11 km/h 91 spm
2 337 m 2 7.7% 2.23 km 4.3 km 9min 23s 30min 7 km/h 88 spm
3 688 m 1 6.9% 11.3 km 9.9 km 54min 61min 7 km/h 67 spm

Climb details

Climb 1

Statistics

  • Elevation
    • Gain: 59 m
    • Start: 498 m
    • End: 557 m
  • Slope
    • Average: 4%
    • Min: 2%
    • Max: 6%
    • Climb Category: None
  • Distance
    • Length: 1,18 km
    • Start: 0.71 km
    • End: 1.89 km
  • Time
    • Duration: 5min 37s
    • Start: 2min 33s
    • End: 8min 10s
  • Cadence
    • Average: 81 spm
    • Min: 43 spm
    • Max: 110 spm
  • Speed
    • Average: 9 km/h
    • Min: 4 km/h
    • Max: 21 km/h

Profile

Image
Climb 2

Statistics

You get my point

Profile

You get my point

Climb 3

Statistics

You get my point

Profile

You get my point

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions