April 19, 2021
I wrote last week that my Big Goal for this week was to take care of the three most noxious bugs I deal with and to, well, stay sane. Neither of these things happened! It was a very busy week — lots of support requests to answer, lots of day job work, lots of accumulated fatigue — and I mostly did my best to keep my head above water.
When I have tough weeks, I fall back into a familiar holding pattern: working on things that seem neat rather than important or urgent. This week’s subject of neatness is at least one that I’ve been discussing and thinking about at length lately: I migrated my first page to be sans-Javascript!
A lot of this work was organizational. I’m slowly dividing the frontend into two submodules — author_facing
and subscriber_facing
. Once I had a clear sense of which views & controllers belonged to which side, I was able to find an easy one to migrate first.
I thought it would be abstractly nice to start with perhaps the most-viewed page: the archived email page. This is also pretty simple, since the vast majority of the content is just the static HTML of the email in question. Unfortunately, there was one bugbear: the fact that it has a subscription widget on the bottom of the page. This subscription widget — just like the ones on the subscribe pages — is actually fairly complex and needs its JavaScript, so to speak: it does a lot of AJAX validations, it may call out to Stripe (for paid newsletters), etc. So the archived email page was out.
Instead, I chose a much easier target: the humble “unsubscription success” page. This is the page you see once you unsubscribe: it’s boring and transactional and easily rendered in plain HTML.
Choosing this as a beachead worked out quite well. I got to force myself to make a handful of important decisions while not having to worry too much about the actual content I was migrating over: the next page will force my hand a bit, and make me figure out how to handle bringing in the subscribe form, but it was nice to make some solid progress and build scaffolding.
This coming week, though — bug fixes. For real this time: I need to ameliorate some of the incoming customer service and bug fixes are the way to go. Honest! I’m building out a Things project and everything!
(Oh, also I landed a Business Insider interview! That was fun, and I am slowly learning how to talk about Buttondown without spending ten minutes ranting about RSS and various technical esoterica.)