Kyle Seth Gray

Kyle Seth Gray's blog. Usually writing about tech, personal experience, but now leaning more towards health and fitness.

Submanager canceled scheduled task with identifier DeepBreathingReminder

In watchOS 4, for some reason, breathe notifications use a series of witchcraft and undocumented mysteriousness to maybe sometimes eventually send you notifications.

I’ve found this to never be the case and be quite awful in practice. In that, I never freaking get notified.

My solution, until September, is to make a notification setting in the Streaks app.

Streaks is this awesome app that can remind you do a bunch of things, and keep up 'streaks'. What's awesome is Streaks integrates directly with HealthKit. Which means, if you do whatever item you want to accomplish (say, 5 breathing minutes), Streaks will notify you and automatically mark the task as complete!

So basically, it's a great habit maker without all the glitchiness of notifications of hummingbird DeepBreathing on watchOS 4.

Notification setting 1 The first setting is simple enough - make a streak that encourages me to do at least 5 breathing sessions every day.
Notification setting 2 Second, you can edit the specific notification times by going into the top bar, taping the sideways … ellipsis, and then scrolling down. By default it only notifies you around the end of the day if you haven't done the task you've set out to do.
Notification setting 3 Lastly, I have custom times set so that I remember throughout the day, rather than at the end of the day, so I remember to Breathe.

Anyways, here's my setup. I honestly really like the breathing stuff in watchOS, but get frustrated when it just doesn't work.

Swimming and wrong measurements

January started with me wanting to actually utilize two things - the awesome swim workout mode on the Apple Watch, AND the pool at my gym.

First swim workout

That first workout, I didn't really even know how to think of yardage with a pool, and because my pool happens to be not-so-standard, I just wrongfully assumed it was... 25 yards.

So that was really an 800 yard workout.

But after some discussion and further measurement/guesstimation/Kyle-just-bring-a-tape-measure, I settled on thinking it was more in the range of 21 yards.

Second swim workout

Turns out, after a solid month and a half of workouts, that was wrong as well.

This was really a 1,170 yard workout.

The pool's actual measurement? 47 feet long, ~15.66 yards. Not 21, and definitely not 25 yards. I'm pretty upset with myself for not measuring WAY earlier. And while it would be great to find a better local pool, nothing is better than one that is literally 50 yards away from my office. [Who knows if that yardage is right 😝]

Despite feeling behind, I definitely have already improved, and average about 80 to 90 laps per workout. And despite that being 1,200 yards, rather than the 1,680 I thought it was, the only way to go from here is going further and longer.

It'll be interesting to see what my Apple Watch thinks of my sudden drop in pace starting next week. And how the caloric estimates differ - Wolfram says it's about a 30 calorie difference, but we'll have to see.

It's been two long years

Two years of cycling a lot.

Figuring out different ways to do cardio.

Trying running bit by bit, never going more than 5 or so miles.

Cycling 100km in one go, 4000+ miles overall.

Doing different ellipticals, from super nice LifeFitness gear to crap ellipticals that my dad got on Craigslist for like $30.

Hiking 15 miles to close my rings because I couldn't bike that day, and I didn't want to run or get injured.

But I did it.

I ran a new 10K after two years.

First 10K in 2 years

New Years Award

Remember that New Years award for the Apple Watch? Remember how a bunch of people got it earlier than they should've?

Turns out™, the badge didn't get a date associated with it.

Here's the condition the original 2017 New Year's badge had for you to earn it:

activityData.history.consecutiveMoveGoalsMet >= 7 AND activityData.history.consecutiveExerciseGoalsMet >= 7 AND activityData.history.consecutiveStandGoalsMet >= 7 AND dates.dayOfWeekToday == dates.lastDayOfFitnessWeek AND dates.startOfToday >= 505267200

In plain language, it was awarded when you had 7 consecutive Move, Exercise, and Stand Goals, AND it was after the end of the week, AND it was after 505267200. I assume that's the start of 2017, but for some reason that in unicode time is 01/05/1986... [Is this some iOS thing? SQL? Help]
EDIT: I'm a doof. It's NSDate. So the date is 2017/01/05

The 2018 award on the other hand had its condition set to:

activityData.history.consecutiveMoveGoalsMet >= 7 AND activityData.history.consecutiveExerciseGoalsMet >= 7 AND activityData.history.consecutiveStandGoalsMet >= 7 AND dates.dayOfMonthToday >= 7

Which means it'll just throw it at you after you earn any perfect week after the badge was downloaded, which was on Dec 27, 2016 at 5:00:00 PM. So anyone getting their perfect week on the 28th, like me and many others , got the New Year's Badge way too early.

What it should've had is AND dates.startOfToday >= 536716800, which would've prevented the super early award winning by many.

My only question is why did it not have the date condition?


On a similar note, it looks like the Heart Month award coming later this week should be fine, since it's marked as available after the 6th, and just has two queries: activityData.history.consecutiveExerciseGoalsMet >= 7 AND dates.dayOfMonthToday == 14 - 7 days in a row of meeting your Exercise Goal, earned on the 14th day of the month.

Getting back into running

One of my goals this upcoming year is to get back into running. It's one of my favorite ways to work out still - you don't need any equipment besides shoes, and maybe music to listen to.

I am currently sticking to one of the Strava Running Plans to ease myself back into running at a reasonable pace. While I know I'm starting a lot slower than I used to, I'm also very aware of how last time I was training, I got injured because I went too fast and far way too quickly.

Current Pace vs. Two Years Ago

Current running pace Where I used to be at

Currently, I'm at a slowish pace - around 12:30 a mile depending on the day - but it's a pace I can keep constant for 45 minutes without any run walks in between. Another thing that I'm focusing on is actually doing my speed intervals, aka fartlek runs, to build up my speed slowly over time.

I think I'll be able to run a half marathon some time this year depending on how my training goes, and I'm also considering a few triathlons.

While I've loved cycling over the past two years, it's nice to get back to "basics", and just have nothing but a nice trail, my running shoes, and favorites jams while enjoying what Utah's outdoors has to offer.

New Years

New Years always rolls around as the time of “New Goals!”, “New You!”, and other motivational posts on Instagram by your friends that got sucked into a pyramid scheme to help you get rid of ‘bloat’, make your hair shine, or just those dumb motivational quotes that are supposed to make everything better.

While it may be a big mental hurdle in our heads, and may not be as significant as it feels it is, the “New Year” is useful in the sense it can help you jumpstart something.

The best way to start out the new year, if you really want to join in on the mayhem, is find something in your life that you can measure. Use apps like Streaks, Pedometer++ that can help you easily quantify those goals in an easy manner. They’re quick, simple to set up, and can have reminders to push you towards reaching your goal.

The biggest reminder with the whole “New Year’s Resolution” gag is that, although you may roll your eyes at the slew of things you see people oversharing or throwing at you as ways to improve yourself, is to remember that you don’t need a position of the planet around the sun to start any new goals. Starting a habit can happen at the beginning of any month, week, or day - the most important part is being true to yourself, and reliably tracking the goals you set.


(And maybe getting a few fancy badges while you're at it. )
Shop on Amazon - Support my random blogs