littlelogs

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

March 2017

josh
josh

More #exist #android #customtracking fun today. Trying to design an alternative 8-day graph for the Today tab that’s a bit more compact and attractive than reusing the current graphs, as they’d all just say 1 or 0 anyway. So far I have some little ticks in pill shapes that look nice. I wish I could come up with something as readable that is more compact, but all the variations I’ve tried were harder to parse. Oh well, design’s all about compromises, right?

I guess I’ll leave it at what I have for now, and muse on it a bit while I work on the editing interface.

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

josh
josh

Started setting up the interface in the #exist #android app for rendering #customtracking tags. There’s probably a lot of iterating to go on making it all look just right, but I think the first 80% is done. Next step will be to think about how the interface for tracking stuff (literally, typing in your tags) will work. We also want to make it easy to add and edit stuff, but don’t want to make people think they have to use it by making it too obvious with extra buttons everywhere and so on. So yeah, even more iterating to get it just right.

josh
josh

Woo! Got #customtracking working in a hacky way in #exist #android. Solved some minor issues with that on the server side, and then verified all works as it should. The next step will be to actually make a nice UI for adding and tracking various custom habits and events, and at some point I’ll deploy the backend stuff to the live server so we can test it for real with some beta testers.

I also spent some time helping @belle figure out more #ios #healthkit sleep logic. Getting closer!

belle
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

josh
josh

First pass of the #exist #customtracking backend done today. Didn’t get time to make the custom Android client that can talk to it, ended up spending the evening helping @belle sort out some sleep logic for #healthkit stuff in #ios. Healthkit is like a dumb database returning low-level records, rather than giving a nice daily summary, so it’s much more akin to the crappier APIs I’ve had to integrate (cough-withings-cough) than the lovely ones like Fitbit’s. We’ll also have to implement custom de-duplication as healthkit won’t prevent multiple apps adding overlapping sleep records. Super fun times!

josh
josh

Today I started setting up the backend architecture for the next big #exist feature, #customtracking. I’m pretty excited about it! I hope users will love it. We’re going to let them submit a daily string that’s just a list of tags, eg. "piano, meditation" which we’ll turn into individual attributes with a value of 1 for that day. It means that users can track whatever they want (binary habits and events at least, but not integer values) and we’ll transparently support it, find averages, use it in correlations and so on. I think it’ll only take a few days to get the backend done, then we’ll make a beta mobile interface to test how users will interact with it.

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

josh
josh

I finished our #exist interactive report on what data you can bring from various apps. It’s simple, but fun to click around on I think, and will hopefully encourage 1) more users to have a play and then sign up, and 2) people with barely any data to realise not to bother.

josh
josh

The new #exist weekly email went out this morning and though we didn’t hear a lot of feedback, two positive tweets will have to be the evidence that it was well received :)

This afternoon I started work on a new public page for Exist showing would-be users what data they can get from various services, and what they’ll have in total from the combination of those they use, hopefully making it clear not just which services we support but what they’ll get from each.

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

josh
josh

Finished and deployed #exist’s new weekly email today. Tested it against some random users to make sure nothing broke. Seems all good. The next one will go out Monday!

josh
josh

This week I’ve been working on #exist’s new weekly email. I’m using a template based on the recent end of year one, which was well received, but have got it almost set up with all the weekly data I want to share. I just need to tweak the styling on some parts, like the correlations, but it should be ready by next week. Hope people enjoy it.

In other Exist news, we did okay converting many of our users who signed up right after Christmas, so we’re on a new maximum paid user count, and our average weekly income is quite high too. I think listing the yearly plan on the home page (previously we only mentioned the monthly cost) is helping drive some more yearly upgrades.

Fingers crossed we see another big spike in conversions from Back to Work listeners! Their trials should start ending today or tomorrow I think.

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

josh
josh

Overnight #exist got a mention on Gizmodo! Some kind of niche section called Field Guide. Well if we thought the Back to Work podcast helped, this has been nuts — over a hundred signups today, probably our biggest day since launch. I actually thought we were being targeted by spammers initially because of all the Hotmail signups 😆 if most of these people convert we’ll be doing so much better. I’m trying not to get too optimistic though.

In more practical news I helped @belle debug a tricky Apple Health issue and released a minor update to my own #Android app.

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

josh
josh

I pretty much have the new data tab in #exist #android complete, but I want to add some interactivity and hide some stuff by default so you can drill down into it.

Today I did some overdue #support tickets instead though, and later tonight I set up macOS in a vm on my pc so I can build some #ios apps. I do have a macbook, but I’d rather be at my pc. I actually got that running with few issues, and I can build apps in xcode without it taking too long — performance seems decent. I’m going to have a go at learning #swift to build the #larder iOS app. I don’t really want to steal it from @belle, but she has enough on her plate already.

josh
josh

@belle and I had a chat over lunch about an idea I had for custom habit tracking in #Exist — essentially using a free text field to enter a list of tags, like “alcohol, piano, meditation”, or whatever you did. With some fiddling we could run correlations and generate graphs for each custom item, pretending that they’re real attributes. I’m still weighing it up but I think this would be easier and quicker than (finishing) adding manual tracking, with the huge benefit that users can track whatever they want. Of course there are downsides too, in that these aren’t real attributes so they’d not gain all the built-in benefits of being official attributes. Hmmm! More musing required.

josh
josh

This week l pretty much implemented #exist’s new location name attribute, based on Google’s reverse geocoding, plus some correlations for this. I’m holding off on deploying it for now, because we decided my focus for the next few months should be adding more to the #android app. I’ve added a new tab with some trend graphs in a rather hacky manner, and just need to keep working on these graphs, correlations, and a mood breakdown.

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

belle
belle

Since I’m working Mon, Tue, Wed at #rescuetime now I probably won’t have many early-week logs. But Thursdays and Fridays are #HelloCode days so here’s a #laterlog for yesterday:

  • 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.
josh
josh

To offset the good day I had yesterday, today was full of boring housekeeping tasks, and some #exist bug fixes and support tickets I’d been putting off. Tomorrow will probably be the same as there are more left to look at. Swings and roundabouts. 😶

josh
josh

I sent the #exist end of year report today! Yay! 🎉 thankfully, all the feedback was really positive, and a bunch of people made a point of saying they liked it, so I feel really good about that. A couple of people mentioned they’d like something in this vein more regularly, which we’d been thinking about. Time to look into replacing the weekly report with a new one, or maybe a monthly one (though the more regular the better I think).

Here’s an example report: https://twitter.com/joshpitzalis/status/816555042215903232

Newer Older