Simultaneous Projects

May 25, 2017

Yesterday I released an update to my app Gone So Far and released two new apps: Hydration and HeartRate.

Since publishing my first app, I've really looked forward to releasing another. There was something very satisfying about the idea of seeing multiple icons when I searched for my name on the store. As it turns out, it does feel pretty nice.

It was interesting working on multiple projects at once. It was nice at some points because I could use code in multiple places and really get into a flow. It was frustrating at other times when I would simply confuse which project window I was working in. Ultimately, it was a pretty good experience and I think I got better at it the more I got used to switching between them.

Gone So Far

Since I was working on version 2.1 of Gone So Far while I was developing Hydration and HeartRate, I was able to incorporate some of the design decisions I made in my new apps into the update. The major addition is a new history chart. What was the Stretch Goals tab is now the History tab. Up top, you can see your distance history in a nice chart, while the stretch goals you have saved show up in a table on the lower half of the screen. I also made some minor tweaks to several UI elements and redesigned the settings screen.

View Gone So Far on the App Store.

Hydration

Hydration is a water intake tracker. You can set a daily goal manually or have the app calculate one for you based on your gender, weight, and activity level. You can modify four quick input buttons or manually input a custom amount at any time. The history tab gives you an overview of your intake history and a table displays the inputs you've made for the current day. In the event that you make a mistake with an input, you can swipe left on any of these entries to delete it.

I wasn't sure about writing a water tracker initially. I had used one in the past but wasn't a big fan of the app. More importantly, I can understand the argument that you shouldn't need an app to tell you when to drink water. However, recently I've been focusing more on my health and realized, somewhat sadly, that I can definitely forget to drink enough. After a few occasions where I didn't drink enough water during the day and got a headache in return, I thought it would be worth a try. So now I try to keep track of it a bit more and so far, less headaches! Hooray!

View Hydration on the App Store.

HeartRate

HeartRate is designed to let you quickly and easily get an overview of your heart health. Using the heart rate data saved to Apple's Health app, HeartRate displays your latest heart rate along with statistics for the day: your average, minimum, and maximum BPM. In the history tab, you can view your minimum and maximum heart rate across time frames. You can view the day broken down by hours, the week or month broken down by day, or the year broken down by month.

I find heart rate data to be pretty interesting. Since starting my work on this app I’ve started to pay a lot more attention to when my heart rate hits peaks and valley’s during the day. I was even surprised to find that one of my highest heart rates on most days occurs when I’m asleep. I hope this app will be useful to anyone else who wants a way to visualize this type of data.

View HeartRate on the App Store.

GraphView

One of the things I wanted to add to all three of my apps was a chart somewhat similar to what you see in Apple's own Health app. After searching around for a while for a way to do this using native UI components I realized there just wasn't anything quite like what I was hoping to accomplish. So I set out to make it on my own. Not having much experience messing around with Core Graphics, this was a bit of a challenge. I found a few tutorials that I skimmed and after learning how to draw lines and text, I was able to throw something together for testing. After getting most of the functionality hooked up across apps, I prettied up the chart a bit more and I’m pretty happy with what I was able to accomplish. There are still a few improvements I’d like to make and I’m considering the idea of cleaning up my code and open sourcing it at some point. No promises on a time frame for that, though.

App Review

Somewhat of an aside, but I’d just like to give a shoutout to the app review team. I was never directly effected by the slow app review times of the past but I followed developers who had to deal with it and it always seemed so painful to have to go through. It’s pretty terrific how much they’ve been able to speed things up. I spent the afternoon and evening putting the finishing touches on my apps before submitting them for review in the early hours of the morning. Even though I ran into a small metadata issue, all three of my apps were reviewed and ready for release in under 24 hours. Bravo, review team!

Going forward...

So what project is up next? Well, I keep a list of app ideas that I have and that list has been growing. These new releases seemed fairly doable considering the amount of free time that I've had lately and that they continued with my health and fitness theme so far. So I thought these would be a good decision to work on and they turned out to be a pretty good choice. While some of my ideas might still be a little bit over my skill level but I hope to get some new projects started fairly soon. I also obviously plan to keep these apps up to date and supported to the best of my ability, and hopefully add in a few new features when I can.

I'm not sure how many people will end up using any of the apps that I make but it feels nice to make things that I want to use and to put them out there into the world. To anyone who reads this and does end up using any of my apps, thank you. I hope you enjoy my work. Feel free to drop me a line with any questions, bug reports, suggestions, or pretty much anything else @_pmdev.