Structured Swimming Sessions with Apple Watch 3

Swimming with the Apple Workout App

Using the stock Apple Workout App for pool swimming is a brilliant solution which I've discussed in detail here and here - it's perfect if you just want to get in the pool and swim and have detailed stats produced from it automatically.  Great when I am just swimming an "Endurance Session" up and down...repeat.

But it doesn't have any support for drills or any structured routine, which is a bit of a shame.  So if I am doing a session with some drills, or want a plan to follow along with then I need an alternative.

To be super clear these are the two things I need support for:

  1. Drills: To be able to mark some lengths as a Drill (e.g. Kicks with a float) so that the times aren't included in swim pace averages and distance are calculated correctly.  This is because if you are not moving your arms, then Apple Watch can't track your swim and won't know what you did (this is common with all pool watches, which use the accelerometer to track your swimming in a pool, and not the GPS).  So at some point before or after completing a drill the app should ask you how far you swam so it can log it successfully.
  2. Structured Sessions: To be able to guide me through a structured swim session (warm-up, drills, main, cool-down sort of thing)

To that end, I constructed a little test using these three apps to try at the pool today (and that meant getting up at 6:30 am and driving through the snow to get to the local pool - it's a sacrifice I make so you don't have to.)

  1. The Apple Workout app
  2. (
  3. MySwimPro (

The Swim.Com and MySwimPro apps have plenty of other features which I'm not looking at here - primarily about social sharing type stuff and getting plans. is free, and MySwimPro has a free tier (which is what I am using here)

The Mini Session

25m pool

To make this a fair shootout I planned to do a sort of mini 800m session 3 times (a total of 2400m), once for each of the apps so I can compare.  Here's how that was planned.

  • Warm up: 100m steady swim as f/s up + backstroke down
  • Drills: 4 x 50m kick up and pull buoy down + 10s rest
  • Main: 400m freestyle at 1:55/100m pace
  • Warm down: 100m breaststroke

800m total, giving me a mixture of strokes, drills and straight freestyle swimming.

How I used the Apps

Apple Workout App

Since the Workout app doesn't support drills, or schedule sessions, I just got in and swam the session, having memorised what to do.  The great thing about the Workout app for swimming is it is all automatic, no need to press start and then do an awkward reach across to your wrist to press a button and mark the end of the set.  You just start it once, swim your whole session, then stop it.  The app works all the details out for you and generates "auto-sets" and splits automatically at the end of the swim.


I also added the session to a notes app for Apple Watch - I am using AnyList but any notes app would do.  That sort of worked ok but since the Workout app locks the watch as soon as you start swimming you have to unlock it to switch to the AnyList app.  However I could then see the session and tap a set to mark it as complete, then switch back to the Workout app.  Interestingly I forgot to lock the watch after that and I had zero issues swimming with it. 

When it came to the drills I just kept the Workout app running sort of knowing that the kicks would not be recorded correctly because my arm with the watch on was not moving.   

Of course I had to keep track of my lengths while swimming the 400m; that's not too hard but I also find it possible to look at Apple Watch on a turn (though it slows you down a bit) and see what the total distance is up to.

In terms of stats after the swim, the Workout app puts some excellent work into analysing and writing that into the Health app database.  Here's how it looks in the Activities app:

You can see that as predicted it got confused over the kick drills, though it seemed to count one of them as freestyle, and it put the pulls as freestyle which is as you would expect because that's how my arm was moving.  That means the total distance is recorded as 725m when it was in fact 800m.  Oh well.

But apart from that the Workout app has done a splendid job of logging the swim, generating auto-sets, and splits, and tracking my heart rate.  

If it only had a way to mark a drill distance I would almost certainly use this all the time.


Next up was Swim.Com.

You can create sessions in the iPhone app.  This works great and is a flexible workout builder, allowing you to create your own sets or search for ones from or others in the community.  I happily created my mini-session ahead of the swim shown in the screenshot this way, but then unfortunately discovered that you can't transfer them to the Watch App in any way, so that's a bit frustrating then.   


Instead, you can export as a pdf for printing.   Printing isn't as bad as it seems, and you can pop-it in a waterproof pouch and leave at the end of the pool to look at.  You can even print it nice and big so that you can read it without your glasses.

But I would prefer if at a minimum your planned session was visible in the watch app, perhaps even as a swipe to view as pure text on its own screen.  No need to try and sync it with what I am actually swimming, just show me what I need to do.  That would be like using a note app but it's all contained in one app so no switching needed.  Seriously I think this would be a great idea because I'm not convinced that trying to be guided by the watch, any watch, including Garmin and their swim support on the Forerunner 935, works that well.  At least for me I find I can get out of sync and then it all goes pear-shaped, so just a static list I can look at and maybe tap to tick off would be neat.

And as it stands now, if you do create a planned session on the iPhone app, and print it out to follow,  what you swim and what you planned to swim won't be linked in any way - you can't associate the swim you did on Apple Watch with the session you planned in the app.  You could manually log the swim in the iPhone app but then you would lose the stats Apple Watch captured for you.  Oh dear.

To me, this is half finished and back to front - I want Apple Watch logging as central to the experience.  Put simply I want to create a session plan on the iPhone app, swim it with guidance from Apple Watch (even if that is just a static list) and then see the log in Apple Health to export to whatever platform I want.

On the plus side, the Swim.Com Apple Watch app works great by just getting in and swimming (no need to start and stop timers) and then switching to drill mode as needed.  Which is like using the Workout app but with added support for drills which is pretty good in my book.

When you start a swim session you set the pool length, and a distance goal.  During the swim the app shows you a summary of your total session distance, total time and current HR, and when it has detected you are in Resting Mode at the pool end it shows that too. Even better you can swipe to see your last interval stats and again to see a clear indication of you progress towards your goal.

To enter drill mode they have very nice approach in my opinion: scroll up with the Digital Crown to enter drill mode, set the distance you are about to swim, then scroll up again to start the drill.  When you are finished with the drill, scroll down to enter normal swimming mode.  Simples.  And easy to remember in the pool.

In additon the Apple Watch app offers a Send-off timer.  This is useful if you have a set which requires say 4x100 off 2 minutes.  You would set your Send-off time to 2 minutes and begin swimming.  When you finish the first 100m (hopefully under 2 mins) then you wait until the Send-Off timer beeps and taps you at 2mins and off you go again. Basically the faster you swim the more rest you get. 

I rarely use this method of timing for my training, preferring to have a rest timer instead (e.g. 4x100 + 15s), thus guaranteeing that I get a decent rest between intervals no matter what pace I swim, but I know that many prefer it.  A friend of mine who coaches swimming says he only ever uses the Send-Off timer approach, but when I pushed him on why, he said using a rest timer with lots of people in the pool caused mayhem!  And I can see that :)

When you finish the session and hit your target distance you get a nice congrats screen and the option to keep swimming or finish, in which case you get an immediate summary of distance, time, average pace, resting time and strokes per length.  Cool.

Swim.Com shows an almost comprehensive view of your session in the app and on their web site (almost because heart rate is nowhere to be seen even though the watch app tracked it).  You can view my swim here:  or here is how it looks in the Swim.Com app.  

You can see it has split the 400m into a 300+100m but that was me pausing a bit too long at 300m to see the current distance.  In addition it has split the warm up 100m into 2x50's which I am guessing is a similar issue.

The web site also allows you to export the swim as a FIT file so you can then import into another platform such as Strava, TP or SportTracks.

However my preferred route for export is for the data to be written into the Health app database on iPhone then use HealthFit or RunGap to export from there.  That also means that I get the Apple Watch rings properly populated.  Here is the same swim in the Activity app on iPhone:

Everything seems reasonable here, and we get heart rate which is great, but you can also see that even though it shows a total of 800m, the splits only go to 500m, and it shows 20 lengths which is also only 500m - maybe just a minor point and maybe to do with the fact that the Health db can't support display of drills (I'm guessing) but hopefully something that the devs can fix.  At least with we get good stats on their web site and app to complement this.

