Universal Mac app for new M1 Apple Silicon

You can download the iPad app now onto a Mac M1 MacBook Pro. I just downloaded the iPad app and was able to log in. It’s pulling down past workouts, so this will take away. I will give it a spin later this week to see if it actually works - defined as can control my Stages SB20 for a workout and report back.

So far:

  • Loading workouts from the calendar doesn’t appear to work if you click “Load Workout”, but it does if you first click on the workout itself, and then click “Load Workout”
  • In the workout player, there is no equivalent to minimize player. You can somewhat scale the window to make it less tall, but not as narrow (height) as the desktop minimize player
3 Likes

In fact, on ARM-based Macs you can run them now with zero changes. However, TR decided not to make sure that “desktop” and “mobile” apps have feature parity. (I put desktop and mobile in quotation marks, because this distinction will become meaningless in the future, my iPad is pretty much as powerful as my Mac laptop and there is no good reason to “slim” down the iPad or iPhone apps.) The second issue is that there might be some UI issues, because TR’s apps are built on top of Electron and Electron does not take advantage of Apple’s API niceties when it comes to cross-platform compatibility among other things.

I am not familiar with Electron, so I don’t know what the hold-up is with making an ARM port. However, Electron runs on ARM already and I see no reason why a port should be technically difficult.

2 Likes

You saved me from having to test this out :tada: Even just looking at the iPad app on my MacBook is telling that the iPad format is not great for a non-touch computer. Plus the lack of mini mode would be a killer for watching videos simultaneously with running TR on a single monitor

2 Likes

From what I’ve seen TR on the Mac Electron app consumes about 8-10% of system resources on my M1 MBP. That’s about the same as watching a YouTube video on Safari. I’d expect an app like TR which is basically displaying a somewhat static image and recording BT data to be consuming 4-5% of resources.

Now that Apple has refined the iPad multitasking in iOS 15, I’ll be switching back to it for workouts. The side-by-side layout is perfect.

I refuse to run inefficient desktop “web apps” on my computer. It’s asinine and lazy to be developing on Electron. I predict it’ll go the way of Flash. TR should really get on board with Catalyst and SwiftUI.

2 Likes

Great contribution to this thread :roll_eyes:

Electron dev is efficient for developing for multiple platforms but so inefficient once it gets on that platform. It’s a Jack of all trades but master of none

:popcorn:

1 Like

I see there are flagged posts here. I am leaving them for @IvyAudrain to handle, but take note and remember the rules of the forum. What I see above is likely not within bounds and will be handled appropriately.

2 Likes

For real please do not be bogus.

TrainerRoad welcomes constructive criticism and suggestions to help us constantly improve K THANKS.

3 Likes

I think it goes further than that:

  • Electron apps feel alien on any platform. Even when you add a custom UI on top (“branding”), I don’t think it adds up. Much of the functionality of TR is very hard to use on my iOS devices, because none of the usual, platform-standard ways to interact with screens work. The Mac app is even worse, last time I checked, it doesn’t even put the menus in the menu bar.
  • Personally, I don’t think I know of a single great or even good Electron or webview app. If you know of one, please let me know, but I don’t.
  • Going cross-platform hampers the adoption of platform-specific features. Examples are Health integration on iOS and the lack of an Apple Watch and Apple TV app. I’d really like to be able to use an Apple Watch to transmit heart rate and be able to pause and resume a workout.
  • Most apps + service offerings (think Netflix, Youtube, Spotify, Apple Music and TrainerRoad) seem to put more effort into the backend than their “player”. Netflix doesn’t retain customers with their app, and it shows. Once the Netflix app gets booted out of memory, I cannot resume my last show directly after relaunching the app. (I know that this might be intentional, but then I’d say this is even worse.) TR likewise focusses a lot on things like AT, and I don’t disagree. But the app, which is the interface, languishes a little.
  • Inefficiencies matter. Yes, computers get faster and faster. But when I run e. g. Zoom on my 16” MacBook Pro, the fans spool up (which is audible) and battery life is, well, not great. This directly impacts functionality.
2 Likes

Did a comparison between my iPad Pro (11” with 3 year old A12X processor) and M1 MBP (14” with M1 Pro) by running my typical workout “workflow.” I usually have TR and YouTube running while doing a workout. On the MBP, it uses about 20-25% CPU with processor resources split evenly between Safari the YouTube video and TR. On the iPad, it seems to be running on average between 15-20%. I know it sounds like small potatoes but it’s a difference. I’m assuming that the iPadOS app isn’t an Electron app. But it doesn’t follow any iPadOS conventions. However, I was under the impression that it’s really difficult to submit Electron apps to the App Store due to API usage.

Why don’t you plug it in? Do you not use a fan and therefore have access to AC power? Just spend $5 on a socket multiplier if you don’t have enough outlets.

1 Like

That’s tantamount to signing the iPad’s death warrant, at least in my home. Either I or my daughter would eventually trip over the cable.

I’ve been banished to the garage and there’s literally 1 outlet that’s running literally 8 things already :grimacing::flushed:

How does TR work if its in the background? Does it freeze or misbehave if you move it around or put it in the background?

Is it possible to have it on the side as the “smallest size” (when it looks like phone UI).

Electron seems very divisive, especially it seems for Apple users. They expect apps to follow native behaviour. Look how much grief 1Password got when they announced the v8 Mac app would be Electron.

I am not a developer, but I listen to some developer podcasts and it seems SwiftUI is more mature of iOS than it is for MacOS.

I don’t know if it is because of using Electron, but the fact that it only stays on top of full screen video when I’m using Firefox or VLC is really annoying.

Eventually, TR is going to have to bite the bullet and produce an M1/Mx native version, as all new Macs will only be M1/Mx based going forward. And just like with 32bit apps, eventually Apple is going to sunset the ability to run non-native apps.

That’s a tough break. Tell whoever forced you into the garage all your internet friends do NOT approve

1 Like

SwiftUI is a relatively new API to make interfaces on Apple’s platforms. There are older, mature APIs for creating dialogs and the like. Things like Health integration are independent of that and mature.

In contrast, Electron is based on a browser engine. The upside is that you can program it with the same technology stack as website. That makes your code very portable. But it also makes your app slow as you can see by the low frame rates for transitions or when the interface does not accept touch input for a time (the Close button after submitting your post-workout questionnaire comes to mind). You can also see it in more subtle ways: the iPad interface is not well-adapted to the screen size, and often breaks after the TR team revises a screen or UI element. Native APIs know about different device screen sizes, and allows simple ways to adapt them.

In my experience, Apple users, especially old-school ones, are more sensitive to UI inconsistencies, UI glitches and UI problems.

3 Likes

That will be me :grinning:.

I think the issue is, once you go down the Electron route if you want to change to native code then that is a lot of work, @Nate_Pearson will say their devs have better things to do.

1 Like

There are some UI anomalies on the iPad app when you size down TR. Text doesn’t scale properly and truncates and overlaps. Hopefully this gets fixed. Support ticket placed.

2 Likes