Devlog: August 30, 2023

I worked on my blog layout today. As much as I love Blot, developing a custom theme is not very simple. I’ve never been able to get the local Blot environment running, so my dev process is make a change, wait for it to update on my live site, then check to see how it is 😬.

I wanted to update my homepage so that I could have sections for different tags. Right now I’m envisioning one section for devlogs, one for some up coming stuff, and then everything else. The Blot templating uses Mustache—which I don’t really understand—and also doesn’t provide me a lot of control. So for only showing the first 3 devlogs, I have to actually put all of them in the DOM, then use CSS to hide all but the first 3.


{{#all_entries}}
    {{#tagged.devlog}}
    <div class="recent-post">
        <a href="{{{url}}}">{{title}}</a>
    </div>
    {{/tagged.devlog}}
{{/all_entries}}
.recent-post:nth-child(n+4) {
    display: none;
}

Not the most elegant, but works.

I would like to redesign my whole blog, but without a solid local dev experience, it really sounds like a chore. I’ve looked around for other CMS options, but publishing with Blot is so gosh darn easy, everything else looks archaic in comparison. So may need to spend more time working on getting Blot running locally.

devlog

Review of Amazon Basics 3 Hole Punch, Semi-Adjustable, 30 Sheet Capacity, Black

For reasons I don’t want to get into now, I need a 3 hole punch for A5 sized paper. The Amazon Basics 3 Hole Punch, Semi-Adjustable, 30 Sheet Capacity, Black seemed to fit the requirements. With the appealing advertised capacity and the amount of adjustment available for the holes and alignment guide, I thought this would be just right. But, I was wrong. It’s being returned.

Amazon Basics 3 Hole Punch, Semi-Adjustable, 30 Sheet Capacity, BlackNot too bad looking

My first impressions after getting it out of the box were positive. It has some weight to it and feels solid.

However, the first hole punch was disappointing.

Dirty residue around the hole punchWhat even is that?

It left some dark residue. One white paper, it’s really noticeable. Maybe this will clear up after more use, but not a great first experience.

The next thing I noticed was the alignment guide.

Sliding alignment guide with markings for common paper sizesAlignment guides

You can’t tell from the picture, but the alignment guide has notches, so it kinda locks into place when you get to one of the presets. It has notches for if your paper is 8 inches, 8 ½ inches, or 220mm, and so on. The problem? A5 paper is 210mm. Which is right in the middle of the 8 inch and 8 ½ inch notches. It’s a bit difficult to keep at 210mm. It can easily be knocked into another notch and you alignment is now off.

Not the end of the world. I could live if the holes weren’t perfectly centered and aligned. I could make the 8 ½ inch notch work if I had to.

Then I noticed that the holes are inset quite a bit more than my other hole punch. It’s about ⅛” difference. That’s quite a bit when you’re dealing with a small A5 sized sheet. This was the biggest down side for me.

Two pieces of paper with holes punched in them, stacked to show the one eighth inch difference in how far the holes are inset from the edge of the pageThe holes are just inset too far

So all these things combined, this hole punch is going back in the box and being returned. The search continues.

Review

Devlog: August 23, 2023

I submitted version 1.1 of ScreenCred for review this morning. It’s got a couple small updates:

  • Shared with You! See ScreenCred links shared with you in Messages right in the app.
  • Images are now cached better, so you shouldn’t see them load every time you open the app.
  • Fixed a layout issue when ScreenCred opens from a link.

Yesterday, I woke up early and got all geared up to do battle with that layout issue. Took me 5 minutes. The issue turned out to be quite simple. I use an invisible view to essentially measure and determine if the app should be in a more vertical layout for when text is very large. The problem was that when you opened the app from a link, the Views that were used to determine this, were not there, so it always opened in the vertical layout. How did I find this out? Just made the view not invisible for a bit. Surprisingly simple to both debug and fix.

So look out for v1.1 coming soon!

Projects ScreenCred devlog

Working Slowly

I was watching a video from Shawn Hickman about his first week of being full-time indie. He said that he likes to take his time and work slowly, and now that he’s full-time, he can do that without feeling rushed. That really stuck out to me.

I also like to move slowly, explore, and take my time. But, with only getting an hour or so a couple days a week to work on my side projects, I have been feeling rushed or crunched. It’s not that I feel like people are waiting for features or anything, but it’s more of a rush to figure things out and code it up in the short amount of time I have. If I leave something in the middle, it’s really tough for me to let it go and think about anything else.

It’s hard to keep momentum working like that. The scope of problems I tackle is quite limited because of it.

Like right now, I want to make some architectural changes to the ScreenCred website to help reduce my costs. But, it’s going to take me considerable effort to explore my options and pick the best one. I haven’t really touched it because I know it’s the kind of thing I need more than an hour to do, and is exactly the sort of thing that will keep me up at night if I get too deep into it.

How I can work slowly and relax with such limited time? How do I tackle larger exploration” projects without spinning out of control? Those are questions currently on my mind.

Devlog: August 17, 2023

I guess I’m working on ScreenCred.

2 things today. First I got Shared with You in a pretty good place.

A screenshot of the ScreenCred iPhone app showing a Shared with You shelfHow fancy!

I was able to reuse my logic for parsing URLs that I used for opening Universal Links and reuse views I made for suggestions. Worked out pretty well! Still got a couple things I want to try and polish up. They load asynchronously, so they kinda just pop in. I’m going to see if I can get those to animate in nicely instead.

The second thing I worked on was image caching. Right now, when you open the app, pretty much all the images need to load again. Not great. Being lazy, I looked for a package I could add that would do this for me. I looked at Nuke first. It seems to be quite popular and have some good options. I added it and everything looked good. Then I noticed it added 1.1MB to my app size. Not huge, but considering my app is about 3.6MB, that’s an increase of about 30%. I wasn’t in love with that. Luckily, I came across CachedAsyncImage. It has the same API as SwiftUI’s AsyncImage, which is super nice. I really just had to add Cached before them. Still testing it, but so far seems to be working great, and it only adds 0.1MB to the app size. I can live with that.

Projects ScreenCred devlog

Devlog: August 16, 2023

I spent the last couple of days trying to add Shared with You support. I followed a couple pretty straight forward guides:

It seemed easy enough. But for some reason, I couldn’t get anything to show up. I even tried with a couple vanilla apps, both SwiftUI and UIKit, and nothing.

  • My universal links work.
  • I’ve added the Shared with You capability.
  • I’m testing on an actual device (both from Xcode and TestFlight).
  • I’ve made sure the Shared with You is enabled for my app in Settings.
  • I’ve tried on iOS 16 and iOS 17.
  • I’ve pinned items in Messages.
  • I’ve made sure it works in other apps.

I had no idea what to do.

This morning, I decided to start fresh. Made a new app from scratch, copied an apple-app-site-association file from an app I knew worked, made the necessary changes for my app, and put up a simple site on Netlify. I sent a test link to myself, and…it worked! I was elated, surprised, shocked, and confused.

I looked at the difference between the allegedly good apple-app-site-association and my own. Only one difference, one of my paths had a question mark—search/?*. I changed it to search/*, deployed my site, loaded up the app on my phone, and guess what. Like 20 links that I had been sending myself like a crazy person all flooded in. I could cry.

I can’t even remember why I had that ?. Maybe I thought it would be an extra check to make sure there was at least one character? IDK. Maybe something else will break down the line, but that’s a problem for future Sam. Not me.

Projects ScreenCred devlog

Picture of Sam Warnick

As my daughter says, I'm just a tired dad, with a tired name, Sam Warnick. I'm a software developer in Beaufort, SC.

Some things I do