June 2022
Settings
For June, I’m writing about the website, how it’s built, my rules for it, and some future improvements I’m working on.
The Website
1. No ads, no external analytics
It’s crazy how many ads are on fan translation sites these days. I hate, hate, hate, hate the avalanche I see when I don’t have an ad blocker on. So I’m making sure my site has no ads, and the only analytics is from actual page views. Which is more truthful, since “ad blockers” like to block analytics as well.
Yes, your ad blocker will happily block the code that is supposed to report errors to the website owner. That was a fun thing to discover one day at work. The customer had an ad blocker and that’s why we didn’t get the data on the error they were having.
2. No Light Novels
In the future, I might start translating light novels if a series swapped from webnovels to light novels, but right now I’m leaving them to the official translation companies. I will mine the light novels for illustrations, but I’m not doing extra stories. I can’t even ingest light novels at the moment, so it doesn’t really matter.
3. Keep the website small
Small sites load quickly, leading to happier users. Dropping ads helps, but I’ve gone beyond that to keep the site lean. I even submitted the site to the 512kb club, I don’t see any other fan translation sites on that list.
In real life, code has to have compromises. You can’t use the smallest solution because it takes too long to develop. Even this site can get smaller, but it’s sooooo much closer to perfect than any other I’ve written in production. Going from one page to another is 7kb plus any images, that is truly beautiful.
Production Steps
- Run the chapter through Google Translate (left section) and DeepL (right section)
- Write out a combination of the two into the chapter file (middle section)
- If necessary, refer to my notes or further/earlier chapters
- Wait a few days
- Review for misspellings, incorrect words, etc., also add any images
- Schedule it to go out
- Potentially go back and edit because of future chapters, hopefully before release
The images are made using Photoshop on my Windows machine using the Classic Comic font. I grabbed it from the Adobe Fonts tool since it looked good enough.
I try to find images that correlate to the events in the chapter, but there have been one or two that got reworded for a different part of the story . Sometimes the speech bubbles line up with my webnovel translation, but other times I have to reword things to make the speech bubbles look right. The light novel images are from my legally purchased copies.
Website Technology
I use hugo to generate the website. It’s fast and the template format isn’t too awful. I’m planning on open-sourcing the theme for the site at some point, but I’ve got a few tweaks I want to make beforehand, plus another optimization or two.
Daily releases are handled by a scheduled job on the same server that hosts the main repository of the code. Work can be pretty busy at times, so I can’t hope that I’ll remember each morning. Cloudflare can’t release from a private git server, so I have a private Github repository for them.
So, Cloudflare. While they started out as a DDOS protection service, they’ve added a lot of serverless tooling. I actually did a presentation on serverless technologies at work recently, but I’ll make it short for you. Serverless means that you stop thinking about virtual servers to run your code. You just throw some configuration at the wall and a bit of code will run somewhere, when it is needed.
The website is a bunch of files that Cloudflare hosts somewhere, possibly multiple places. The reactions are a few javascript functions that run on something, no idea where. The database is a bunch of key-to-value mappings that are saved somehow. I do know that the whole shebang costs me a grand total of zero dollars.
Future Improvements
-
Now that I have a good estimate for traffic numbers, I’ve got some upgrades to make to the backend code for the reactions system. You won’t notice anything, but I’ll be happier.
-
I’m playing around with a solution to turn the daily chapters into a light novel-like format. Basically, I’ll bundle up the daily chapters into larger chapters, then turn the big chapters into a volume in pdf and epub formats. Yes, I’ll do two versions, one with all the images and one with just light novel images. I won’t release them until the full volume is released here, so I have another month to get all my ducks in a row for the first volume.
-
I want to cut out a bunch of the css I’m not using, that will cut down even further the amount of data loaded when people first load the site.
-
I don’t like how the reading settings is up in the navbar, I want to find a new place for it.
-
I want to think about a sticky title section for desktop browsers, that’ll probably get done with the settings link move.
-
Better image tags, I currently have three different versions of the image include code. I’d like to see them change to a single version or just two.