I finished the #larder #api #docs today! It’s so fiddly to include all the code samples and stuff, but now it’s done. My next steps are to build the UI for developers to create and manage their client apps in Larder, and make sure the oauth “authorise” page is all styled nicely, then that’ll be done.
In other news, I added the #changemap search field autocomplete suggestions to the “add a new suggestion” form last week, so you have to click “no, my suggestion isn’t any of these” if there are matches. And since then we’ve had zero new suggestions. It definitely works, I tried it, but I guess nobody has a new idea that isn’t a duplicate. Success? 🤔
Not a lot was done today. I slept badly so gave myself permission to have an easy day. However, in the evening I managed to get some more done on the #larder #api docs I’m writing. Thankfully some of it can be copied from the Exist docs. There’s still a lot to do though. Literally a thankless task, but I want to write high quality docs so the barrier to people making a thing with the API is as low as it can be.
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.
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.
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.
Ugh. One of my hard drives died yesterday — thankfully the least important one but still a massive pain as, through boring upgrade history I won’t bore you with, it had the boot partition stuff on it. So Windows wouldn’t boot even though it was still installed elsewhere! Anyway, sorted that out, and had my first occasion to grab a backup from out of Backblaze for some things I lost. Very easy, recommended. Now I’m spending the next day or so downloading my music library from Google Music at a piddling speed, and after that I’ll download many gigs of Steam games all over again. Fun.
Today I created a page explaining the GitHub weekly release email feature of #larder, something I find nifty and I think more folks would want if they only knew about it. I’m going to attempt a Show HN later tonight (early morning in the US) to see if it gets some love, though I’m bracing for the inevitable crappy comments. If you see it on the New page give it a vote! 👍
Released the weekly email feature for #larder tonight. Each week you’ll get a report on any of your starred #github repos that have had a release in the last week, along with the release notes. I hope it’ll be pretty handy! You can also use it as a “read later” feature, if you bookmark things to come back and read — users can choose to include a list of all bookmarks added for the week, per folder.
I emailed everyone with github connected, even users with expired trials, and got one happy tweet and one upgrade out of it so far which is a good start :)
Somehow I’ve picked up a cold again. I felt very sluggish today and didn’t get much done, but improved a little in the afternoon. Tonight I got the basics of editing and deleting working for #larder #android, so it’s almost a full CRUD client now. Just noticed we got another yearly subscription too, which is fantastic. I really think at this stage what Larder needs to grow is more people seeing it, rather than more features. Hopefully some interesting interviews on the blog will help that.
#exist-wise I am tossing up between trying to do some stuff for the weekly email this week (like including some graphs), and getting stuck into the architectural changes for #manualtracking. I think probably the email could benefit from some more useful trend info, but I don’t have a clear idea of what exactly so there’s a chance I could waste days trying various things and have nothing to show for it at the end.
Anyway, hopefully I feel a bit better tomorrow so I can get something done, regardless of what I pick!
I was quite productive today, but not in my usual form. Today was more about writing and editing. First I published an interview with @belle on our new #larder blog. Then I played editor for a bunch of her other posts for various places, and gave some feedback. I also replied to the waiting #support ticket I had, and then later had to follow up with an Exist user who’d disputed his first monthly subscription charge as “unrecognised”. Another friend who’s a user showed me that the statement descriptor does get cut off sometimes and comes up as “Hello Code” instead of “Hello Code exist.io” so I swapped the order of those to hopefully avoid future confusion. Also hoping this user closes the dispute upon realising what the charge was.
Tonight I had a big chat with @belle about our stupid, continual lack of growth (for both products) and what to do about it. As part of our marketing ideas I set up a blog for #Larder on its own domain, so it can get some direct attention and content. We’ll keep thinking about some other marketing extras, like referrals or give-aways or something. In the meantime all I really know how to do is keep working on the products to make them better, so I guess that’s what I’ll do.
Easing back into work after a weekend away. I also followed up on some #exist #support stuff, with some more to look into later. Updated #larder for #android with a fix, and tweeted it and updated the site once it went live. I’ll email all users tomorrow.
Also realised I have to submit my case against Larder’s “disputed charge” before tomorrow. Ugh. Apparently the user lost their card and just disputed all charges from around that time. Even though he wanted to pay for Larder, and has no issue with the charge, he hasn’t told his bank to cancel the dispute. So we get slugged the penalty and go through the massive hassle of making the case that we didn’t charge him fraudulently, for a chance at getting the penalty and his charge paid back. FUN. TIMES.
Today I got some nutrition attributes set up in #exist and started getting data for them from Jawbone UP. Next I’ll do Fitbit, maybe others later).
I can’t help myself. Redesigned the #larder homepage again yesterday. I think this is really truly the last change for a while though.
I did a little on the Larder #android app, but various things have kept me from getting much done on it — mostly #exist #support and some old #client work. @belle and I also discussed marketing for Larder, and came up with some ideas to get it better-known. I’ll try to spread my time between the Android app and marketing work over the next month or so.
Also, today one of a precious handful of paying users cancelled their subscription after just one month, which was very painful for my ego 😞 so I emailed to ask what I could be doing better to get their business again. I hope they bother to reply so I can at least use it as an opportunity to improve the product.
I deployed the #larder public folder feeds today, and added a new changelog to the account page so people can keep up with what we’re adding without me emailing them. Looked into using the Trello API to replicate what we’ve marked completed there, but it was easier to do it myself and be able to rewrite the updates.
Anyway, here’s an example of a public folder feed. I don’t think it’s something I’ll use, but I hope the users that wanted it like it.
So we launched the new #larder 14-day trial two days ago, and although I got one or two rude responses to the announcement email, overall it seemed to go down okay. We’ll have to see how it goes long-term though. I hope it converts better.
Once that was done I moved onto creating the public folder feeds for users who want to publish a nice list of bookmarks. It’s pretty much done, and I will deploy tomorrow I expect. After that I think the next big feature will be the #android app, as the web app is now “good enough”.
This afternoon I got #larder’s browser extensions updated to handle the upcoming trial changes. I’m still waiting on the #firefox one to be approved, then we can deploy the changes once all the various bits are in sync.
Today I finished and deployed #larder’s new tag management page. So now folders and tags can be edited in-place in a much friendlier way than the previous list of forms.
I also started, and nearly finished, our planned changes to the trial plan. Barely anyone has upgraded (though my heartfelt gratitude to those that have) and despite our careful wording too many people are seeing our untimed free trial as a free plan, and getting the shits that it has restrictive limits. They want to use it for free forever rather than trial it and quickly make a decision. So we’re changing it to a 14-day trial, no feature limits in that period, after which it goes read-only. Just need to update the browser extensions tomorrow to reflect the new error/upgrade message.
Deployed the #larder folder changes today and spent hours ticking off all my support emails.
Today I did a little #client maintenance work for my remaining freelance client, and tonight I finished off the #larder folder stuff. Just going to let @belle check it in Safari (attempt to break it) tomorrow and that can be deployed. Perhaps I’ll launch the #exist #github integration then too, it’s almost ready as well.
The last two days have been a bit crazy. We got upwards of 500 signups to #larder via Product Hunt and Hacker News (I haven’t checked the final number) so there was a lot to keep on top of. Of course, barely any of those will ever convert, but we’ve had some nice feedback and good suggestions, so it’s off to a great start.
However, at the same time I’ve been grappling with #Exist server issues. Several times in the last week we’ve had periods of huge packet loss where the site is almost unreachable. Of course, it takes many hours for support to reply to my ticket, so all I keep getting is “looks fine, there’s no issue” because it’s mysteriously resolved by then. I get that it’s hard to diagnose when you can’t see it, but I’m getting very frustrated with OVH. I do not want our host to keep breaking our site!
While all this was happening I got the #github integration for #exist working and supplying number of commits. I’ll test this a little more before deploying but I think it’s nearly done. Nice and quick.
Yesterday I worked on making a new folder management page for #larder. I got some drag and drop rearranging working, and fixed the library I’m using to handle touch events properly too. There’s still a long way to go, but I think it’s going to be much nicer to use.
Today most of my work was helping @belle add a book to her habits course. Her sales/checkout page is manually set up with #Django and #stripe so we had to add a few new product variants and make sure users went onto the appropriate mailing lists depending on what they bought, book or email course or both.
Yesterday I published the beta #firefox extension for #larder. Forgot to mention it with all the github stuff going on. Today I did a few small bug fixes for #exist, and back to Larder, I added some more emails to the welcome campaign. I started looking at the next most popular item on the roadmap, publishing a folder publicly, but decided I should reorganise the folder management page first, otherwise I might be adding stuff only to move it or rewrite it in a few days. I didn’t get far with that, so that’s tomorrow’s plan.
After recording a new podcast episode on #Larder’s positioning in the market with @belle, I updated the homepage to reflect our angle of “bookmarking for developers”. Then tonight I deployed the first iteration of showing related release and commit info for #GitHub repos you’ve starred. I find this a handy way to see which repos are active and keep on top of their new releases.
Tonight I wanted to get some more dev-oriented features in #larder started so we can start pushing the developer angle and clamour for some attention. So I now have each github repo bookmark’s
meta field being filled with info about the latest release and commit. Next stop, working out how I’ll display it in the UI!
Got a heap done today! With @belle’s help, I signed and uploaded the #larder #safari extension, so that’s ticked off. Then I created a welcome email for new users, set up Groove to handle our support emails, and finally configured the larder.io email server so our support address can forward into Groove.
Oh, and I also published a new “What’s in your larder” blog post for this week, this one being about little-known programming languages I’ve bookmarked to keep an eye on.
Today I got the #larder #safari extension done, with all the little kinks ironed out, but had issues trying to get the signing working. I do not like Apple’s approach to development. Maybe tomorrow this will get published.
Later, because I was still feeling productive, I added the OpenSearch support to Larder so you can do that “tab to search” thing in #chrome (though it seems the only browser to support it). Then I got bookmark exporting working. The Netscape HTML bookmark standard is fickle! But it felt good to get a bunch of different things done. It’s also nice to now have some paying customers to validate us.
Today I attempted to port my #larder browser extension to #safari. Man, did I have an unpleasant time. The docs are old and minimal, the Safari APIs for doing extension stuff are bad, and debugging is a really painful time. Yuck. By the end of the day, I had a working extension capable of saving bookmarks, but only barely. Lots left to do to try and make it nicer to use.
Wrote up some detailed notes on my previous failed attempt to write #larder in #elm. Next step is to turn it into a proper blog post for the Hello Code blog. I think I might hold off for a while though until we have more developer-focussed features, then publish it as a way of drawing in some curious devs. Hopefully.
I’m trying out intermittent fasting at the moment, and I thought it would make me irritable and unable to work but I’m actually getting a heap done to distract myself from wanting to eat. Who knew! So today I got the #larder #chrome extension working in #firefox via its beta support for what it calls “WebExtensions”, based on the Chrome standard. There are a few bugs to iron out for them but hopefully in the next release I’ll be able to publish the same Chrome extension as a Firefox extension too. I also looked at the #safari docs and that does not look like it’ll be a fun experience.
Later in the Larder #android app I got working the basic ability to add a bookmark, either directly or via sharing to Larder. The app is now nominally read and write!