DC Rainmaker https://www.dcrainmaker.com Fri, 26 Feb 2021 14:37:17 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.16 https://www.dcrainmaker.com/images/2017/03/dcrainmaker-dc-logo-square-40x40.png DC Rainmaker https://www.dcrainmaker.com 32 32 TrainerRoad Launches TrainNow as Part of Bigger Adaptive Training Overhaul https://www.dcrainmaker.com/2021/02/trainerroad-adaptive-training-trainnow.html https://www.dcrainmaker.com/2021/02/trainerroad-adaptive-training-trainnow.html#comments Thu, 25 Feb 2021 18:45:47 +0000 https://www.dcrainmaker.com/?p=123144 Read More Here ]]> DSC_3179

Today TrainerRoad announced sweeping changes to the platform, which they’ve dubbed Adaptive Training. This means they’re starting to use machine learning algorithms to change workouts based on your progress towards a given goal. A workout is scored as you complete it, and then the rest of your scheduled workouts change accordingly to adapt accordingly. However, while that was announced today, it won’t arrive on most people’s desktops for some time.

What is on your desktop as of today is their new TrainNow feature, which will give you one-off workout recommendations in three training categories, based on your past workout history, along with the option to choose the duration of the workout. TrainNow is using the underpinnings of Adaptive Training machine learning to generate those workout recommendations. So in effect, it’s your first window into TrainerRoad’s bigger changes.

While this might sound basic, the reality is that with far fewer people having a set goal for training or racing in 2020/2021, doing ad-hoc workouts has become more and more common for what are otherwise highly structured athletes. This feature is entirely targeted at those that use TrainerRoad but without a specific TrainerRoad plan, of which, TrainerRoad says there are more users than you might realize (though, it does work if you do have a plan loaded and just prefer to ignore the plan).

The main point is that many of us want to do a structured workout, but frankly can’t decide which one to choose. Whether it be on TrainerRoad, Zwift, Xert, or others – you’re often presented with hundreds or thousands of choices without any real guidance, or even basic suggestions. In fact, I’d suggest that’s why platforms like Peloton have done so well: They bubble up those suggested workouts to you, removing all the indecision blockers.

So, let’s jump right into it.

How it works:

To begin, you’ll first update your TrainerRoad app, and then once that’s done, hit ‘Workouts’ on the left side, followed by the ‘TrainNow’ tab at the top:


Next, you can choose a specific duration for the workout, from 30 minutes up to 150 minutes. These of course align to the specific durations within the TrainerRoad library.


In my case, for today I’ll choose the 45-minute option, and then you’ll notice how below, it changes the workout options to different ones. As usual, the thin line across the middle of the workout is your FTP level, so you can quickly gauge how much suck this workout will entail. Or, those more scientifically focused can simply look at the TSS & IF scores (Training Stress Score & Intensity Factor) listed next to it.


Don’t like the look of the options presented? Not your preferred blue style? Don’t like the name of the workout? No problem, hit the ‘Refresh’ button to wash away those options and get presented with three new ones. It’s like pulling the slot machine arm, appropriate for a company based in Reno, Nevada.


Ultimately, I pressed refresh a few more times, until I got ‘Goddard –4’, which looked interesting. Side note, you’ll notice the intensity and TSS scores for all these workouts in each category are almost identical. That’s not on accident. And it’s not something for today’s post either.


Once you’ve decided on a workout, you can tap it to open it up. You’ll get a preview with a bit more descriptive detail just like normal:


And then from there you’ll go ahead and pair up any trainer devices and do the workout as normal.


And then simply go on to suffer and do the workout like normal. There’s no difference at this point forward – it’s just as if you do the usual TrainerRoad workouts.


And then afterwards you’ll get the summary information, as well as see the results in the app and online for analysis there (and also, as usual, synced to other training platforms like TrainingPeaks and Strava):


See…easy peasy!



This is a smart move for TrainerRoad, and one that I’ve long been hoping to see. Like I said earlier, the idea of ad-hoc workouts isn’t much different than what Peloton does, or in fact – even Zwift. For example, on Zwift when I open the companion app I’m presented with all the upcoming group rides that are about to start. When I decide to Zwift, 95% of the time I’m going to pick one of those workouts in the next hour or so, based entirely on that little section.

However, Zwift doesn’t have that same concept for structured workouts. I mean, sure, if one of those group rides happens to be a group workout – then yes. But there’s currently no recommendations engine within Zwift’s ever-expanding library of structured workouts. And that ignores the fact that it’s a nightmare to find anything in the Windows 95-style nested folder scheme that is the workouts UI. There may be lots of gold down there, but I just give up and choose either the short or long form of Jon’s Mix half the time – since I could at least find it quickly in the folders.

But what’s probably more interesting on TrainerRoad’s side is actually the otherwise innocuous text just above the TrainNow workouts, which states: “Allow us to suggest some other options, based on your recent training history.”

That’s notable, because up until this point, TrainerRoad hasn’t actually taken historical data, except for RAMP/FTP test details, and done anything with it that’s recommendations or forward-moving in nature. So that single line is basically referring to the larger Adaptive Training machine-learning driven changes to the platform. But, that’s a different thing or two for another day.

With that – thanks for reading!

[Can’t decide on a trainer app to use? Ask no more, and hit up this massively long and detailed cycling trainer apps guide.]

Kommander Review: Zwift Control For Your Handlebars https://www.dcrainmaker.com/2021/02/kommander-review-zwift-control-for-your-handlebars.html https://www.dcrainmaker.com/2021/02/kommander-review-zwift-control-for-your-handlebars.html#comments Thu, 25 Feb 2021 14:16:36 +0000 https://www.dcrainmaker.com/?p=123368 Read More Here ]]> DSC_3264

