More #healthkit refactoring! Good ol’ Josh spent a long time with me today helping me reason through the best approach to managing different types of HealthKit data. Different types of data have to be handled in specific ways, and it’s all asynchronous, as is acquiring the attributes and updating the attributes via the Exist API, so there’s a whole lot of chaining completion blocks going on. Josh figured out a good approach for me, so now I’m trying to get that implemented so I can get back to testing #applehealth sleep data.
Still slogging away at #HealthKit refactoring in #exist for #ios as well as adding sleep data from Apple Health. Got some help from @josh to help me figure out the best ways to make my HealthKit code as generic and simple as I can, and after implementing his suggestions I’ve probably cut about half the code involved in the Apple Health integration. I’m expecting lots of bugs to work through, but really happy about cleaning this up, as it’s definitely been the most complicated, messy code in the app.
Not a lot to report today, except that I started a new branch in #exist for #ios, ready to tackle #AppleHealth sleep data, which we’re always getting requests for. I expect It’ll be a painful few weeks (or longer) getting this working and bug-free, but I’m really looking forward to giving users what they want so they can ask us for something else :)
Worked on the login process for #larder for #ios and some refactoring. Tried AppCode again, since it’s been a year or more since I gave it a shot, but I like to use a dark theme for coding and AppCode makes all my fonts look bold when it’s in dark theme. I thought this problem might have been fixed, but it hasn’t and it’s really bugging me. Plus, AppCode makes my computer hot and noisy because it struggles to run such a big Java app. Undecided for now, but not sure I’ll stick with it long-term.
What a week! Spent the past three days feeling stupid, frustrated, and confused, because I couldn’t get this new year ago mood feature working in #exist for #ios. Grappled with two different third-party libraries that didn’t work as I expected them to and roped @josh into an afternoon of helping me debug my #autolayout issues before giving up and building the UI myself from scratch.
This afternoon I managed to get the whole UI built and working with some more help from @josh, so now I can test it out. Hopefully I’ll be able to send this out to beta testers this week.
Also sorted through all the suggestions for #exist that we got on #changemap over the past couple of days—only 1/5 was not a duplicate. It’s so frustrating when users ignore the message right on the suggestion form that asks them to search for their idea before suggesting it. It creates a big waste of time for me and doesn’t help anyone. /rant
Also updated the Exist FAQs page, as it was quite out-of-date in a few areas.
Spent most of yesterday afternoon debugging an issue in #exist for #ios affecting a couple of users. For some days (but not all), their steps and distance data from #AppleHealth (but not any other data) was super low and incorrect. Lucky @josh was able to help me debug it because I got really stuck and wouldn’t have figured it out by myself.
Turns out the issue was due to me asking HealthKit for data for each day up to midnight for the following day, which sometimes included a tiny number of steps and distance right in that first second of the following day. Once we figured out why I was getting the extra data (totally my fault) and how to exclude it from the results I was sending to the Exist API, the fix didn’t take long. And thankfully Apple approved the update overnight, so it’s already in the App Store. I think that’s the quickest I’ve ever had an update go through Apple review. #laterlog
Yesterday I did some more work on #exist for #ios. I’m still working on building in the new feature to show your mood note and rating from this day a year ago after you submit a mood rating for today. I wanted to re-use layout code for the mood note and rating UI but being the n00b I am, I hadn’t made my old code generic enough, so I spent a good chunk of yesterday afternoon decoupling my code and making it more generic. #laterlog
Yesterday I cleaned up my extra #exist for #ios #git branches and started a new one for a feature that’s been in the Android app for a while—your mood rating and note from this day a year ago. Started working on the API call after you rate today to check if you have a rating and note to show from a year ago. Still need to finish this off and add the UI to show the data to the user.
So far this week I’ve been mainly working on bug fixes in #exist for #ios and some small refactoring to make my code simpler and easier to maintain. I have a couple of new features on my to-do list to bring the app up to par with @josh’s Android version, so I’m hoping to have all the bug fixes done soon so I can get on with those.
Changed my #rescuetime hours this week to be 4 hours every morning so I have afternoons off for #HelloCode. I was finding it hard to be totally switched off from Hello Code for 3 days a week, and to plan everything I need to do for RescueTime in just 3 days. This setup seems to work better.
Last week I sent a new update of #exist for #ios to the App Store with some bug fixes and some different bug fixes to my beta testers. I also wrote a new post for the #larder blog about why I blog about my code even though I’m not an expert.
- Paid my latest #tax instalment
- Cleared out my inbox (mostly)
- Followed up most of the #changemap tasks for #exist that came in over the past week
- Wrote up the Hello Code monthly report for December and drafted a matching #blog post
- Worked on bug fixes for #exist for #ios, sent a new version to TestFlight, and tried to submit a new version to the App Store but iTunesConnect was broken yet again.
Since my holidays are nearly over, I enjoyed a day of boring, grown-up stuff today:
- Found my lost super accounts and rolled them into one (seriously! I never thought I’d actually get around to doing this)
- Researched super accounts and set up a new one with good returns
- Set up automatic payments for my super, since I don’t have an employer to pay into it for me (and it turns out the mandatory employer payments aren’t even enough for a comfortable retirement)
- Set up a new Fastmail account since I’ve been having trouble with Gmail aliases and mail not getting through to me
- Researched savings accounts and set up a new bank and savings account with higher interest than I’m getting currently
It’s holiday time this week, but also stinking hot so I haven’t been doing much. A little #drawing yesterday which was fun. Also worked on some blogging today and yesterday. I have a whole stack of drafts that need to be edited and published on my #blog now, including:
- My 2016 year in review
- My must-have apps for 2016
- My thoughts on switching from iOS to Android for good
- A recap on my fountain pen journey in 2016
- A recap on my planner journey in 2016
- An update on my 2017 planner setup
And I still need to draft a post about the habits I tried to build in 2016. Phew! #writing
A very late #laterlog to mention that @josh and I spent all afternoon Sunday #pairprogramming to implement a new feature in #exist for #ios: in-app notifications! We’ve had these for a while in the web app, so users are alerted when we’ve made a major change like adding a new feature or integration, but not on mobile. Josh recently added them to the Android app and was kind enough to help me get them done on iOS in an afternoon. Just need to do some testing now, but hopefully I’ll be able to release a small update with this feature included soon!
My passion for working on #exist for #ios has been reignited! I sent out the latest update including lots of new Apple Health data (workouts, nutrition, active minutes, heart rate) to the App Store this week, so I’m just waiting for it to be reviewed.
For some reason we had a bunch of users all asking us for menstrual tracking over the past week or so, and it’s something I’ve always planned to get from #healthkit but haven’t gotten to yet. So after sending out that update I was really motivated to explore getting menstrual data from Apple Health. Exist doesn’t support it yet but I’ve started working on getting the data anyway. I think my motivation really wanes when I’m working on bug fixes. It’s a very slow, difficult, lonely process for me, and I often struggle to replicate bugs and feel like updates just get stuck in limbo for ages while I worry about how to fix all the bugs. But starting a new feature is always fun and exciting—and a lot faster these days than it was a couple years ago!
Had two calls this week relating to my work situation for 2017. Nothing official yet, but something very promising in the works, and hopefully I can announce that soon.
Edited a #client #content article and sent off the invoice, sent out four #customerdevelopment emails to get feedback about #changemap, and followed up with a one-off client to see if they have any more content work for me.
Back to work today after a lot of relaxing before/during/after my birthday! Not working too hard, though, because it’s SO HOT! Ugh.
Spent quite a bit of time putting together new pitches for #client #content work this afternoon. A couple of my clients have cut back my workload, so I’m in panic mode again about having enough work in the future. A stop gap job isn’t very good if it’s not stable while you work on your side project! Debating different options for improving that situation, but don’t want to take my focus off #HelloCode if I can help it.
Also published a planner review on my #blog that I’ve been meaning to finish for a while, and wrote up a long post about my analogue planner setup for next year. And did some final edits on another draft I had waiting, so I think I’ll hit my goal of publishing 4 posts on my blog this month!
I’ve been working a bit extra on #client #content work lately so I could have this week off without losing income. So far I’ve mainly just been relaxing, but sometimes you need a break to do nothing and recover for a bit. Hoping to get some good work done for #HelloCode later in the week, as well as some #birthday fun!