Proper TrainerRoad and Zwift integration [Feature Request]

Sure, but it’s easier to drop what you’re doing to work on this when you’re a one-man operation. A bigger company with a bigger team that already has work in progress for a pre-existing roadmap is harder to pivot to work on this, not to mention that TR is a paid product with a vocal user base that would be rightfully upset if rushing things out broke things for them (something for which intervals.icu would likely be given lots more leeway because it’s a one-man operation), and has a huge workout library and apps on multiple platforms, so the QA effort is probably considerable.

6 Likes

While I was using intervals.icu this month to push exported TR workouts to zwift, I was pondering why the “strava API issue” didnt cause a pivot to Trainer Road moving to a intervals sync. A TR/Intervals sync would have solved strava, possibly even Wahoo, with a single blow, and avoided using the zwift API directly for initial capability rollout. A more polished direct zwift api integration could then be pushed to a later date. Only my thoughts, but here they are shared. I have no doubt that I’m certainly missing a number of important points that would not have made this a possible resolution, but I can’t stop myself from posting!

1 Like

I don’t see the benefit in that. The whole issue with Strava came down to relying on a third party to be the hub for activity data, and switching to intervals.icu as the hub doesn’t really solve that, you’re just swapping a third party for another. What Strava’s API policy change forced everyone to do is stop relying on them and go straight to the first parties (Zwift, Wahoo, etc.) for this data, which is what TR is doing. Using intervals.icu in the interim seems like wasted effort that just kicks that can down the road.

2 Likes

Ditto. I can’t tell you how many times I’ve read stuff like “I want feature X, it should be so easy to add…” around here (and other SW related sites).

Dunning-Kruger in full effect where anything is easy if:

  1. You don’t have to do it yourself.
  2. You have little to no understanding of the greater complexity hiding beneath the “simple” idea.

The comparisons to stuff like ICU and such miss the complexity of scale and other implications with far more cross-connections and other factors that explode the challenge at an exponential rate. Smaller projects like that have far fewer considerations vs TR and the relative behemoth in their hands.

15 Likes

I can’t help wondering: if the TR team started today, from a clean sheet, to create software that has the functionality of the current version of TR, how different would the code look compared to that which is in place right now.

2 Likes

I suppose you could ask that question about any software program…at some point, you have to choose the architecture based on the best available options.

The rumor has always been that many of the features / upgrades that are wanted in Zwift are impossible because of the platform the original program was built on and they are now locked into it, warts and all. Without tearing the whole thing down and starting over, you just make do with what you have, I reckon.

5 Likes

And tearing an entire codebase down and starting from scratch has never worked in the entire history of software, I don’t think. You just end up having to support both the legacy, unmaintained codebase and the new, unfinished one.

Every software company that I’ve ever worked at:

9 Likes

Unless / until the ability of the code / architecture limiting the implementation of new features allows a new entrant to sneak past…

Yup, “legacy” is just one of those factors that makes the “easy” stuff so hard. It’s also why we see new upstart projects with such fast progression and feature implementation vs well established ones that have a greater depth to the product/service.

IIRC TR had at least one or two major changes in code base along their history and it was a large undertaking to make that transition even at their size at that time. Considering the growth in user base but also the feature set they support now, I believe that is one of the key reasons development is slower and more tedious than even 5 years ago.

4 Likes

Wait until you hear about workout levels for outdoor rides.

8 Likes

On tearing down and rebuilding from scratch: look at the recent Sonos cluster*(&)(&)&*** for an example of this going horribly wrong. Or the introduction of the Wahoo Elemnt Ace that is missing features that previous Elemnt / Bolt computers have

8 Likes

TrainerRoad need to get over this idea that their USP is their workouts. It’s not, or at least, it no longer is, and this stance of ‘protecting their IP’ does nothing now but hold them back. Their USP and IP is their plans and AI adaptations.

1 Like

You sound like a Product Manager.

I’ve worked at lots of places with that sort of attitude that grind themselves to an inevitable death.

The intervals.icu example may not have been the best one, as it is easy to use the one-man-band excuse, but really it’s because it’s built to be extensible with excellent APIs, documentation and, most importantly, an open approach.

Xert have also managed it. Join have managed it. The reason TR haven’t managed it isn’t because they have some extra complex magic sauce, it’s either because they inherently lack agility, or they are over-protective of their workouts and are putting in extra protective mechanisms. At the end of the day a scheduled workout is a pretty simplistic text file that just has to be sent over an API.

6 Likes

That seems to be a pretty bold claim…

I would refer you back to @ChrisPodmore’s post above.

5 Likes

I’d rather have a cautious product manager that has a realistic grasp of timelines to implement new features at scale than an overconfident engineer who thinks they can speak authoritatively about the inner workings of an organization they don’t work at and use words like “just” when talking about the implementation of new features.

11 Likes

There’s not much guessing at play here. Others have implemented it in a fraction of the time.

‘Realistic about timeframes’ doesn’t seem to apply here either.

3 Likes

I think Zwift probably also have a big say in the order in which partners are added.

2 Likes

Unpopular opinion but… I really don’t like the Zwift workout player.

1 Like

It’s been a bit since I used either but both tr and zwift functioned identically to me.

Intervals icu ip is being sent to zwift the same as TRs. They don’t own the workouts.