Looking for a way to control Zwift from your handlebars with dedicated clickable buttons for using PowerUps, navigation, and changing camera views? Or perhaps increasing intensity during a structured workout? The new Kommander buttons aim to solve exactly that. The buttons let you control a variety of Zwift functions in a fully waterproof pod that’s designed for your handlebars. In addition to its Zwift integration, it can also act as dedicated buttons for your bike computer. For example, on a Garmin Edge bike computer it can emulate shifter buttons, allowing you to change data pages, or record laps (among other options).

However, perhaps even more notable is that it’s designed for tinkerers to expand and tweak over time. Inversely though, at present, it’s only compatible with Windows or Mac, due to limitations in how Zwift handles 3rd party keyboards on their mobile platforms (read: they don’t).

About now you’re probably wondering what company is making these, and that’d be Titan Labs. Who the heck is Titan Labs? That’s a company founded by Keith Wakeham, and for those in sports tech circles, you’ll likely immediately recognize the name. He’s known for creating his own power meter, before going to work for 4iiii and being the lead engineer on their power meters. From there, he went to one of the major component/group set manufacturers to work on wireless aspects of their product range. He’s also well known for these videos dissecting in crazy engineering detail how other products in the cycling industry work.

In any case, simply hit play below to dive into all the fun on how this works:

Note that I was sent a media loaner set out ahead of time to test out over the last two months, but I’ve since purchased them at regular retail price.

The Hardware:

The hardware is relatively simple. First, you’ve got the buttons, which include a small LED light on them, and are powered using a CR1632 coin cell battery, with a claimed battery life of 1000 hours. The pod transmits both ANT+ & Bluetooth, albeit in very different ways. You can see the pod below, along with the different mounting options.


Above you’ll find rubber band style mount, which is what I used, as well as a hardened permanent-style mount. In my case, for both of my bike setups at home and office, I used the rubber band style mounts. I also used it out on the road without any issues in that configuration.


While the pods might look a bit less refined than an Apple product, Titan Labs says they’re waterproofed quite substantially. Upon asking, they sent over piles of pictures of their waterproof testing rig and the benchmarks they achieved. That includes testing the buttons at an equivalent of 5 meters of water depth for up to 10 minutes. Frankly, if you’ve got yourself in that underwater pickle – I suspect Zwift is the least of your issues.

And while I could have used my fancy waterproof test chamber to validate it, that’d require a bunch of setup work since it’s been a while since I’ve used it. So, I just did the next best thing: I threw it into a giant beer mug for a while, then I pressed a bunch of buttons while it was underwater, with a screwdriver.


It’s still alive. Note that officially it’s just spec’d at IPX7 (1 meter deep for 30 minutes), and with a temp range of –10° to 50°c.

Now on the side of the hardware you’ll see two little contacts. This is for future extension, such as connecting additional accessories. Keith says that their goal here though is to allow people to extend it themselves if they want, and use it as a baseline platform. Their website includes beta bits and details on how to go beyond the baseline bits if they want to.

So while I do have some of the extension hardware, it’s not yet enabled at this point.


Now as mentioned earlier on, there’s effectively two modes for the Kommander:

Mode 1: Zwift control, as a Bluetooth keyboard
Mode 2: ANT+ Remote Control, for bike computers

These two modes don’t work concurrently. When you first power it on, it assumes you’re inside and broadcasts itself as a standard Bluetooth keyboard (officially per the spec called a HID – Human Interface Device). That means you’ll see it show up on your Bluetooth settings on a Mac or PC. Again, technically Apple TV and iOS does support this, but Zwift itself doesn’t support the Bluetooth HID devices.

So for this first Zwift mode, you’ll simply go into your Bluetooth devices on Mac or PC, and pair it up just like you’d pair up a new Bluetooth keyboard, mouse, headphones, or whatever else it is that you pair. You can see it below, listed as ‘SKommander’, and showing as connected:


And with that, we’re literally done. You can now open up Zwift and start using it. It’s that simple.

Note that once it detects its Bluetooth pairing friend (your computer), it shuts off the ANT+ side until it loses the pairing. The two sides don’t run concurrently. On the side of the unit is a small LED, that shows you which mode it’s in. One blue LED flash means Bluetooth Smart mode, and three red flashes means ANT+ mode. I gave up on trying to capture a photo of it, it’s super quick.

Ok, let’s start using it.

Zwift Usage:


Once you’re in Zwift, the buttons will vary based on what mode you’re in. So in free-riding or racing/group riding mode, it’s got one set of commands, while in structured workout/training mode it’s got another set of commands. In reality, it actually doesn’t know what mode you’re in. Instead, it just so happens those keyboard commands overlap.

Here’s how these commands play out in Zwift:


So basically, you’ve got the following overall commands:

Freeride: Navigate left, navigate right, change camera view, utilize a Powerup, turnaround
Event Mode: Change camera view, utilize a powerup
Workout mode: Increase & decrease intensity, skip workout segment, change camera view, turnaround

Now while these are the pre-programmed options, Titan Labs plans to release a smartphone app to allow you to customize these to other functions. Thus, you’ll be able to change to any Zwift command that’s supported via keyboard (here’s a complete list of possibilities).

That’s because behind the scenes, the Kommander is just issuing keyboard commands. It’s literally just a miniature keyboard on your handlebars. So, quick geeks’ aside, here’s what’s actually being issued:


To put this in real-world use, you can watch the video above, or, you can see the non-exciting screenshots below. For example, last weekend I did a structured workout. I changed all the camera views via Kommander. But more notably, you can see me tweaking the power intensity here in this screenshot. Sure, you could do this via the smartphone app, but in my case I tweaked it via Kommander:


And the same is true for using powerups and navigation:

vlcsnap-2021-02-25-14h55m20s275 vlcsnap-2021-02-25-14h56m03s228

In terms of responsiveness, it’s pretty darn quick. Under a second in most cases. It’s far faster than any interaction with your phone or keyboard would be, merely because I never have to move my hands off the handlebars. And of course, you can place the buttons anywhere you want using the rubber band mount. For my purposes for the video I placed them closer so it’s more visible to the camera. But you can put them anywhere:

