littlelogs

Keep a social journal of your work progress as you make and learn things.

March 2017

belle

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!

belle

Worked on #larder for #ios yesterday. Still lots to get done before it’s ready for beta testing, but I’m slowly making progress. Yesterday I improved the design and layout of the login screen and the add bookmark screen.

belle

Yesterday I tried using beginBackgroundTaskWithExpirationHandler to ask #ios to give my app more time to complete tasks in the background. This seems to have fixed the #exist for iOS bug @josh and I have been struggling with for a week now. Certain calls, usually when my app was in the background, were taking ages and eventually timing out during the handshake stage with the server. It seems like it was actually iOS killing the tasks, but I don’t know why it was taking so long to do so. I didn’t try this beginBackgroundTask method earlier because everywhere I’ve seen it mentioned it seems to be used for continuing tasks in the background that were started in the foreground, which isn’t what I’m doing, but it seems to have worked anyway! #laterlog

belle

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.

belle

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.

belle

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.

belle

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

belle

Spent most of the weekend coming down from the high of #playgroundscon. It’s quite similar to the post-show blues I used to get in theatre, as you spend a short period of high intensity work with a group of strangers, then suddenly you’re plunged back into normal life and it’s quite a shock.

Yesterday I drafted a #blog post about #diversity in tech and some of the good and bad things I noticed at Playgrounds. I also put together the start of a WIP doc on GitHub of ways conference organisers and speakers can increase diversity and inclusion at their events. Hoping lots of other people in the tech community will contribute so this doc can grow over time and provide lots of suggestions for people who want to improve their events but don’t know where to start.

belle

Phew! It’s been a crazy two days at #playgroundscon. It was my first ever conference, so I wasn’t sure what to expect. Overall it turned out quite well. I met quite a few people, learned a lot, and got lots of inspiration to try new things and improve my code. The organisers worked really hard on diversity and inclusion, which showed. It was great to feel part of the community, since I haven’t had that much in the past. Now I need all weekend to recover!

belle

Last night I went to an event as part of #playgroundscon here in Melbourne. It was a screening of the documentary CODE: Debugging the Gender Gap. The film was pretty good, and it’s an important topic, but now that I’m up and getting ready for a full day of conference on a little over 5 hours sleep I’m kind of regretting going!

belle

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.

belle

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.

belle

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 :)

belle

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.

belle

I’ve been testing my new year ago mood feature in #exist for #ios for a couple of days, so this afternoon I’m going to send it out to beta testers.

Yesterday I fixed a small bug in the year ago mood feature and sent an update of Exist to the App Store with a small bug fix. #laterlog

belle

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.

belle

Wrote the #HelloCode monthly report for January today, and published the blog post version of the same.

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.

belle

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

January 2017

belle

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

belle

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.

belle

Yesterday afternoon I spent half my time napping and half my time working on finding and fixing discrepancies in our #tax reporting for #HelloCode. We’re not very good at (or very interested in) bookkeeping, so it’s always a pain when tax time rolls around.

belle

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.

belle

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.

belle

My update of #exist for #ios successfully uploaded to the App Store today. Phew! Waiting for that to get through review now.

Today I worked on a couple of drafts for the Larder #blog and some more bug fixes for the Exist iOS app.

Older