It’s been a crazy week! Appointments and events have been cutting into my afternoons all week, so I’ve barely had any time to work on #exist for #ios. I’m still struggling with a really annoying bug that’s affecting one user in the #applehealth #sleep integration version, so I still can’t release it to all our users. @josh is going to help me implement a fix because I’m all out of ideas.
#applehealth
May 2017
I’m quite stuck on #exist for #ios at the moment. I have one last bug in the #applehealth #sleep integration version that’s in beta, and I can’t figure out how to fix it. And with #customtracking I’m stuck trying to find a library to do something that @josh was able to find multiple libraries for on Android. Today Josh helped me explore a couple of library options and now I’m just trying to make one of those bend to my will so I don’t have to build it myself from scratch.
April 2017
I’ve been trying to upload a new version of #exist for #ios to #TestFlight since yesterday but Apple’s servers keep throwing an error so I’m stuck waiting for that to be fixed.
In the meantime I’ve been working on email copy, screenshots, and a blog post ready for the launch of our #applehealth #sleep integration.
Working on the last few bug fixes in the #applehealth #sleep integration in #exist for #ios. Those last few stragglers are stopping me releasing to all our users, so I really want to get them sorted soon.
Just one more fix to make for #applehealth #sleep integration in #exist for #ios, then I think I can release it! Yay!
Some final bug fixes in #exist for #ios today. Part of my update that adds #applehealth #sleep syncing was to make the initial sync cover the past 30 days instead of the past 14. I found a timeout issue in that process, thanks to some good user feedback, and sorted that out today.
Submitted a new build using the new #TestFlight setup. Thankfully it didn’t take too long to figure out where they’d moved all my cheese to, and some parts of the process are more simple now (e.g. seems like they’ve removed the specific “notes for review” section, which I never used anyway). Feeling good about getting sleep out to all our users very soon!
Couple more bug fixes in #exist for #ios today. Hoping to get another beta version out before this week is over. Looking forward to starting #customtracking once the #applehealth #sleep integration is done.
Bug fixes in #exist for #ios today. One of the recent bug fixes I made for #applehealth #sleep wasn’t quite right, so I fixed that, and another reported by a beta tester from the latest version. Looking forward to getting this next version out to testers, as I think it’s getting quite close to release-ready!
Today I did a few improvements to the beta version of #exist for #ios: I added an option to force sync #applehealth data from the past 30 days in case it doesn’t stay up-to-date, made all Apple Health data sync 30 instead of 14 days when first set up, and added a message to tell users who only track time in bed or time asleep but not both that they should use a different sleep tracking app.
More bug fixing for #applehealth #sleep in #exist for #ios today. Trying to knuckle down and get the next update out soon.
March 2017
Are you all sick of hearing about #applehealth yet? 😏 Today I had a couple of bug reports about an un-Apple Health-related crash, so I fixed that and sent out an update. But then it was back to the #sleep beta to debug some weird behaviour. #healthkit seems to be calling my app with “new data” over and over in the same minute and I can’t work out why. There’s no new data, either. When I go looking, I keep getting the same results over and over. It did that maybe a couple of times to me during testing, but I’ve seen some beta user logs with 20 or 30 calls exactly the same within a minute.
Got my first two bug reports for the #applehealth #sleep beta in #exist for #ios today. Thankfully both for the same issue, which I’ve already fixed.
Sad to see how bad everyone’s data is, though. The main reason we put off this integration is because Apple Health doesn’t enforce any kind of data standards on the apps syncing to it, so the data I can get out tends to be low-quality, inconsistent, or both. I was hoping I was worrying about this more than necessary, but so far I’ve seen exactly the kind of bad data I expected in most cases.
Finally released the first #applehealth #sleep beta in #exist for #iOS today!
Found a couple of small things I hadn’t done in #exist for #ios today, but background #healthkit updates are going well! Expecting to release the first #applehealth #sleep beta this week.
Seems like #exist for #ios is updating #healthkit data in the background fairly regularly now. Fingers crossed it stays that way. After a little more testing to make sure the updating works well I’ll send it out to beta testers for the first round of #applehealth #sleep testing.
Also worked a little on #larder for #ios this afternoon. It’s frustrating how slow I am when using #swift still.
Left #exist for #ios alone over the weekend to see how well my #healthkit background updating would work. Today I had a look at the logs and it looks like all my data is updating without me opening the app, but not as often as I’d like. A change I made to stop duplicate updates occurring seems to be stopping a lot of non-duplicate updates getting through, so I had to try a different approach to de-duping the updates. I also noticed the app is getting a lot of “Network connection lost” errors when trying to send requests. Not sure what that’s about yet, as I haven’t been able to reproduce those errors to debug them. Still, getting closer and closer to releasing the #applehealth #sleep update to beta testers!
Aaaargh #applehealth! I’ve had the majority of the #sleep integration in #exist for #ios done for days now, but I’ve been fighting with getting the background observers working. I can’t watch the logs run in realtime, because I’m testing for #healthkit waking up my app in the background and telling it to send new data to Exist, and it won’t do it every time I add new data, because it wants to save battery. So I’m stuck adding data and waiting an hour or so before grabbing the log file to see if anything happened.
Fixed a bug in #exist for #ios today that was causing the app to crash when users turned on location tracking for the first time. Also continued some refactoring of #healthkit code in an effort to get background observers working for #applehealth #sleep and other HealthKit data. The idea is that iOS will notify my app when the user syncs new data to Apple Health, rather than me checking for it regularly. Still trying to get that working for activity data, but it seems to be working well for sleep so far.
So the #applehealth #sleep integration in #exist for #ios is pretty much done! Apart from lots and lots of testing and probably fixing lots of bugs, of course.
Today I figured out a way to filter out duplicate #applehealth #sleep samples from the same app. I’m using Sleep++ (among others) for testing, and it’s duplicated all my sleep records for the past few days. Although the Apple Health app handles merging and de-duping data for the user, when a developer queries HealthKit, it just returns whatever it has, so you have to de-dupe it and all that good stuff yourself.
Making great strides today with #applehealth #sleep integration in #exist for #ios! Thanks to some help from @josh last night I got on the right track and today I figured out why I wasn’t adding up all the sleep data per day correctly. I fixed that, and also added some code to check what the longest period of “time in bed” is per day, so I can get bedtime and wake time from that record, in case there are multiple “time in bed” periods. I also added a check to make sure I only use data from one app per day, so if users record data from multiple apps for the same day I’ll just take the first app’s data and ignore the rest so they don’t get doubled-up data in Exist.
February 2017
More work on #location fixes in #exist for #ios today. Really hanging out to get onto some performance improvements soon, thanks to inspiration from #playgroundscon, but I have to finish the #applehealth #sleep integration first. Always more to do…
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.
Today I sent out the January edition of #themonthlyreview and did some admin for #hellocode. I also did a little more work on my #applehealth sleep branch in #exist for #ios, but I’m trying to simplify all my HealthKit code at the same time as adding sleep data, so there’s quite a bit to do.
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 :)
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
October 2016
Sent an update of #exist for #ios to #TestFlight for review yesterday, with a bug fix and some improvements to #location tracking. Getting closer to releasing location!
After that I made a new branch and had a play with grabbing food data from #applehealth and sending it to Exist. It was simpler than I thought, but surprisingly hard to find an app to put the data into Apple Health correctly in the first place. #laterlog
October 2015
Started the day with some #code: fixed a couple of small things in #exist for #ios and attempted a merge so I can get the latest build out to beta testers soon (planning to have it tested and submitted to the App Store by the end of this month). Spent a while fighting #git due to a combination of #cocoapods conflicts and issues doing pod install on El Capitan.
Anyway, apart from continued testing and fixing any bugs I notice, I'm now moving on to #applehealth integration! Woo!
In the mood for writing some #code last night and today while the #Ghost team is relaxing. I've been working on adding insights to the #exist #ios dashboard view, but I'm waiting on a change to the API to help me render them.
So... in the meantime I created a new branch and started working on #applehealth integration! Woooooo! Very excited about getting this included finally.