Skip to main content
  1. Blog/
  2.  

The Ruin We Have Wrought

Related Posts

Failure

·900 words·5 mins

This may be the Grumpy Old Man talking but I’m starting to find myself wishing for the good ol’ days of web development more and more often lately.

This blog used to be a Wordpress site, but the constant threat of vulnerabilities in extensions, plugins, themes, or the core platform and the need to keep the underlying LAMP stack updated meant that I was either spending way too much time on administrivia and fixing things that broke or neglecting my site and risking the seciurity of my server. It didn’t take long for me to grow tired of the constant need to update and fix everything. Eventually I decided to solve the problem once and for all and swap to a static website.

Initially I thought I would create something with some simple HTML, CSS, and a little bit of Javascript that I could update using a text editor, so I started looking for templates I could use. The simple ones I found were awful, and the nice templates were lousy with overly complicated Tailwind CSS and 20+ jQuery libraries or they were dependent on React/Vue/Svelte or whatever framework came up the creator’s Wheel of Fortune spin that morning.

I wanted a nice looking template, but didn’t want to have to battle with TailwindCSS all the time or write pages in FrameworkJS - I didn’t even want to write HTML, really. So I looked in to themes for static site generators that I could work with, not against. I scoured theme round ups looking at demos for Jekyll, Lektor, Vitepress, Pelican, Gatsby and Hugo. In the end I settled for LoveIt for Hugo only to find that it didn’t work with the latest version of Hugo and the creator had seemingly abandoned it. Luckily, I found DoIt, a fork of LoveIt that was still being maintained.

So I set up my new blog, created a draft, and generated the preview. I looked at the generated code and found that it was full of overly complicated Tailwind CSS and had too many javascript libraries for my liking. So I am now in the process of removing everything I can do without - to simplify my blog and remove as many moving parts from it while keeping it working.

All this got me thinking about how we - web developers and software engineers alike - have over complicated our lives in the name of making things better.

Frameworks were supposed to make life easier from devs but when you stop to think about the complexity they add to the development process - CI/CD, package management, vulnerabilities, version conflicts, extra tooling for testing, transpiling, linting, pre-processing - you start to see why the concept of less is more is so popular amongst more experienced developers.

If I want to add a table to one of the projects I’ve built using VueJS, it requires one or more components, with props and emits, and all sorts. Things that would have taken 20-30 lines of vanilla Javascript to do now require 40-60 lines of templating and Vue-specific Javascript that won’t work with ReactJS or any other framework. And while adding a second table in the VueJS project will only require one or two extra lines of code and modifications to a few of the existing stuff, the same could be said for the vanilla JS too. As such, the use of these frameworks hasn’t really added much benefit to us as developers.

Meanwhile, the sites that are deployed using these frameworks have massive load times due to all the code required to make them work. So the experience of the user isn’t that great either.

All this is to say I’ve gotten to the point where I don’t want to have to spend time fighting with the tools I use. I just want as little routine maintenance as possible so I can do what I love doing - building things.

I won’t be abandoning frameworks altogether, but I will be minimising my use of them in the situations where I get to make those decisions. For example, I am testing replacing VueJS with HTMX in a few of my web app projects, and I’ll continue to pull apart the theme I use on this site to reduce the number of moving parts as much as possible, while keeping the things I want because they do make my life easier.

After all, I like having nice things.