March 30, 2020

Or why I switched from Joomla to Hugo

Hello and welcome to the new version of showntelldata.com. Over the last few days I have been working on a new version of the site and in this small space I just wanted to explain some of the reasons I changed from a Joomla powered site to a static website powered by Hugo.

No hate for Joomla

First of all I want to make it clear, I have no hate whatsoever for Joomla. I was very happy with my Joomla powered site, especially when I just started out. It was easy to set up and I could easily customize sections without having to code too much or having to search in detail through the documentation. Also, at the time, I found it easier to add custom data visualizations to a Joomla site than to a Wordpress site. The reasons I changed had nothing to do with any limitations in Joomla and all to do with my own limitations.

Keep it simple stupid

The main reason I dit want to switch to a static site for my own website, was just to make my life easier. My old site was hopelessly out of date and every time I wanted to update it, I got bogged down in remembering how to create new posts, how everything was organized or how I could add some fancy custom component I wanted to use. Most of the times this just meant the updates didn’t get done and it left me with a site with no new content for about a year.

While this might be a sign of some serious mental limitations on my side, with a static site I can just take all that out of the equation. If I want a new entry, I just write a new document in markdown and it is done. I can write this document anywhere I want and I can store these documents anywhere I want. This also means I don’t need a database anymore. Just to be clear, I have nothing against databases. Actually, for almost all my projects the first thing I would recommend is the use of some type of database. However, my website is nowhere near complex enough to merit an actual database to keep track of the content. The database, and the surrounding application code is just way more overhead than I really need and if I can avoid maintaining a database I am all for it.

Additionally, and this is probably the most important reason, by taking away all those fancy things that are by default included in a Wordpress or Joomla installation, I don’t get distracted from the most important part of a website, the content. Instead of trying to figure out how to create a new component on the backend or a fancy frontend interface, I tried to keep this site as minimal as possible without feeling that I was developing and designing this website in 2001. I avoided javascript as much as possible, right now the “Minimal” theme I used for my site has some javascript included for bootstrap and the mobile nav menu, but that’s about it. Moreover, and more importantly, I did not add to the code clutter, and that gives me more time to focus on what I want to show, not how I can make it look as fancy as possible.

The added benefits of a static site

Besides the fact that my site is now just easier to maintain, a site of mainly html and css just loads quicker by definition. I love all the cool javascript frameworks that exist for web development, but if I don’t have to use them I prefer not to. This is not just because of load time, but also because html and css just work, no matter what device your using it on.

I do a lot of web development and I fully appreciate the need for responsive design, but sometimes it is just a pain. Data visualization on a small screen is often not ideal and it almost always takes quite some iterations to get it right. Again, if I can avoid it, I will. Call it laziness, call it whatever you like, but there are few things as satisfying as code (and I know many people don’t consider HTML or CSS to be code) that just works without having to worry too much about it.

Is it really simpler?

Well, this is in no way a definite answer, but so far so good. Hugo has been very easy to setup and work with. The folder structure is easy to understand, and the default settings are pretty much all I need. Like I said before, I am keeping away from any fanciness, so I am no expert on using Hugo, but my site is up and running without too much of a hassle and too much of a strain on my mental capacities.