DSC_3275 DSC_3276

For me personally, most of these default/stock commands align with what I’d use daily. Though, I’d love to be able to customize to give Ride-On’s or even taking a screenshot. I actually rarely navigate in Zwift (since I’m choosing my route ahead of time), so taking a screenshot is more valuable than turning around. But that’ll all come with the planned Kommander smartphone app for customizing it.

The company says they’re about two weeks away from releasing a beta version of that for people to try, and about a month until they’re in the app stores (iOS/Android) officially. But, you can see some early screenshots below from there:

Screenshot_20210225-051755 Screenshot_20210225-050834 Screenshot_20210225-051815

As part of that, you’ll be able to enable Zwift steering using the buttons, similar to how it works today with the Elite Sterzo Smart. That’s not yet enabled for me, so it’s not something I can test at this time.

Bike Computer Mode:

In addition to the Zwift control mode, they’ve also got the ability to emulate Di2 buttons. So, you can control various bike computers with that. For example, you can use it outdoors with a Garmin Edge, Wahoo ELEMNT series, or Hammerhead Karoo units. That allows you to set up three actions for each button, ranging from changing data pages (such as a hotkey to the map), to creating a lap, or stopping/starting. Ideally you’d put this on your handlebars or TT bars in a place that doesn’t require you to move your hands.

To pair that up, you’ll simply go into the pairing menu and search for sensors, then when it finds the Di2 sensor, add it:


After that, it’ll ask if you want to add Di2 data pages. You’ll say no to that, since that’d add gearing-related info. Following that though, it’ll ask if you want to setup Di2 buttons, to which we say definitely.


Next, you’ll see a page showing four sets of buttons to configure. However, only the first two sets are enabled. The secondary two sets are for the extension ports down the road.


For each button we can choose a custom action from the menu. So you can see here that I’ve started with setting a single press to be marking a lap.


But there’s tons of customizable options as seen below, including also toggling connected lights as well.

DSC_3256 DSC_3257

Once that’s all done, you simply press the button once for one action, twice for a different action, and long hold for the third action. I demonstrate all of this in the video up above (you can use the YouTube chapters along the bottom of the video to skip to the right section).



At first glance, I’d assume the Kommander is a bit of a niche product – at least at current pricing. But then again, maybe not. After all, most Zwifters will use these commands during every single Zwift session, and thus, that’s probably more than could be said for other Zwift accessories (like steering), which are limited to certain events (if outside free mode). Right now it’s priced at $87USD ($109 Canadian is the list), though, they’re offering a 20% launch discount to get things rolling (using code EARLYADOPTER). So that brings the price down to $69USD. Shipping is pretty cheap, to me here in the Netherlands it’s just $8 – and it ships immediately.

Now in some ways this product demonstrates quite clearly the opportunity Zwift has for instantiating a proper partner integrations department within the company. As of today, that doesn’t exist. There isn’t a single cohesive dedicated team for working with 3rd parties on how to integrate partner accessories. Certainly, Zwift wants to control that – but there’s tremendous potential to having an open API or SDK that partners can leverage. One only need to look at Apple, Garmin, Google, or Strava to see that. All companies that dwarf Zwift in user base numbers, and all companies that have benefited from platform extension.

In fact, without standards and 3rd parties, Zwift wouldn’t exist. They rely on 3rd party hardware partners and open standards, and products like this show a glimmer of what’s possible using some of those standards (the Bluetooth HID). Still, it also demonstrates the limitations of not really embracing those partners that want to further consumers’ usage of Zwift. And subscription revenue is ultimately the goal for them, right?

Beyond Zwift though, what’s cool here is that this could quite easily be adopted to TrainerRoad or any other platform, once the Kommander app comes out. That’s because by emulating a keyboard, Titan Labs will be able to issue commands to any app. And, if apps wanted better or tighter integration, they could easily work to accomplish that with Titan Labs.

In any case, I like cool gadgets, and this seems to fit the bill. About the only risk I could think of here is that they run out of stock. There’s no subscription cost here to deal with, nor any tie to an online service by Titan Labs if they go under. It’s just emulating a keyboard, and unless Zwift decides to do away with keyboard support (an impossibility), this product will pretty much keep on ticking.

With that – thanks for reading!

A Snowy Cargo Bike & Sports Tech VLOG https://www.dcrainmaker.com/2021/02/snowy-cargo-sports-urban-arrow.html https://www.dcrainmaker.com/2021/02/snowy-cargo-sports-urban-arrow.html#comments Wed, 24 Feb 2021 15:31:41 +0000 https://www.dcrainmaker.com/?p=123318 Read More Here ]]>

Back a week or two ago it got all snowy here in the Netherlands. It’s sorta a rare thing, and even more so, is the fact that it actually stayed on the ground for a meaningful amount of time. It seems to snow about once per year here, but the definition of ‘snowing’ is a bit iffy. Yes, snow might fall from the sky, but it actually doesn’t count as a snow day, per the national weather service, if there’s not 1cm of snow on the ground by 9AM at the De Bilt weather station near Hilversum.

Yes, there are rules on snow days here.

Anyway, come that Monday it was supposed to be the first day back to school for the kids after nearly two months of the most recent COVID cancellations, but the snow delayed that further. In order to preserve sanity in the house, I took the two older girls for a long bike adventure out to the countryside. That had the benefit of getting some longer activities on the Garmin Enduro watch, as well as a few other products I wanted stuff and footage for/from.

I hadn’t intended on making a video of the adventure, but as I came down the home stretch in the last couple kilometers I realized I had taken piles of footage throughout the day for various other things, so I could pull it all together as a bit of a cargo bike in snow + DCR tech explainer. A VLOG of sorts with all the tech I had with me, including the following gear:

  • DJI Mavic Air 2
  • GoPro Hero 9
  • GoPro MAX
  • Urban Arrow Cargo Bike
  • A pile of watches
  • A lot of blankets

