I haven’t posted here much, but I’ve used intervals.icu for years, and it has become the central hub for all my training data. My original goal was to create automatically updating widgets to show fitness, fatigue, and form values on iPhone and Apple Watch. I had the idea for quite some time, but when I realized there’s an easy-to-use and well-documented API (thanks, David!), I realized I might be able to make something useful. I got a new M4 Mac mini, which made running Xcode a less frustrating experience, and I dove in.
The app grew from that original idea with interactive graphs, future wellness data and upcoming workouts, the activity list, the vitals screen, many more widgets, and other bits like the ability to sync Zwift activities to Apple Health. I’m a fan of the sport summary widget with configurable distance and time-based goal rings. The next release will be in a week or two and will include a new totals screen for showing daily/weekly/monthly distance, time, elevation, and load totals for a customizable set of activity types across the selected time range. The graphs on the vitals and totals screens will support drag-and-drop to change their order too. See the image at the end of this post for a preview. I’m also happy to share details about the auto-updating widgets and any other features with anyone interested.
Thanks everyone! Version 1.1 with the new Totals screen is out now. I’m also glad to hear people are trying the widgets on macOS, I have my desktop full of them as well.
Changed widget style to full-color. With automatic or monochrome selected, macOS will automatically remove the color unless you are showing only the desktop.
For the new weight widget not showing in metric, that’s a bug, thanks for finding it! Widgets have access to the settings from the full app but needs to be looked up in a special way that I missed. This will be fixed in the 1.1.1 release, hopefully soon.
I’m not actually sure if the Strava credentials will work with the authentication endpoint the app needs to use for access to the data api. Looking at the intervals.icu login window I show as part of the login flow, I think it needs to be an intervals.icu account.
Note that if you use the Strava connection to import your activities, that won’t work with any intervals.icu 3rd part app that uses the data API. That’s due to Strava’s API policy change. I’ve got a few emails about this so far. You will need to use the direct app connections from Intervals to services like Garmin, Wahoo, Zwift, etc. To sync activities recorded with an Apple device you’ll need to use the HealthFit or RunGap app to sync to intervals.
I’m excited to try it out on iOS, but after logging into intervals and granting it all read/update permissions, it still tells me it needs permissions for calendar, activities, etc. I also tried reinstalling the app and revoking permissions on intervals to reset the login. Any ideas?
I think I know what’s going on. You actually don’t want to check the update permission boxes. Just leave the read boxes checked.
The app doesn’t require update permissions on your account. It only reads data. I have a check that confirms it has all the READ permissions it needs and I think it must be a bit too aggressive, as it’s aborting if you have the update permissions checked as well.
I can clean that up, but you can just leave the READ boxes checked and you should be able to get in.
Really Thank you for the great app. It was really needed!
Congratulations.
I installed it and it is really functional.
I don’t understand only why it doesn’t intercept my Rowing (Virtual Rowing) workouts, everything else does.
I checked and selected all the various activities that I record on Intervals.icu, but Rowing doesn’t seem to digest it.
Sorry, this is Apple only. I know there are other intervals front end apps that work both on iOS and Android. AFAIK those are built with non-native frameworks that are great at allowing you to build one app that runs on everything, but they limit the ability to take advantage of native framework features like widgets, watchOS apps, etc. My app was built with Apple’s native tools. All the graphs are built with Apple’s SwiftUI Charts library.
If you could send me the model watch you’re using and a screenshot that would be great: intervalscompanion@icloud.com
Getting the layout working well on all the various sized watches was one of the tricky parts. I mostly tested on my Ultra, both physical device and in the virtual Xcode simulator, but I also ran everything, at least virtually, on SE and Apple Watch 10 sized models. I may have missed something though!
I’d like to figure this one out. If you’re syncing activities with Strava to Intervals that could be the issue, as it’s not possible to get the data for those activities from the intervals API.
Or it’s a bug specific to virtual rowing. I haven’t been able to test with every possible activity type, there are lots of them! I suspect it may be Strava (yet again) though, as I just added a fake virtual rowing workout to my calendar and I see it in my app. I should change the icon to something better though.
[EDIT] - on second look it appears I may have missed adding VirtualRowing, which is why it shows up with the generic icon. Let me dig in..
[EDIT #2] - Looking better! These fixes will be in the 1.1.1 release, including fixes to the sporty summary widget for “All Water Sports” which is fixed and now includes the “Rowing” and “VirtualRow” activity types.
ErgData with which I record the Virtual Rowing training session, is then connected to strava, and this then to Intervals. I hope it’s not the problem because ErgData app that saves the training on the LogBook (the native app of Concepr2) synchronizes only on Strava and Training Peaks.
So to have the rowing training data on Intervals, I have to use Strava as an intermediary.