All in all I really enjoy using the Swim.Com app on Apple Watch, it was clear and easy to use, and I like the drills support.  It also seemed to be much better than both the others at always showing the correct current distance at the pool end as soon as I looked at it and not a little bit after.


My last mini session was with MySwimPro - the free tier version.

MySwimPro comes with a load of prefessionally pre-built training sessions,  training videos, and full training plans.  

Alls the plans and a lot of the videos and sessions will require a subscription though - quite an expensive one at that (£13.99 a month or £84.96 a year in the UK).  

However you can still do quite a lot with the free tier, including some training videos, some sessions, and crucially for me today the ability to create your own session.  You can only create one session at a time, and you can't save it to your libary so you'll need keep creating them (though I did notice though that sessions I created while subscribed to the service on the monthly rate do stay available after you stop your subscription, so you could concievably create all you sessions in the first month, save them, and then cancel the subscription until you need to create more or edit them)

So I went and created my session using their workout builder by going to the Log screen (which seems a bit counter-intuitive), selecting New Workout and creating the thing.

I thought I was been clever here by creating the Drills as 1x25 Kick and 1x25 pull, but I realised that was a mistake when I started swimming because I had to force press the screen after each 25m to go to the next set.  I should have created it as a 4x50 Drill.

After you create the sessions you can't save it unless you subscribe, but you can print to pdf if you want.  However, as long as you leave it as the last session you viewed on iPhone you can still use it with Apple Watch by selecting the "last viewed" option.