It’s nothing crazy serious or deep technical – more fun and pretty drone and action cam videos than anything else. Plus, at just 6 minutes long, it’s an unusually short video for me.

With that – go forth and hit play, and enjoy the ride!

Strava Adds Indoor Workout Recording to App (For all users): Quick How-To Guide https://www.dcrainmaker.com/2021/02/strava-adds-indoor-workout-recording-to-app-for-all-users-quick-how-to-guide.html https://www.dcrainmaker.com/2021/02/strava-adds-indoor-workout-recording-to-app-for-all-users-quick-how-to-guide.html#comments Wed, 24 Feb 2021 10:48:18 +0000 https://www.dcrainmaker.com/?p=123312 Read More Here ]]> DSC_3250

Undoubtedly, for many readers of this site, you’ve probably got a watch or twelve to record your indoor workout on. But, if you’re still narrowing down options from my recommendations guide, then this new tidbit might be applicable to you.

As of now*, you can record an indoor workout on Strava’s mobile app that doesn’t have GPS involved. Previously, workouts recorded on their mobile app required GPS – which weren’t really ideal when you wanted to record a gym workout and show it have a giant GPS splotch over your home. So that’s solved.

With this change, you’ll also be able to record your heart rate data with a paired Bluetooth Smart heart rate sensor for those indoor workouts as well. And again, this is for all Strava users, not just paid subscribers.

Using it is silly easy, simply crack open the Strava app, and then tap the ‘Record’ button’, which brings you to the regular GPS recording page. However, down at the bottom, tap the sport listing:

clip_image001 clip_image001[6]

Next, simply scroll through all the sports, past Windsurfing, to find the new indoor sport modes at the bottom of the list:


Or here, in text:

– Crossfit
– Elliptical
– Stair Stepper
– Weight Training
– Yoga
– Workout

In my case, I selected ‘Workout’, which is of course the catch-all bucket for everything else you can imagine (and that Strava can’t imagine). From there, you can tap the heart icon to pair up a heart rate sensor via Bluetooth Smart. Note that you don’t have to pair the sensor…but…if you’ve got it, flaunt it?

clip_image001[8] clip_image001[6]

Once paired up, you’re good to go and press start. You’ll see elapsed time and your heart rate, that’s it (what you see below left, there’s no option to create laps or such).

Upon ending the workout you can then add a workout title, set a photo, change privacy settings, and all the usual jazz. Afterwards you’ll see the starting time/date, average HR, max HR, and elapsed time in the feed preview. And in the workout details you’ll get your heart rate analysis as well as calories.

clip_image001[8] clip_image001[10]

The next time you open the app to record, it’ll default back to whatever sport you used last.

And that’s all there is to know about it. Oh, and of course, you can still apply the ZwiftIRL meme generator to any photo after the fact, even if it’s not cycling – just to thoroughly confuse your friends about whether it was a naked yoga workout, or a Zwift one. But ya know…don’t get yourself banned on Strava.

With that – thanks for reading!

*This is rolling out today to users. You’ll need the latest Strava app version (190 or higher), and you might need to wait for the feature to become live on all accounts over the course of the day.

Make Everything a Zwift Ride with this Meme Generator https://www.dcrainmaker.com/2021/02/make-every-ride-a-zwift-ride-with-this-meme-generator.html https://www.dcrainmaker.com/2021/02/make-every-ride-a-zwift-ride-with-this-meme-generator.html#comments Tue, 23 Feb 2021 16:06:42 +0000 https://www.dcrainmaker.com/?p=123291 Read More Here ]]> In the event you haven’t seen it, then let me introduce you to some solid lost productivity: ZwiftIRL.com

This fun meme-like generating site allows you to overlay the Zwift look atop an existing outdoor ride photo. Or really, any photo. Now the developer says they are still in their infancy, so there’s plenty more planned in the pipeline – including some features in the next few hours to tweak the stats too.

So, here’s a quick look at how it works. First, you’ll load up the site and choose an image to start with. This can be done from phone or PC.


Next, after the image is loaded you can tweak all the metrics at the top. This includes changing your name (even adding an emoji flag after it if you want to, to match what you’d see in Zwift), as well as adding a power-up from a short list of humorous examples.


You can also add a friend to show up on the leaderboard too.

Then whack ‘Update’ and you’ve got yourself an image to save and utilize:


Now at the moment, you can’t customize the distance or time or such above, however, that’s coming very shortly. Like, about 2 minutes after I hit publish. So just hang tight. Ideally though, the site would just link up to Strava using their API and then pull in your ride/workout stats there. But of course, that doesn’t necessarily work for the true purpose of this meme generator: Everything else.

For example, some quickies I whipped up from past rides:





The world is your oyster here. And by this time tomorrow, you’ll probably have even seen an oyster too.

Go forth and enjoy, and thanks to the creator, Phil Wilks, for spending his Sunday creating something merely for the sake of it.

Zwift Bans Another Pro, This Time With History of Data Tampering https://www.dcrainmaker.com/2021/02/zwift-cheating-pro-another-tampering.html https://www.dcrainmaker.com/2021/02/zwift-cheating-pro-another-tampering.html#comments Tue, 23 Feb 2021 04:39:48 +0000 https://www.dcrainmaker.com/?p=123116 Read More Here ]]> Zwiftracing

Today Zwift has non-announced its latest sanction, against Philipp Diegner of Canyon Esports, for falsifying data as part of their Zwift Racing League pro race series. This would make for the fifth individual in the last 6 months, but most notably – the first male to be publicly suspended under the more robust anti-cheating system geared at pro athletes. All four other cases have involved women, including two just last month. The only other previous male to receive a public racing suspension from Zwift was Cam Jeffers a few years ago, though in an era well before the more advanced and heavily enforced means of capturing cheaters today – and in his case for entirely different reasons.

