Threadbare

Dion Moult

2025-04-28

Threadbare is a frugal PHP + SQLite based forum.

A screenshot of the Threadbare homepage

Threadbare is:

Threadbare is not:

Features

Brutalism is a design ideology that focuses on the honesty of materiality. If raw concrete, ugly buildings, and harsh environments come to mind, let me assure you that original meaning of Brutalism is separate to minimalism, or lack of elegance and beauty.

Honesty of materiality implies that mediums are used appropriately based on its function. For web design, this means that HTML is used for document semantics, CSS is used for styling, and JS is used for interactivity enhancements. This is not new. We have well established concepts like progressive enhancement and semantic HTML. But there is another medium that is slowly being forgotten in the app-ification of the internet: text. Text should be used for content.

Readability-first design.

I help host the Open Source Architecture Community forums, and this used to be using software known as Vanilla Forums. Vanilla is open source by legality, but corporate managed. This isn't a particularly sustainable combination, and the day came when open source Vanilla forums stopped being maintained. This begs for further reflection on how free software is more than a license, but that isn't today's topic.

I like progressively enhanced websites that work on text-only command line browsers. This is a rather niche requirement but I find that there is a strong correlation between websites that focus on content and their usability in text-only environments. When websites keep on adding more knobs and dials it stops becoming content and tips towards the "app" end of the scale, and it shows -- when you browse it on elinks you see all sorts of garbage in the way to the point that the website completely breaks.

Let's see what this looks like. Here's what Vanilla forums looks like if you haven't logged in yet:

Browsing vanilla forums as a guest with a lot of boilerplate

There's a concept in design known as "above the fold" (think back to a folded newspaper) where key content should be displayed and presented first. Notice how 50% of my page is just boilerplate before I get to the first header (in green). Then it's more fluff until I finally see the first thread link about 80% down. I see 2.5 headers before I run out of screen space. And if you log in, it's even worse:

Vanilla forums as a logged in user with a page full of boilerplate

When logged in, the entire first page is skippable boilerplate. Notice how content is also duplicated (you see notifications and edit links twice!). The page has clearly been designed by someone writing HTML to serve the JavaScript, as opposed to vice versa. When you finally scroll down to see the discussions as a logged in user, this is what you see:

Browsing discussions on Vanilla with many lines of junk

Doesn't look great, does it? Here's what a post looks like:

Viewing posts

It's a bit better, but the formatting is still overall poor and pretty unreadable due to bad HTML. The reply form is a complete mess due to lack of progressive enhancement and file uploads are completely broken.

Here's what Threadbare looks like, designed from first principles with only semantic content, no more, no less. There isn't a single wrapper or container div or flow control element.

Threadbare homepage showing discussions

The first thing you see is the header. The navigation and search is concise. You can see a whopping 20 thread titles with 2 lines per thread. Threads are just an ordered list of links. Here's what it looks like to read posts:

Threadbare showing posts in a thread as a clean ordered list

What about PHPBB? The grandfather of forums still going strong? Well... it "depends". Here's what PHPBB looks like on the Gentoo Forums. Look at that 1990's tabular layout! It's not semantic, but tables do the job in visual layout. The content is ... well, highly relevant and well designed. It's fantastic!

PHPBB as used in the Gentoo Forums showing tabular layouts

Modern PHPBB has taken one step forward, two steps back. They've foregone tables for more semantic content ... but is it really semantic? Here's the FreeCAD Forum who has kept up with the times of PHPBB. It's a list of threads, sure, but upon closer inspection has

Comments

If you have any comments, please send them to .