With the release of Apple’s new operating system for Apple Watch, watchOS 5, we wanted to see if we could use the new OS to help us improve our Apple Watch app experience. We re-wrote our distance tracking algorithm and improved our UI to reflect our most common requests from community members.
In watchOS 4 and earlier, the MySwimPro watch app would build the workout as you swam – as a distance sample came in or a lap was completed, we would build your structured MySwimPro workout behind the scenes. There were a couple of problems with this:
- Lots of code running during the workout means a greater likelihood of crashing and greater battery drain.
- Sometimes distance and lap samples come back after a delay – after a set has ended, for example, which causes a missed or incorrect split.
On top of this, Apple already has some great tools to keep track of the metrics we care about, so we decided to take advantage of this!
We re-wrote the algorithm to mostly use Apple’s HealthKit APIs to track the swimming distance, heart rate, stroke count, lap count, and elapsed time for us. We wait to do all of the “assembly” of the workout until after your workout is complete – doing it all in one go saves energy, prevents crashes during the workout, and improves split accuracy.
Apple also added the ability to automatically re-open an app running a workout session in case of a crash. MySwimPro now takes advantage of this and will re-open to continue tracking your workout even after a crash.
With the new Apple Watch Series 4, the screen got bigger, and the corners got rounder. It was time for a redesign!
Our most common design request on the watch was to make the screen easier to read while your goggles are on. Our second most popular design request was to add more information to the screen. With these competing requests, something had to give: to increase font size and make sure we could still show everything we wanted on the small screen, we removed live calorie count. Don’t worry, though: watch screen customization options – with calories – are planned for a later release.
For open swims, we added Lap Count – for guided swims we added Total Elapsed Time. Across all active workout screens, you’ll find a bigger and bolder font on the most important information, so you can better see your progress – even with your goggles on!
We also added a persistent drawer to guided workouts with information that’s important even between sets – heart rate, total distance, and elapsed time.
After long swims, it sometimes took a number of seconds for the workout to end. We’ve eliminated this wait entirely by showing you your congrats screen immediately, while the workout logs in the background!
We added support for new complication types for the new Apple Watch Series 4 – you can even add us to your new watch face eight times! We also spent some time optimizing the complication sizes and making sure they are properly listed as options in the watch face gallery on your iPhone.
With watchOS 5 and the new Apple Watch Series 4, we gave MySwimPro a facelift, increased font sizes to bring the most important information to you (even with your goggles on), and increased app speed and stability to ensure your workouts are logged with the most accurate information. Have feedback on the redesign? Use the “Send Feedback” form in the app or email me at firstname.lastname@example.org!