Plan View

263 views
Skip to first unread message

Joachim Kohlhammer

unread,
Nov 15, 2025, 10:45:11 AM (7 days ago) Nov 15
to golden-cheetah-users
After an initial look at the plan view (PR #4690), I want to share my impressions (user standpoint only, no code review):
  • Overall I liked the solution, some refinements could improve the UX.
  • Seasons work as expected: Switching in plan view reflects in trends and the other way round
  • Forward / backward buttons work as expected
  • Sidebar / Charts pane: Is it possible to hide the charts? They don't make sense to me in the plan view
  • Toolbar: Currently plan view has no compare pane available, is it possible to disable the toggle action?

Lets start a discussion about trends and plan view. What is the purpose of each, how do they differ, which charts should be available? Based on those results it will be clearer for everybody what to expect where.

Additional proposals (possible tasks for me):
  • "Planning Calendar" should be renamed to just "Calendar". I added the planning-attribute as the old calendar still was around when I started
  • Agenda should be moved out of the calendar chart into its own. Calendar fits IMHO to both trends and plan, agenda only to plan. The refactoring and code duplication shouldn't be too bad and I would prefer it this way from a users perspective
  • Should the current season be shown in the header of the calendar (similar to the agenda)? This would make clearer what the users sees and interacts with while saving the space for the sidebar

Cheers, Joachim

Paul J

unread,
Nov 15, 2025, 2:20:54 PM (7 days ago) Nov 15
to golden-cheetah-users
Joachim,  thank you opening this discussion on the planning view.

Happy to look at:
  • Sidebar / Charts pane: Is it possible to hide the charts in plan view?
  • Toolbar: Currently plan view has no compare pane available, is it possible to disable the toggle action?
    I'm thinking trends is about analysis of completed/past activities and long term metrics, while plan view is about planning future activities, comparing completed activities against the planned training programme. It would be the place to create/edit future activities/training plans, load/save, etc. I'm not sure what metrics would be useful for planned against completed activity comparisons. The  "Planning Calendar" would be the main chart within plan view, and only available in plan view.

    Poncho

    unread,
    Nov 15, 2025, 2:33:37 PM (7 days ago) Nov 15
    to golden-che...@googlegroups.com
    Hi Joachim

    I really like the new calendar, thanks for implementing it :)

    One little annoyance that I've notice:

    * when the calendar is used as default view and is opened immediately
    after program start, new activities autoimported in the background only
    appear after switching to another view.
    For me it would be convenient if a successful autoimport would refresh
    the calendar automatically.

    Best regards,
    Poncho


    On 11/15/25 16:45, Joachim Kohlhammer wrote:
    > After an initial look at the plan view (PR #4690), I want to share my
    > impressions (user standpoint only, no code review):
    >
    > - Overall I liked the solution, some refinements could improve the UX.
    > - Seasons work as expected: Switching in plan view reflects in trends
    > and the other way round
    > - Forward / backward buttons work as expected
    > - Sidebar / Charts pane: Is it possible to hide the charts? They don't
    > make sense to me in the plan view
    > - Toolbar: Currently plan view has no compare pane available, is it
    > possible to disable the toggle action?
    >
    >
    > Lets start a discussion about trends and plan view. What is the purpose of
    > each, how do they differ, which charts should be available? Based on those
    > results it will be clearer for everybody what to expect where.
    >
    > Additional proposals (possible tasks for me):
    >
    > - "Planning Calendar" should be renamed to just "Calendar". I added the
    > planning-attribute as the old calendar still was around when I started
    > - Agenda should be moved out of the calendar chart into its own.
    > Calendar fits IMHO to both trends and plan, agenda only to plan. The
    > refactoring and code duplication shouldn't be too bad and I would prefer it
    > this way from a users perspective
    > - Should the current season be shown in the header of the calendar

    Joachim Kohlhammer

    unread,
    Nov 16, 2025, 3:03:02 AM (7 days ago) Nov 16
    to golden-cheetah-users
    Paul J schrieb am Samstag, 15. November 2025 um 20:20:54 UTC+1:
      I'm thinking trends is about analysis of completed/past activities and long term metrics, while plan view is about planning future activities, comparing completed activities against the planned training programme. It would be the place to create/edit future activities/training plans, load/save, etc. I'm not sure what metrics would be useful for planned against completed activity comparisons. The  "Planning Calendar" would be the main chart within plan view, and only available in plan view.

      I fully agree with you on trends view, mostly on plan view. Plan view is for
      Nevertheless I would keep the calendar also available in the trends view (without agenda) as it shows an overview of your past activities, even if you don't follow a plan

      Joachim Kohlhammer

      unread,
      Nov 16, 2025, 3:07:47 AM (7 days ago) Nov 16
      to golden-cheetah-users
      Poncho schrieb am Samstag, 15. November 2025 um 20:33:37 UTC+1:
      * when the calendar is used as default view and is opened immediately
      after program start, new activities autoimported in the background only
      appear after switching to another view.
      For me it would be convenient if a successful autoimport would refresh
      the calendar automatically.

      This is not related to the calendar but happens if you import before the activities view was loaded (see https://github.com/GoldenCheetah/GoldenCheetah/blob/a7200a31ff54f1f8a9cc8bf765fe699a02654638/src/Gui/AthleteTab.cpp#L209). @Paul, do you have an idea to cleanly fix this? I like the lazy loading approach, but here it comes at a price

      Paul J

      unread,
      Nov 16, 2025, 9:33:20 AM (6 days ago) Nov 16
      to golden-cheetah-users
      Hi Joachim, I'll take a look at the Plan view auto import issue.

      Paul J

      unread,
      Nov 16, 2025, 11:11:11 AM (6 days ago) Nov 16
      to golden-cheetah-users
      The auto import not updating the calendar is probably due to the import containing more than 20 activities  ( Poncho can you confirm this is the issue? or provide more information on how to repeat the issue? )  , as I have tested it with fewer activities and it updates fine, as each activity is added it is updated in the calendar

      The issue is trying to import >20 activities, which RideImportWizard.cpp considers to be a batch import and then it doesn't signal in the RideCache that a ride has been added, see  https://github.com/GoldenCheetah/GoldenCheetah/blob/a7200a31ff54f1f8a9cc8bf765fe699a02654638/src/Gui/RideImportWizard.cpp#L1121  and   https://github.com/GoldenCheetah/GoldenCheetah/blob/a7200a31ff54f1f8a9cc8bf765fe699a02654638/src/Core/RideCache.cpp#L302

      I have created commit that will add a signal when the ride import is complete and used this to refresh the calendar, it works fine, I can it to the plan view work once Poncho has confirmed this is actually the issue.

      Ale Martinez

      unread,
      Nov 16, 2025, 11:22:27 AM (6 days ago) Nov 16
      to golden-cheetah-users
      El sábado, 15 de noviembre de 2025 a la(s) 12:45:11 p.m. UTC-3, tiefgara...@gmail.com escribió:
      After an initial look at the plan view (PR #4690), I want to share my impressions (user standpoint only, no code review):
      • Overall I liked the solution, some refinements could improve the UX.
      • Seasons work as expected: Switching in plan view reflects in trends and the other way round
      • Forward / backward buttons work as expected
      • Sidebar / Charts pane: Is it possible to hide the charts? They don't make sense to me in the plan view
      • Toolbar: Currently plan view has no compare pane available, is it possible to disable the toggle action?
      Mostly agree, on Windows there is a weird behavior when the current chart is PMC on Trends: the sidebar disappears and then comes back, which is awful.
      WRT compare button we could do something similar to perspective selector to disable or hide when not available s.t. Athletes View too.
       
      Lets start a discussion about trends and plan view. What is the purpose of each, how do they differ, which charts should be available? Based on those results it will be clearer for everybody what to expect where.

      Additional proposals (possible tasks for me):
      • "Planning Calendar" should be renamed to just "Calendar". I added the planning-attribute as the old calendar still was around when I started
      • Agenda should be moved out of the calendar chart into its own. Calendar fits IMHO to both trends and plan, agenda only to plan. The refactoring and code duplication shouldn't be too bad and I would prefer it this way from a users perspective
      • Should the current season be shown in the header of the calendar (similar to the agenda)? This would make clearer what the users sees and interacts with while saving the space for the sidebar
      Agree, my initial concern in the current status is Plan View is not different than a Plan perspective on Trends -except for the direct access via scope bar/view menu.

      PS: if anyone else not building from source want to give this a try, here is a Windows installer for latest snapshot with this PR applied https://temp.sh/asGRY/GoldenCheetah_v3.7_x64Qt6.exe, for macOS and Linux go to the Artifacts tab for the OS in https://ci.appveyor.com/project/Joern-R/goldencheetah-knhd8/builds/53083643

      Ale Martinez

      unread,
      Nov 16, 2025, 11:26:18 AM (6 days ago) Nov 16
      to golden-cheetah-users
      El domingo, 16 de noviembre de 2025 a la(s) 1:11:11 p.m. UTC-3, paulj...@gmail.com escribió:
      The auto import not updating the calendar is probably due to the import containing more than 20 activities  ( Poncho can you confirm this is the issue? or provide more information on how to repeat the issue? )  , as I have tested it with fewer activities and it updates fine, as each activity is added it is updated in the calendar

      The issue is trying to import >20 activities, which RideImportWizard.cpp considers to be a batch import and then it doesn't signal in the RideCache that a ride has been added, see  https://github.com/GoldenCheetah/GoldenCheetah/blob/a7200a31ff54f1f8a9cc8bf765fe699a02654638/src/Gui/RideImportWizard.cpp#L1121  and   https://github.com/GoldenCheetah/GoldenCheetah/blob/a7200a31ff54f1f8a9cc8bf765fe699a02654638/src/Core/RideCache.cpp#L302

      I have created commit that will add a signal when the ride import is complete and used this to refresh the calendar, it works fine, I can it to the plan view work once Poncho has confirmed this is actually the issue.

      Please don't, since this is an independent issue of Plan view and present in current master, let's make a separate PR. 

      Paul J

      unread,
      Nov 16, 2025, 11:41:22 AM (6 days ago) Nov 16
      to golden-cheetah-users
      Auto import not updating the calendar changes now in a separate PR #7434

      Paul J

      unread,
      Nov 16, 2025, 12:19:19 PM (6 days ago) Nov 16
      to golden-cheetah-users
      I'll take a look at:  Windows there is a weird behavior when the current chart is PMC on Trends: the sidebar disappears and then comes back, which is awful.

      Paul J

      unread,
      Nov 16, 2025, 1:28:07 PM (6 days ago) Nov 16
      to golden-cheetah-users
      I'm not sure why the PMC chart should cause any left sidebar issues, but I have corrected the  LTM sidebar status displayed in the View menu and updated its status on change:
      https://github.com/GoldenCheetah/GoldenCheetah/pull/4690/commits/3ed4442e505e49443eb4366e73f489e300f51c1c

      If it still occurs, can you explain the steps to repeat it?

      Ale Martinez

      unread,
      Nov 16, 2025, 2:45:29 PM (6 days ago) Nov 16
      to golden-cheetah-users
      El domingo, 16 de noviembre de 2025 a la(s) 3:28:07 p.m. UTC-3, paulj...@gmail.com escribió:
      I'm not sure why the PMC chart should cause any left sidebar issues, but I have corrected the  LTM sidebar status displayed in the View menu and updated its status on change:
      https://github.com/GoldenCheetah/GoldenCheetah/pull/4690/commits/3ed4442e505e49443eb4366e73f489e300f51c1c

      If it still occurs, can you explain the steps to repeat it?

      Yes, still happens.
      The steps are to go back and forth between Trends and Plan using the scope bar, when the current chart in Trends view is the new Calendar, an Overview or a User chart the transition is smooth, but when the current chart in Trends is a Metrics Trends (s.t. PMC) or an R chart there is an awful flicker on the left sidebar, only tested on Windows 11 with Qt 6.8.3 for now.

      Paul J

      unread,
      Nov 16, 2025, 3:50:22 PM (6 days ago) Nov 16
      to golden-cheetah-users
      I see it now, thank you the explanation,  I guess that the metrics chart is being drawn before the sidebar is attached on the viewChanged() event and the layout widgets resize, as I see the axis line very briefly over the sidebar area causing the flicker, I'll look at fixing this.

      Paul J

      unread,
      Nov 16, 2025, 6:29:41 PM (6 days ago) Nov 16
      to golden-cheetah-users
      Please see (and test) the following commit which removes the user chart trends-plan view switching:  https://github.com/GoldenCheetah/GoldenCheetah/pull/4690/commits/c4bf7485f97b6798340ad350d2318db74923106f

      Ale Martinez

      unread,
      Nov 17, 2025, 9:33:15 AM (5 days ago) Nov 17
      to golden-cheetah-users
      El domingo, 16 de noviembre de 2025 a la(s) 8:29:41 p.m. UTC-3, paulj...@gmail.com escribió:
      Please see (and test) the following commit which removes the user chart trends-plan view switching:  https://github.com/GoldenCheetah/GoldenCheetah/pull/4690/commits/c4bf7485f97b6798340ad350d2318db74923106f

      That fixes the flicker, thank you! 

      Pat Voi

      unread,
      Nov 17, 2025, 10:07:14 AM (5 days ago) Nov 17
      to golden-cheetah-users
      Hello Joachim, one small detail I noticed:
      Would it be possible to include a checkbox to classify an activity as a non-activity, for example for recovery time, in order to follow a precise plan. thank you!

      PatGC Récupération_2.jpg

      GC Récupération_1.jpg

      Joachim Kohlhammer

      unread,
      Nov 19, 2025, 1:11:01 AM (4 days ago) Nov 19
      to golden-che...@googlegroups.com
      Hi Pat,

      I am not aware of any such flag in the ride items. To skip summary, probably a deeper change would be necessary. Therefore I don't have this on my list at the moment. But your proposal on Recovery_Time has a high priority for me (1. extract the agenda into its own chart, 2. Connect planned and completed activities, 3. Recovery_time), but will most probably only be visible in day and week view. But maybe we could give a hint in the plan activity dialog: "take care of recovery" or something similar.

      Cheers, Joachim

      Ale Martinez

      unread,
      Nov 19, 2025, 9:34:33 AM (3 days ago) Nov 19
      to golden-cheetah-users
      El lunes, 17 de noviembre de 2025 a la(s) 12:07:14 p.m. UTC-3, voip...@gmail.com escribió:
      Hello Joachim, one small detail I noticed:
      Would it be possible to include a checkbox to classify an activity as a non-activity, for example for recovery time, in order to follow a precise plan. thank you!

      PatGC Récupération_2.jpg

      GC Récupération_1.jpg

      You can add Recovery as an additional Sport (or as an additional Recovery bool Data Field), after that you can define your own Activities User Metric to skip counting them as normal activities, something like { value(Sport="Recovery" ? 0 : 1); } should work, and use Sport<>"Recovery" as a filter in Trends perspectives when you want to avoid them in charts.
      I think it is overkill, but you can do that if you like to.

      Joachim Kohlhammer

      unread,
      Nov 19, 2025, 12:02:12 PM (3 days ago) Nov 19
      to golden-cheetah-users
      Hi Pat,

      Your proposal on Recovery_Time is still on my list (1. extract the agenda into its own chart, 2. Connect planned and completed activities, 3. Recovery_time), most probably visible in day and week view. But maybe we could give a hint in the plan activity dialog: "pay attention to your recovery" or something similar.

      Cheers, Joachim

      Pat Voi

      unread,
      Nov 19, 2025, 1:22:29 PM (3 days ago) Nov 19
      to golden-cheetah-users
      Hi Joachim,

       1. extract the agenda into its own chart,
      -  That's a good idea, if it's possible.

       2. Connect planned and completed activities,
      -  I also believe that planned and carried out activities should be linked.

      3. Recovery_time), most probably visible in day and week view. 
      -  To ensure optimal monitoring, it would be wise to indicate the recovery time per day, week and month.

      But maybe we could give a hint in the plan activity dialog: "pay attention to your recovery" or something similar.
      - It seems to me that the 'recovery time' is really good!

      From my perspective as a user, it seems to me that there are two alternatives for 'recovery time' in order to define the recovery time using RPE zones.

      - Zone 0: Recovery time should not be counted towards activities.
      - Zone 1 and above: Recovery time is included in activities.

      Pat

      Pat Voi

      unread,
      Nov 19, 2025, 1:38:58 PM (3 days ago) Nov 19
      to golden-cheetah-users
      Hi Ale,

      Unless I'm mistaken in my tests, "recovery time" is always counted in activities.
       
      Pat

      Paul J

      unread,
      Nov 19, 2025, 1:44:30 PM (3 days ago) Nov 19
      to golden-cheetah-users
      I'm not sure whether we need to link planned activities to completed activities, I'd guess that a useful chart would be the planned training "load" per day/week against the actual load, so that it is possible to see how closely the plan is being followed. I have put "load" in quotes as I guess there many metrics that might be considered for comparison.

      Poncho

      unread,
      Nov 19, 2025, 4:28:02 PM (3 days ago) Nov 19
      to golden-che...@googlegroups.com
      On 11/16/25 17:11, Paul J wrote:
      > The auto import not updating the calendar is probably due to the import
      > containing more than 20 activities

      It was less than 20 activities for sure. But when I've tried today, I
      couldn't reproduce the issue with current git master.

      I'll do some better debugging in case it happens again.

      Ale Martinez

      unread,
      Nov 19, 2025, 5:04:12 PM (3 days ago) Nov 19
      to golden-cheetah-users
      El miércoles, 19 de noviembre de 2025 a la(s) 3:38:58 p.m. UTC-3, voip...@gmail.com escribió:
      Hi Ale,

      Unless I'm mistaken in my tests, "recovery time" is always counted in activities.

      All activities are counted by the builtin metric off course, that's the reason I suggested you define your own User Metric to skip the fake activities used for that purpose, (re)read my previous message. 

      Paul J

      unread,
      9:17 AM (9 hours ago) 9:17 AM
      to golden-cheetah-users
         To make the Plan View distinct from the trends view I think we need to consider restricting which charts are only available in each view ?
         
        Currently the plan view PR 4690  supports all trends view charts in the plan view, except for the Overview and UserChart which use the OverViewScope enumeration to tailor their behaviour,
        so there are plan view specific versions of these charts in the following commit. But if the Overview and UserChart are not required in plan view, then this commit can be reverted, and the additional
        OverviewPlan, OverviewPlanBlank and UserPlan chart types can be removed.

       The current allocations are (analysis only charts have been omitted):

          // name                     GcWinID
          { VIEW_TRENDS, tr("Season Overview"),GcWindowTypes::OverviewTrends },
          { VIEW_TRENDS, tr("Blank Overview "),GcWindowTypes::OverviewTrendsBlank },
          { VIEW_PLAN, tr("Plan Overview"),GcWindowTypes::OverviewPlan },
          { VIEW_PLAN, tr("Blank Overview "),GcWindowTypes::OverviewPlanBlank },
          { VIEW_TRENDS, tr("User Chart"),GcWindowTypes::UserTrends },
          { VIEW_PLAN, tr("User Chart"),GcWindowTypes::UserPlan },

          { VIEW_TRENDS|VIEW_PLAN, tr("Trends"),GcWindowTypes::LTM },
          { VIEW_TRENDS|VIEW_PLAN, tr("TreeMap"),GcWindowTypes::TreeMap },
          { VIEW_TRENDS|VIEW_PLAN,  tr("Power Duration "),GcWindowTypes::CriticalPowerSummary },
          { VIEW_TRENDS|VIEW_PLAN, tr("Distribution"),GcWindowTypes::Distribution },
          { VIEW_TRENDS, tr("R Chart "),GcWindowTypes::RConsoleSeason },
          { VIEW_TRENDS, tr("Python Chart "),GcWindowTypes::PythonSeason },
          { VIEW_TRENDS|VIEW_PLAN, tr("Navigator"), GcWindowTypes::ActivityNavigator },
          { VIEW_ANALYSIS|VIEW_TRENDS|VIEW_TRAIN, tr("Web page"),GcWindowTypes::WebPageWindow }, 
          { VIEW_TRENDS|VIEW_PLAN, tr("Calendar"),GcWindowTypes::Calendar },

      On Sunday, 16 November 2025 at 16:22:27 UTC Ale Martinez wrote:
      Reply all
      Reply to author
      Forward
      0 new messages