Ultimately though, the athlete in question had 11 pro race results nullified across two seasons, and received a 6-month suspension of racing on Zwift until July 24th, 2021. This is the first time Zwift has retroactively gone through and looked at past event data for transgressions, and then retroactively nullified those results. As such, Zwift is showing a bit of their hand here in the forward direction of what they plan to do in this arena.

The Case:


The rider’s troubles initially stemmed from a race on January 25th, 2021, specifically the pro-focused Zwift Racing League (Season 2), Men’s Race #3. In that race, the rider finished in 39th position, essentially last place. However, like every other individual that’s been ‘charged’ with a crime, it wasn’t the race itself that got the rider in trouble, but rather, the coverup.

For those that are unfamiliar, pro level races in Zwift require what’s known as dual recording. That means that you need to have Zwift paired to your smart trainer and let that file record like normal. But you *also* need to have your regular bike computer/watch record from your power meter. You thus must indeed own a power meter and a watch/bike computer, which of course, at this level isn’t really an issue. But, what is an issue is if you accidentally pair to the wrong source (such as pairing to your trainer), or, if the battery dies, or you forget to press start, or you delete it, or…any other common day to day issues. If you dual-record enough, eventually things go wrong (seriously, almost nobody out there dual/triple/septuple-records more data than I do…and eventually human or mechanical error happens).

Ostensibly the purpose of this second recording of a second source power device is to ‘prove’ the accuracy of the first device. Or at least, provide a reasonable backstop for the data. If one device says your sprint was 1,300w, and the other says it was 800w, then that demonstrates concern for accuracy – or, perhaps something more sinister. But the true purpose of this secondary recording is it makes falsifying the data immensely more difficult (real-time or post-race). That’s because not only does someone have to falsify one source with one understood signature, but then has to falsify another source with another signature. And then has to ensure the way those two signatures shadow each other during the race actually matches. For example, most crank-based power meters respond far faster than most trainers on sprints, the rate of change is different. But not just sprints, but every little surge in a race – of which there could be a hundred surges of varying intensities, both the ups and the downs.  Anyway, we’ll talk about that more another time.

The point here is more simplistic. Every single case to date has revolved around something going wrong with that secondary source recording, and then the athlete trying to tweak that second file to make it appear like a secondary power meter. In most cases, it was simply paired to the trainer instead, or, not started at all.

And in this case, Zwift found that the secondary data source was precisely 2% higher than the original power value from the trainer:


Of course, when someone says “Oh, my power reads 2% higher than my trainer”, we’d all respond with “Sure, that makes perfect sense – it’s higher up in the power meter chain, and thus due to drivetrain losses will be a higher value”. Except what we’re really saying is “Yeah, *about* 2% higher”. In reality, the exact amount will vary from second to second. One second it’ll be 1.5% higher, the next 3% higher, and then if you sprint it might be a second or two ahead, and then be 20% higher for one comparative second, before the next second being back to 1.8% higher as the update/recording/sensor rates all vary slightly from second to second.

Thus, when you blanket 2% increase the values in a file, it’s like using white-out on printed paper text, then using a Sharpie to re-write a few words, followed by trying to pass it off as unchanged. It’s that blindingly obvious.

But the funny thing about computer data is that it basically lasts forever. And over the course of the last 12 months, Zwift has significantly increased their processes for how they catch this sort of thing. Thus, in the report they noted:


About now you’re asking: What the heck is the Three-Sisters calibration test?

In short, it’s a calibration test that pro riders have to do in order to validate their performances. You can read about the entire thing here in the Zwift Ruleset, page 11-12. Or I guess, I could just paste a snippet of it below. Basically, you’re riding a specific Zwift route (called The Three Sisters), which includes three climbs – a short/medium/long one, followed by a sprint. However, you’re riding those specific four sections of the course at maximum all-out intensity. And you’re doing this with the dual-recording system outlined above…oh, and you’re recording a video the entire time of yourself.


The goal of this is to basically create a baseline of your human performance. But more cleverly, it’s creating a baseline of your equipment, and establishing a signature of that. And proving that you rode it. And sure enough, the rider actually falsified the data in that original baseline test:


So in total, 5 races plus the calibration test were falsified. It’s unclear why he selected to fabricate the secondary power source on those five races, but not on the other 6 that he competed in. Nonetheless, all of the racer’s results for both seasons were disqualified, specifically the following races:

Season 1: 8 (Results: 64th, 2nd, 72nd, 27th, 14th, 30th, 71st, 81st)
Season 2: 3 (Results: 81st, 89th, 39th)

These are already reflected within the race results on Zwift’s site.

Upon being presented the information, the athlete initially denied the data tampering, but then changed their mind and admitted wrongdoing:


As a result, the athlete has been banned from Zwift races until July 24th. The athlete still can utilize Zwift for non-racing, as well as race outside of Zwift – as this ban is not in connection with the UCI as the UCI is not overseeing this event.

Additionally, as was apparently announced 14 days ago and nobody noticed on Canyon Esports’ team press site, the team has terminated their relationship with the athlete:

“As of 9 am 8th February 2021, rider Philipp Diegner will no longer be part of the Canyon Esports team. This decision has been made during an investigation by ZADA following Race No. 3 of ZRL Premier League. Evidence was brought to light that was previously unknown to Canyon Esports and it’s management staff. As per the team’s internal protocols, a decision was made to terminate the rider’s contract and part ways. Philipp had previously been suspended from race duties while the team and ZADA’s investigation was ongoing. At the time of publishing this notice, ZADA and Zwift have made no further announcement other than the disqualification from Race 3.


Canyon Esports had been investigating in good faith whether the reported irregularities had occurred involuntarily during the exporting process. However, before we could conclude that investigation we were presented with additional evidence which undermined the necessity to continue. Following further conversations with the rider and ZADA, the team was left with a hard but simple decision to end the relationship.”

Rhys Howell, the Team Manager also added in the statement:

