Natural Cycles Apple Watch app
I’m very proud to announce that my first Apple Watch app for a client has gone live in the App Store; Natural Cycles.
Natural Cycles is a popular iPhone and Android app that allows you to track your fertility or plan a pregnancy. It can tell you when you are fertile, when you are ovulating, when your next period is due, when you are pregnant, and the progress of your pregnancy. I was hired as a freelance Swift developer to build an Apple Watch app that would be bundled in with their big v2.0 update and would allow viewing and logging of this critical information. The app allows you to see your current fertility level, body temperature, and progress of your period as well as viewing messages from Natural Cycles. In addition, you can quickly update your current body temperature and menstrual flow within the app:
As well as the core Apple Watch app, I also added support for Notifications and Glances making for an even quicker way to view your information:
My favourite feature, however, is the addition of full text Complications so you can see your current body temperature and fertility status on your watch face:1
The project was quite difficult (but rewarding!) for a few reasons. Firstly, the design was very ambitious when watchOS severely limits the amount of customisation that can be performed. Secondly, the iOS app was a Cordova app2 rather than a native app which meant I had to write a JavaScript plugin and set up some build scripts in order for the native Swift watchOS code to be able to speak with the iPhone. There was also a requirement to make the app as easy as possible to update (i.e. updating the iOS app shouldn’t break the watchOS app) and so I built everything such that the phone takes care of all logic and a lot of the UI so the watch app can be altered without going through the App Store review process.
This was a really exciting project to work on and I’m very happy with the end results. You can download Natural Cycles from the App Store or learn more on their website.
-
This did lead to an awkward situation when I’d left the complication enabled on my Mickey Mouse face that I use at weekends; the weekend after testing was complete, I switched to my Mickey Mouse face to be greeted with the words “Not Fertile” underneath his tapping foot! ↩︎
-
I don’t usually work on non-native apps but I was willing to make an exception as the bulk of code I’d write would be fully native (as there is no way to write non-native apps on the Apple Watch due to the lack of a UIWebView) ↩︎