This project has been near and dear to my heart long before I wrote a single line of code. That said, I think it’s understandable I”m pretty nervous about this pre-announcement. BUT, I also look forward to helping people change their lives for the better. Count this as a semi / unofficial announcement. :)
Several years ago I started getting more serious about my health and began searching for fitness methods that worked. I actually had a lot of trouble finding something that gave me results and was interesting enough to keep doing it. Running wasn’t it. Getting to local hiking spots was too time consuming. Attending the big gym down the road was overwhelming with all those machines (and therefore ineffective). Personal training was way too expensive. What I found wasn’t a set or specific routine or program that gets old after a while (you know those videos you can buy). It also wasn’t a fad celebrity workout.
It took a few years, but things finally started to click. I wanted something that reflected functional fitness to prepare me for “life,” and I needed structure to tell me what I should be doing. I also wanted a system that was efficient and effective. I’ve been doing this for a few years now, and I can say that it works for a wide range of fitness levels. Most importantly, this system is sustainable for a healthy lifestyle.
The app isn’t quite done yet, but we’re getting there. Count this as a first look as we start to get the name out in the wild. Head on over and sign up if you’re at all interested. From time to time I’ll send out sneak peeks, some insider-only info, and I’ll throw in a little bonus for you to make it worth your while. And don’t worry – I don’t do the spam thing. I treat you the way I would also like to be treated – with respect.
I have no set launch date, but it will initially be available for iPhone / iPad, and likely thoughtful integration with Apple Watch.
For those who don’t already know, I have Repetition Workout Counter in the AppStore for iPhone and iPad. The most recent release – version 2.0 – added support for Apple Watch from day one.
I didn’t quite know what to expect out of the Apple Watch. It’s quite an elegant piece of hard ware and software engineering. That is, until you start using third-party apps. The issues I (well, and many others) have is that running the app as an extension on the phone and communicating UI changes over Bluetooth has been problematic. It’s slow. Sometimes it doesn’t connect.
In the case of Repetition, it only does two things – increment a counter, and control the stopwatch function. At times even these are painfully slow – and I’m only sending minimal payloads (most often a single key:value pair) over the air to the Watch.
Now, enter watchOS 2, announced yesterday at WWDC. This is what we developers have been waiting for – the ability to run apps natively on the Watch, some UI improvements, access to hardware components, complications, and more.
For apps like Repetition, that means some key advantages over WatchKit:
- Immediate UI updates. (counter and timer are immediate)
- Haptic feedback from the taptic engine (say, a little buzz every X minutes)
- Better heart rate monitoring
- No need to be near your phone during workouts.
- Watch face complications with the current reps and timer w/o having to open the app
So, you can see why we’re excited for these enhancements. I really think the watch is perfect for two things – notifications and exercise. With Apple pushing the Health aspect so much, I wouldn’t be surprised if they felt the same way.
This wasn’t especially difficult, but it was a little tedious to track down.
I’ve relied on a handy little build phase script (I wish I remember where I found it) for automating build numbers from git commits for iOS apps since Apple gave us access to TestFlight via iTunes Connect. This same script didn’t work for my Apple Watch app as I anticipated, so it took a little bit to work out the kinks for AppStore submission.
It boils down to this
- Set the build number = the number of git commits on the branch.
- Change the Info.plist build numbers for the iOS app target, the Watch App target, and the Watch Extension target. This is done in a script build phase before the “Copy Bundle Resources” phase.
- Reset the Info.plist build numbers after all the build phases have run (another script build phase)
See the gist I posted for the complete script. Make sure to check the directory paths for the correct app name.