Here's how that works:

So I tapped start and got ready to start the warm up 100m (for the third time now)

The first thing that surprised me is that I was given a full 60 seconds countdown to start - which seemed a little excessive.  However, you can force press and tap Start Now to switch to a 3-second countdown which is what I did.

At the end of the warm up I stopped and realised I needed to force press again to indicate I had finished.  Strangely the screen was displaying 75m total which I don't really understand.  I had another 60 seconds to wait now which I didn't want so I force pressed again to go to Start Now.  I then swam the first 25m kick and needed to Force Press again for Next Set and Force Press again for Start Now.  I felt like I was Force Pressing more than Darth Vader, but to be fair this was mostly of my making because of the way I set up the set. 

err but I only swam 600m?

err but I only swam 600m?

As I finished the drills I looked at the clock on the wall and realised I need to really be on my way home now so my wife could have the car, so I shortened the main section to 200m instead of 400m (actually thinking about that it's not really going to make much difference), but the result was interesting.  I should now have a 600m swim, not an 800m one, but at the end of the session, MySwimPro still congratulated me on my 800m swim!

Back in the MySwimPro app it also showed it incorrectly as 800m in the log (with a little icon of Apple Watch next to it), but I couldn't see any stats regarding the workout, apart from the planned sets, the duration (which said 15m in one place and 22mins in another, even though the Watch app had it down as 18 minutes!) - no splits, set timings, lengths, hr - in fact nothing really there.  Not to worry I thought it will be all synced to the Health App DB and I can view it in the Activities app and that was indeed better though it still had 800m as the total distance  (and it had the same 20 lengths & 500m splits error as the app  - go figure).    

Overall though and although I really want to like MySwimPro and it could be great, it just feels too confused (in it's iPhone app UI e.g. using the Log screen to create a new Session, and in the way data is reported incorrectly and not really logging what you actually swam) and buggy (I had multiple crashes of the iPhone app on start and had to restart iPhone to sort it out), that I just don't feel comfortable using it now or trusting it's results.  I hope they sort it out - the app is high profile, has been featured by Apple on their website and is getting great publicity, and superficially it looks great, but my experience at least so far has been disappointing.


Nobody has really nailed an app yet that lets you follow Structured Sessions and handle Drills.  

Having said that using the Swim.Com app with it's Drill support and using a printed sheet or a note app is pretty good (though I hope they fix the bugs I saw) and it's what I will be using unless I am just doing an endurance swim when I'll use the Workout app. is also free.

MySwimPro is promising, but as it stands with the bugs and quirks I found, I can't recommend it, and it's super expensive if you want access to all its features.  

Comparing all this to my Garmin Forerunner 935 it's definitlely comparible, and better in many ways because you don't have to manually start and stop between sets.  At some point if there is an interest I'll do a more direct comparison of logging a swim using both watches (but until then the 935 is still staying on its charger)