“We are an incredibly close-knit team, so losing a rider is like losing a limb. Personally, I can only describe my feelings as heartbroken. However, I did not hesitate for one second to make the necessary decision to terminate our agreement with the rider in question. Our team is more than any single rider alone and we believe firmly in transparency and a clean sport. There can be no deviations from that belief. Our sport relies on trust and a team like ours is founded upon it. We will now look at how we can avoid such situations in the future and I have reiterated to all our senior and development riders that they can and should always come to me first if they are struggling. I hope this episode will be but a lone footnote in the exciting story of our team.”

At this time, the Canyon Esports team doesn’t show a replacement for their 6th rider, having removed the image and name from their roster page.

As an interesting side note, the rider posted considerable dual-recording analysis sets of data to ZwiftPower here. What’s notable about this is that these dual-recording sets all showed a Wahoo KICKR 18 on them, which is far more easily ‘tweaked’ to create an incorrect (inflated) power value than a newer KICKR V5/2020, as the newer unit automatically and continuously recalibrates back to known factory calibration values within a minute or two of you trying to do a re-calibration. And while we don’t know if the athlete did tweak the calibration value on the KICKR 18, we do know the output values on their baseline Zwift tests were tweaked, but I don’t know why you’d do that except to hide other values.


In fact, even more fascinatingly, it appears the athlete actually posted the data sets in question there, and you can see quite clearly that the 2% increase in wattage between these two labeled ‘Infocrank’ data sets – which appear identical.


In any case, this does continue though to bring up the never-ending question on when on earth Zwift will simply bake dual-recording into the game itself. After all, they’re already recording quite a bit of this in log files. And the same goes for simply warning athletes when they’re using an incorrect power source (per specific race rules), such as using a power meter instead of a trainer – or if they’re missing their heart rate strap. All of these cases would never have happened if so.

Again – there’s zero reason why any athlete, pro or amateur weeknight mom or dad racer, should have to deal with uploading multiple files manually to ZwiftPower or elsewhere.

Having asked Zwift this repeatedly in the past, they’ve said it was a development priority type thing. And given this only impacted a small number of pros, it wasn’t high on the list. Which, I fundamentally disagree with. After all, Zwift is spending millions of dollars each month on pro-level racing (inclusive of production costs, staff costs, etc…) – why can’t they spend a few more dev hours to record the secondary power meter source? This isn’t hard. It’s not remotely hard, and it’d benefit far more than just the pros. It’d benefit all the non-pros that also use ZwiftPower to upload dual-recording files to prove their data state.

And it’d benefit all those who want to see the bar for cheating in Zwift considerably raised.

Going Forward:


Now, as interesting as it may be to out people that cheat – my interest here actually lies elsewhere: The technological aspects of it. Specifically, the technological aspects of catching cheaters, and the vast complexities required there (both trying to cheat, and then catching the cheaters). In fact, it’s an area I’m going to talk a bit about in some upcoming post or two, covering both what Zwift is doing, and how that might translate beyond that in a UCI world.

Part of this stemmed from a recent Twitter observation I made a few weeks back, that all of the people Zwift had caught via this newer system were female. I noted that statically that was an exceedingly slim likelihood. The resultant of that tweet was swiftly a lot of e-mails from Zwift, but more notably a conversation with their team of data scientists that actually look at these cases, and the processes that they go through that ultimately culminate in sanctions like today’s.

However, at the other end, I’ve also talked with some of those representing athletes that have been accused of cheating by Zwift. And whether or not they’re innocent or guilty, I think there are some elements of the picture that Zwift portrays that are fuzzy at best, and conflicting at worst. Aspects that don’t seem to align as clearly with well established protocols of the UCI or others for what rights an athlete has in this process if they’re being ‘charged’ with a crime. Because ultimately, like today, that athlete’s name (and thus career) is being impacted. As is their ability to monetize that career.

So within that, we’ll dive into why there are 160+ case numbers yet only 5 ‘convictions’, as well as how Zwift separates what’s ‘willful’ cheating from ‘bad sensor data’, both in the data analysis side but also the human accusation follow-up side. And then, to the extent that’s viable, I’m going to show just how difficult it is to get away with cheating here at this level – especially using the methods that all five of these individuals have used…which frankly, are the least smart ways to go about cheating on Zwift. The goal is not to show all the things Zwift does to capture cheaters, but rather, to examine whether their methods are both enough, and fair (procedurally and technically) to those being accused.

And finally – why is it that all of us who Zwift with any frequency know there are cheaters everywhere, but none of them are being caught? Either willfully or just due to bad trainers/data. When and how will Zwift start to address more than just the official pro series events? Yup, I’ll cover that too.

Until then, thanks for reading!

5 Random Things I Did This Weekend https://www.dcrainmaker.com/2021/02/5-random-things-i-did-this-weekend-111.html https://www.dcrainmaker.com/2021/02/5-random-things-i-did-this-weekend-111.html#comments Mon, 22 Feb 2021 11:43:03 +0000 https://www.dcrainmaker.com/?p=123251 Read More Here ]]> And in just a matter of days it’s gone from freezing temps with once in a decade snowstorms and ice skating here in the Netherlands, to the warmest day ever recorded for yesterday (Feb 21st). And just like last weekend with going out ice skating on canals, this weekend I was out riding and enjoying the weather. Plus of course, looking at all sorts of other tech stuffs too. Let’s dive into it.

1) Catch-up day

In general, Fridays have mostly become my catch-up day around the DCR Cave. Everything from updating posts/reviews with various content to answering the never-ending tide of unanswered e-mails, to cleaning and organizing both physical stuffs and digital stuffs. And that started during the day on Friday but continued into the night.

For example, I finally edited and added a couple of rolling pin comparison shots that I took earlier in the week, to the Garmin Enduro review (at the end of the ‘Unboxing’ section):

Then I offloaded all the SD & microSD cards’ worth of content that was shot in the past week, plus a few things from the week prior. These went onto local storage devices to then get moved in bulk at night to the network storage server (and backed up to the cloud). Was only 500-800GB this week. An easy week. This upcoming week will be 2-3x that probably, given the influx of reviews over the next 7-10 days.


