Some ideas for next steps

October 8, 2022

I’ve been mostly away from the writing-software side of this project for about a year now. In one way this is a good and necessary thing—the main point of this effort was to create a platform that did not require maintenance, and my long break has confirmed that it mostly does not[1].

I do still have improvements in mind, however, and I hope to dedicate more time to some of them in the near future. A few ideas:

Video support

I’ve been thinking about adding support for self-hosted video for a while. In my opinion it’s the most glaring omission of media from this platform as it is. Individual steps that would be required to enable video support are:

  1. Video uploads and an automated postprocessing pipeline covering the main phone and camera video formats

  2. Extension of the text-based post format to enable embedded videos

  3. Analysis of video hosting and delivery costs showing the effect on the monthly budget

Photo library

This blog supports many presentation-focused image formats—jpeg, png, svg, I think tiff, etc. But it doesn’t support raw images, and it also doesn’t provide a photo library—photos uploaded just become part of the data associated with a post. Since I’ve started taking more raw format photos, and since I’m using a laptop with 250G of storage, what I want is an online archive of all my photos in raw format, so that I don’t need to manage space on my own computer for all of them. I want this archive to:

  1. Contain the raw images (but possibly only for download. I don’t really need an online editor)

  2. Have a central display area where I can browse by date, other metadata, etc and see thumbnails and bigger versions

  3. Associate multiple edited versions of a photo with the original raw version

  4. Make it easy to move between the archive view and individual posts, so that I can select an image from the archive for inclusion in a post

  5. Automatically manage storage classes to reduce cost, but make the images consistently available. For instance, I’ve probably got around 100G of photos on my computer, which would cost $2.30 per month to store at standard storage rates. By contrast, this whole site only costs $1.80. If the image storage cost scales by $2.30 every 6 months (because I’ve taken another 100G of photos), then this system will get very expensive very quickly. Alternatively, the same 100G of photos would cost only $0.099 per month if stored at the cheapest long-term archive storage level, but would incur additional charges for each retrieval. For most images, storing the raw image in a deeper archive level would be appropriate after an initial editing period. I would expect controls in the archive for restoring and downloading those originals.

Terraform module documentation

I have a number of useful terraform modules but I haven’t documented any of them. On the other hand I’m not sure what documentation would accomplish—I usually read the code when I want to know how something works.

  1. I have done work on the site around twice (twice that I remember). Both times, my objective was to bring the underlying Terraform code up to date with the most recent Terraform versions. The first episode took between 1-2 hours. The second one required me to switch to a newer version of the terraform AWS library. Terraform made significant disruptive changes to that library, which meant that the second upgrade required 3-4 hours of work over a couple of days. That wasn’t much, but it shook my confidence in Terraform’s overall stability and appropriateness for truly long-term projects like this. I’m not eager to replace it yet, especially not with anything newer that has less of a track record, but if it continues to churn I’ll have to consider it seriously. ↩︎