littlelogs

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

May 2017

belle
belle

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.

josh
josh

Today, for something different: every few weeks I delete our delinquent #exist accounts. These people have received 4 emails about their overdue payment, seen (hopefully) notifications on the site and in the app, had banners about it at the top of their weekly emails, and had 4-6 weeks to do something about it — but still people seem to miss it. Today was the first time ever someone replied to the automated “account deleted” email with shock. She was really nice about it though, and mentioned how much she appreciated using our mood tracking, and even offered to pay for the months she’d been overdue for. I now feel very bad about deleting this lady’s account, but it is literally all gone as that’s part of our privacy policy.

The moral of the story: update your card in services you want to keep using, so everyone involved doesn’t end up sad. 😞

belle
belle

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.

belle
belle

Finally got my latest build of #exist for #ios uploaded to #TestFlight yesterday after failing for four days. Had to use Application Loader instead of Xcode in the end, because Xcode just kept failing. #laterlog

Although I’m still annoyed by some of the UI changes to #itunesconnect (why can’t I see what version my testers last installed?!), I do like that once a beta build is approved by TestFlight reviewers it now goes straight out to my external testers without me doing anything. Very helpful since TestFlight reviewers tend to do their thing while I’m asleep!

April 2017

josh
josh

#exist #android #customtracking is pretty much done. Did I say that already? I’m basically just in a holding pattern now, waiting for any more bug reports while @belle implements the same stuff in the iOS app.

Meanwhile I’ve jumped into implementing an idea I’ve been kicking around for a while, an “optimise” page which attempts to quantify how best to optimise an attribute (from a whitelist of things like steps, productive time, etc.). It’s actually turning out pretty well! Belle and I are both enthused about giving some explicit values of what helps, for example, getting more than 5:00 time asleep is my #1 biggest factor in having a good day. Think our peeps are going to enjoy it.

josh
josh

I’ve been nudging my #exist #android #customtracking beta testers recently, trying to get feedback (in traditional fashion, only 3 or 4 of the group bother to say anything), fixing some small issues, and doing some extra bits and pieces to round it all out, like writing some new insight types. The little feedback I have received has been positive at least, so I don’t think there’s too much left to do. When @belle has finished and tested it for iOS (maybe a few months?), then we can launch 😁

In the meantime I’ll need to work out what to go on with.

belle
belle

Finally finished reading a research paper this morning, based on a study done using #exist! It was mainly about correlations and how to figure out which ones are interesting to users and avoid overwhelming the user with too much information. Some really interesting insights in there.

After that I went back to last year’s annual Exist user survey and read through all the free-form responses again. Nothing gets me more fired up about working hard (and impatient about everything we have to get done) than reading lots of user feedback and thinking about concrete ways to improve the product.

belle
belle

Yesterday I spent the afternoon working on adding #customtracking to #exist for #ios. @josh helped me work out the basic steps to get the user’s custom tags showing up, but I got stuck on the layout and ran out of time to get it working.

I also finally made it to a #cocoaheads meetup last night. I’ve been meaning to go for months and something always stops me, so even though I got off at the wrong train station and had to walk an extra 25 minutes to get there, I made sure I did!

#laterlog

belle
belle

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!

josh
josh

Okay, #exist web is ready for #customtracking. I’ll deploy that sometime in the next few days, then get the #android app changes merged so I can deploy a beta for testers that talks to the live server (currently testing custom tracking on our dev one). So early next week it’ll be out!

Also, if you’re an Exist user on Android, and want to help beta test, let me know. I could use some more eyes on it 👍

belle
belle

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.

josh
josh

Have been continuing to work on #exist #customtracking in #android the last few days. Getting closer to “good enough” for beta testers to have and use, although @belle and I have different ideas about how custom tracking should be used and how prominent its role should be in the app. Not something we can really know without more people using it. I am worried that we’re opening a can of worms by giving people all this power, and potentially they’ll want to do more and more with it until Exist is 90% custom tracking. But I guess if that’s what people want, we should give it to them…

Anyway, hopefully next week we can get it in the hands of people outside Hello Code HQ.

March 2017

belle
belle

Ahhh I thought I fixed that crash in #exist for #ios yesterday but I didn’t. Should have known that if I couldn’t reproduce it, it probably wasn’t what I thought I’d fixed. Turns out, it was only affecting some of our UK users, because they just switched to daylight saving time last weekend and some naïve usage of date objects on my part created a crash in some cases. So I tracked that down and fixed it today with @josh’s help.

josh
josh

Got sidetracked by lots of #exist #support today. Not sure why, but we had quite a few random emails coming in. Some easy to deal with, and some from people who thought it was appropriate to send us a single vague sentence(!) to interpret. Still, haven’t had any angry people for a while, that’s something.

belle
belle

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.

josh
josh

More work on #exist #customtracking today, letting users manage all their custom attributes and displaying them on the mood timeline to match the Android app.

I also spent a long time trying to apply for the compulsory worker’s injury insurance thing we need to set up now, even though it’s just me and @belle working from home. There’s only a couple of companies in Victoria that offer it, and man, they’re all so bad at online forms that even the one I ended up going with did not at all inspire confidence. Plus they ask for lots of numbers you’re supposed to just know, like next 12 months’ revenue and expenses. I hate doing this stuff and by the end it made me question whether it’s even worth running a small business. 😩

josh
josh

Made good progress today on #exist #manualtracking — this time, making the necessary changes to the web interface. Back on the productivity wagon! A little more to do so users can edit and manage custom tags from the web, then some better custom entry UX in the Android app, then beta testing time.

belle
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
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

josh
josh

Spent a very frustrating afternoon with @belle trying to debug an esoteric timeout issue between her #ios app and the #exist server. For some reason, in certain conditions, all of her requests to the server hang for like 30 seconds, and then time out in the “ssl handshake” stage (verified on the server). I can’t find anyone else with this issue, and we tried a bunch of different things to fix it but were basically stabbing in the dark. To top it off, it’s not even consistent — requests made while the app is in the foreground do work, and occasionally the background ones do also. And browsers and the Android client don’t have issues. Just iOS. Argh! I’m out of ideas. Maybe if I wish hard enough it’ll magically fix itself…

Older