And then I re-set various things in the physical bins. I switched over to this a few weeks ago as a way to organize some of the reviews that weren’t always top of the mind. Meaning, there are big marquee reviews that I’m of course keenly mentally aware of. But there’s also lots of random things that I either buy or are sent over to check out, and sometimes these just fall under a pile of stuff (literally) and then slip by my mind. This way I’ve got a dedicated bin per device, and I can walk in each morning and see what I want to tackle.


Also, for some of the devices it makes it easier to organize all the random pieces. Like Scosche sent a gazillion straps and a few extra units, so I have them all in one bin, making it easier to get back to them later, so I don’t have to play squirrel and figure out where everything went.

2) Mountain Biking with The Kids

With the sun deciding to return to the Netherlands, we decided to make a loop around the forest letting the two older girls take turns on the mountain bike. My mountain bike, to be specific. Now, while that bike is waaay too bike for them, last fall I bought the Shotgun seat for it, based on some friends in Colorado and Nevada using it and their kids loving it. Essentially it’s a seat that attaches over the top-tube, but uses a five-point contact system with foam/rubber in between, thus, not damaging your frame – and distributing the load across multiple points (including your handlebars, since that’s what the kids are holding onto). We didn’t buy the accessory handlebars from them, though, we did buy the ‘Shred till Bed’ alphabet reading book.


There’s no seatbelt or such on this seat, it’s just a seat, and then the child’s feet go into these little loops down below. You could take off the loops easily if you wanted to, but that seemed like a poor choice for our children right now.


Also, we attached Baby and her seat. Because, obviously, that was a condition for riding, according to my middle daughter.


And then off we went. Mind you, while there are some legit mountain bike trails (more cross-bike really) very nearby, we kept things simple and tame on mostly all flat ground trails.

MTB-Ground MTB-GoPro

Both girls had a blast, while they switched in and out of the cargo bike with the third Peanut hanging out there the entire time.


I know many owners of this seat do far more impressive trails, but, this works for us. Afterwards, the kids went mountain biking on their own:


Also – with all the humans in our family having at least one, if not two bikes now – the shed bike situation is quickly getting out of control.

3) Zwifting in the dark

Saturday night after our mountain biking adventure, and after the kids were in bed, I headed out to the shed to get in my ‘real’ ride. I couldn’t decide on a workout or a group ride that I wanted, so I just went with a structured workout on Zwift. In general, I almost always do just one of two: Jon’s Mix – short or long.


These two workouts were actually designed by Jon Mayfield, one of the co-founders of Zwift, to test various devices and the platform itself. And they actually do a really good job of that. Also, they do just fine as a workout. They probably don’t target some specific area to work on, but hey…I just wanted something mindless.

Off I went:


For some reason I thought the GoPro would be able to pull off the low-light shot in the shed with the shed lights off, using just the intensity light from below the Tacx NEO 2, along with my screen (Zwift on my laptop and YouTube up on the mounted screen). But with the GoPro Max Lens Mod, it doesn’t have as much flexibility for a night mode. So…I got this as a result:


Had I had the other lens on, it’d probably be fine. In any case, here’s what it looks like normally – and bringing home this $59 trainer laptop/tablet stand to wrap up testing on it:


Nothing fancy. One of my older road bikes with an older trainer and a work bench.

4) The Beaches By Bike (in Feb)

Yesterday I traveled with one of the Peanuts down to Leiden to go for a ride with one of her/our friends. A gigantic loop of the area, ultimately going through the dunes that buffer the beaches, before a quick stop at the beach and then continuing on. They had an Urban Arrow cargo bike, like ours, she hung out in.


While I borrowed this noble steed:


The route was mostly flat, except the dunes, which are not flat. While my rear tire needed a bit of air, it did give me a good workout for the afternoon.


It’s astounding that exactly a week prior we were ice skating on frozen canals. And then this weekend we were in t-shirt weather, and people were literally swimming out in canals and lakes as we pedaled past. Mind you – those folks be crazy. Also note below, some smaller drainage canals still frozen.


Along the way, we made a few stops, mostly for farm animals. Because, that’s what you do with kiddos. Or, when you see ostriches.


All in all, about 3.5 hours of sunny weekend goodness. And, it’s supposed to stay sunny like this for a week or so. Woot!

5) Some more Enduro battery data

Last week in my in-depth review I shared a number of data files of Garmin Enduro battery burn data. For those unfamiliar, the short version is that it appears to easily take the ‘longest GPS battery life’ watch crown, no matter which mode you choose. But being winter, there’s only so much opportunity for t-shirt weather to be able to wear it on your wrist having optical HR enabled a well as getting some solar data (meaning, it’s not under a coat). So while I’ve got data from rides up to 5 hours longer, most of that is under the coat.

But yesterday’s weather was so nice…compared with the maybe kinda flat-tire on this Dutch bike, that I discarded my coat pretty much instantly – leaving the watch out in the open for 3.5hrs. And thus, a bit more battery data. The below chart shows GPS+GLONASS at 1-second recording rates, optical HR enabled, Bluetooth connected to my phone (with smartphone notifications enabled), and all the other stock settings:


The key thing there being the battery burn rate at 1.14%/hour, with an estimated capacity of 87 hours! All of this is done via the DCR Analyzer, which works on files from Garmin, Wahoo, and Stages devices (which are the only ones that properly write the battery burn data to the .FIT files).

Remember, the claimed battery life here is 70hrs no-solar, and 80hrs solar (assuming 3hrs of 50,000lux per day). So this coming in at 87hrs of estimated capacity time based on the current battery burn profile which, would include some solar ‘help’.

But how much help? Well, that’s tougher. See, Garmin does have a solar intensity widget on the watch, and does also log some of it to Garmin Connect Mobile as well. Here’s what you see there, though, you can’t turn this sideways like most other charts using the same format on Garmin Connect Mobile. Just the vertical option:


