littlelogs

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

Exist

Exist

exist
Exist is a personal analytics hub for understanding your life and how your habits affect each other. Bring data you already create from services like your activity tracker, events, social media, and even local weather. https://exist.io

May 2017

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

April 2017

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

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.

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 👍

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

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.

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

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.

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…

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.

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

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!

February 2017

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

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.

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

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.

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

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.

January 2017

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.

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

@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

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.

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

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

josh

Finally finished the #exist year in review late this afternoon, and was going to send it out tonight but at the last minute we decided we needed to add an in-app notification about it too. I didn’t want to code that and send it out right before bed, so it’s delayed until tomorrow. I hope people appreciate it! I’ve put a lot of time into it now.

josh

Happy new year littlelogs! Wishing you all the best to do some cool things in 2017.

I’ve nearly got the #exist end of year report finished, after quite a few design iterations, but I’m not going to rush. I can’t send it for at least 2 more days, for those who are negative UTC and to give everyone a chance to sync their data, but even if it takes a couple more days after that, I think it’ll still be relevant. Hoping everyone gets a kick out of it! I think it has some fun stats.

December 2016

josh

It’s been more like tropical weather here recently despite living on the southernmost point of mainland Australia, so I extended my Christmas break a few days — too hot and humid to work. Today was a bit better, though, so I got stuck into the #exist end of year report. It’s coming along nicely and I think I’ll have it done in time, if I can make it pretty enough…

josh

I’ve been working on the #exist end of year report this week (but not too hard). Finally collected all the data I need to put it together, so next week I’ll be designing and endlessly retweaking the email layout to make it all look pretty. Decided it definitely needs to arrive in 2017, based on some stats I’ve added like a breakdown of how you spent the year, so I have at least until the 3rd (which is the 2nd for everywhere else in the world that’s behind).

Until then, happy Christmas or secular holiday times, littlelogs friends! I hope you have a good time with people you like, receive at least one good present, and eat some delicious things.

josh

The last few days I’ve been working on a new design for #changemap. I was never quite satisfied with what I had, but I think the new version is quite an improvement. Nearly done. We’re up to about 85 mailing list signups now also.

Once that’s out of the way I’ve decided I’ll make a nice end of year report for #exist users. It doesn’t matter if it doesn’t ship quite on January 1 I don’t think, so I’ll try and get it done over the next few weeks but will be taking it a bit easier also.

josh

Got #exist’s “location name” attribute sorted on the dev server today, did some #support requests, and later released #larder for #android v1.0! Nice to have the stable version out there. Anecdotally it seems like most paying users are using the app, meaning maybe it seems more valuable to Android users right now, meaning we should get the iOS app out too so we can convert some more folks. Onwards and upwards.

josh

Launched the new “day length” attribute for #exist today and added an in-app notification about it, updated our roadmap, etc. I’m not sure how useful it is in its current incarnation, but it was a quick win for more data, and if we focus more on exposing long-term trends in future, it’ll be appreciated.

Now working on adding a location name attribute via Google reverse geocoding. Once we can match raw lat/lng to a “locality”, as Google calls it, we can do some specific correlations based on the cities users visit. Stuff like “you have a better day when you’re in Melbourne”. That’ll be good.

josh

The experiment with the #Larder github releases page went okay. We got maybe a dozen signups out of it, which isn’t bad given how low they’ve been in general. They’re still trickling in too so hopefully that’ll continue for a bit longer. And of course, hopefully many will convert.

This week will be back to #exist, doing some little bits and pieces. Today I started adding “day length” as an attribute, ie. hours of sunlight, which we can already grab from Dark Sky. That one should be easy and completed in the next few days. I also added a Google Maps map for location on the web dashboard.

I changed the flow for suspending accounts to make it a little more difficult, as many people suspend their accounts rather than deleting, but never come back. It costs us in server resources to keep their accounts up to date (we keep syncing their data as a courtesy, for when they return) so I’d rather fewer people did that.

Not sure what I’ll work on next, I have a few other little niceties to pick from.

Older