It’s kinda hard to say based on that what the average intensity is in more detail for just that ride. I’d guess the ‘average’ was between 30-50% solar intensity. And I have zero idea on the lux, thus, I just ordered a lux meter on Amazon.

What I’d like to see though is Garmin add it to their charts on Garmin Connect and the app, specifically here below temperature. And then also simply add a solar section to the overall stats, also below temperature, that says ‘Average Intensity’, ‘Max Intensity’. No reason for ‘min intensity’, since that’ll obviously be 0 many times as you turn your body or such.


And heck – in an ideal world, they’d also show how many hours you gained by solar. Either way, from a purely marketing standpoint, I think this is valuable because it reminds people that on existing solar-enabled devices the solar is in theory doing something. Otherwise, I think people kinda just go ‘shrug’. And while the existing Fenix 6 Solar units might not have too much of a meaningful impact from solar, it is definitely far more impactful on the Instinct Solar and now the Enduro. Albeit due to totally different reasons for each (way bigger solar panel on Instinct, whereas far better underlying battery life on Enduro).

In any case, enough battery chatter for now. Back to writing other posts.

With that – thanks for reading, and have a great week ahead!

Strava Photo Heatmap Added to VeloViewer: Here’s how it works https://www.dcrainmaker.com/2021/02/strava-photo-heatmap-added-to-veloviewer-heres-how-it-works.html https://www.dcrainmaker.com/2021/02/strava-photo-heatmap-added-to-veloviewer-heres-how-it-works.html#comments Fri, 19 Feb 2021 17:16:00 +0000 https://www.dcrainmaker.com/?p=123171 Read More Here ]]> image

I suppose exactly what to call this is a bit fuzzy, but basically VeloViewer has mashed up your Strava photos with your heatmap, allowing you to see the two blended together in photographic glory. And if there’s anything that gets my attention more than ice cream, it’s my Strava photos and heat maps blended together. Add the data geekiness of VeloViewer, and I’ve totally lost all focus for the day.

For those data geeks who are not familiar with VeloViewer, you should now throw away any productivity for the remainder of your day. Basically, it’s what happens if you give a curious mathematical toddler the ability to code a new feature for every question they ever asked. Want to know your average elevation gain on one bike you own versus another? Done. Want to know which year you got the most Strava KOM’s? Done. Want to know calories versus activity type? Sure. Want to know how many photos you take on a workout based on elevation gain? Easy. It’s literally never ending, and also why it’s currently used by almost every single Pro WorldTour team in the peloton in their team cars during races and training.


As many of you know – I try and make it a point to upload virtually every workout to my Strava profile with a real-life photo, or if from a virtual platform I try and do something creative with that image photo. I’m not gonna say I’m 100% perfect on this, but I do make a modest effort at it – usually to the point where I won’t generally toggle to public from private that Strava activity unless there’s a legit photo there.

Anyway, it’s super simple. Going forward, new activities will have the photos automatically pulled in, yet for historical activities you’ll need to tap to refresh/sync your existing activities. That can be a bit rate-limited, based on Strava API limits – so it may take some time to finish. Once all that’s done, you’ll see all your activities listed at left like normal, but also a new photos option – alongside the existing map option that now has photos atop it. You can also close out the activities window to the left.


So, let’s zoom over to that section, since that’s where the fun stuff is. On top is of course a map of the world, and within that you see a bunch of red dots. These are all my activities, but now you’ve also got photo clusters, which are clustered by continent first – and then as you drill down, it gets more and more detailed – to the point of eventually showing the exact spot you took the photo. Essentially just like your phone’s photo library does.


So let’s tap on that European bundle, which brings me here. That’s clustered by countries in Europe at this point. Though, only for the countries that it’s indexed those photos for. My Strava account has nearly 5,000 activities in it, and some photos haven’t been pulled into VeloViewer yet.


For example, if you look above, you’ll see a pile of red dots on the Canary Islands off the coast of Africa…or the dots in the UK, all of which have many photos uploaded to them. They just aren’t indexed yet because they’re older activities than it looks like the rough timeframe of 2017-2018 that it’s completed thus far in my refreshing.

(And yes, I zoomed in to check that the Canary Islands ones aren’t there, because yes, I do know the Canary Islands are part of Spain, thus in theory would show up under Spain, but they’re simply not there yet.)

In any case, picking the Netherlands pile, and then zooming into the cluster around Amsterdam, we’ve got this:


And do it again, and I get deeper and deeper into Amsterdam:


And of course, you can click on an exact image to see the details of that particular image, and then take you to that particular workout:


And yes, for those curious – I was indeed in the canal for the GPS tracks above. But, that particular activity as a Stand-Up Paddleboard hasn’t synced the photos yet – as those were initially toggled in my profile to not sync, and I just manually started syncing those a second ago.

As you zoom in on a cluster, it’ll focus on just the photos within that cluster – rather than the heatmap. For example, if I go to Singapore and click on that cluster it crops into just the central area. While I’ve run elsewhere in Singapore, as you can see by the red lines leaving the frame, I didn’t upload pictures to Strava for those portions of the run, so, it just crops to where the photos are. Mostly as I only tend to upload a single photo per workout.


You can also switch to pure photo view too, and just scroll through all your Strava photos:


But it’s just fun, a bit of a blast from the past, to find old photos and the workouts that came with them:


In any case – go forth and get distracted as I did. Oh, and here’s the gist of the different levels in relation to this specific feature, there’s a bunch of other features of course as to why you’d actually get the other levels. I currently pay for the Pro, but probably should upgrade to the Pro+ for my next subscription renewal:

Free: You get a max 25 activities to look at
Pro ($15/year): Refresh/sync rate limited updates for the photos
Pro+ ($30/year): No refresh/sync rate limits on the photos, so you can refresh/load them faster

With that – thanks for reading, and have a great weekend!