
Show HN: Thredded Forums Engine - glebm
https://thredded.org/?hn
======
glebm
We wrote the Thredded forums engine focusing on these things:

1\. Client-side performance. Little JavaScript and lean CSS. Even the KaTeX
math plugin renders math server-side.

2\. Clean but discoverable UI. The focus is content. Not a single dropdown nor
a hamburger menu.

3\. Extensible, but critical features are built-in to provide a foundation for
plugins. Features such as notifications, moderation, permissions system, and
full text search.

4\. Pleasant on mobile for both browsing and content creation. This means a
textarea instead of a rich text editor (by default).

5\. Everything degrades gracefully when JavaScript is off. For example,
preview-as-you-type becomes a "Preview" button if JavaScript is disabled.

6\. The relational database for everything, including full text search. Data
integrity is easy, no out-of-sync elasticsearch databases here. Runs on
Postgres, MySQL, and SQLite.

Boring technology => easy to deploy and run in production.

The codebase is written in Ruby, has slowly developed over the years, and has
extensive test coverage.

I am very curious to hear what you think, and whether you've ever felt a need
for a forum like that.

~~~
detaro
> _1\. Client-side performance. Little JavaScript and lean CSS. Even the KaTeX
> math plugin renders math server-side._

> _5\. Everything degrades gracefully when JavaScript is off. For example,
> preview-as-you-type becomes a "Preview" button if JavaScript is disabled._

Especially those sound great!

Some feedback from poking around the demo a bit (on Desktop):

 __* It has _a lot_ of whitespace, to the point that it forces a lot of
scrolling. The "front page" with the list of existing boards is particularly
bad, with only 4 cards fitting on my 1080p screen, where a typical phpBB fits
10 or more. And the layout of the cards is still quite busy, with 5 text
styles close to each other. Your demo hasn't got any posts with long texts, so
it is hard to judge how big an issue this is in the threads themselves. Still,
on a desktop you have the space to the side, maybe put the name besides the
post instead of on top?

 __* A lot of elements have dynamic positions (e.g. the date, the author)
which makes it quite hard to quickly scan the overviews for them.

 __* Image support? Something a lot of forums have issues with, which leads to
various hacks, images not visible to visitors, and often broken images from
external hosts. This is an area where you easily can be better than many
existing boards.

~~~
glebm
Thank you for your feedback!

> _It has a lot of whitespace [...]_

Whitespace can be reduced across the board by adjusting a variable:

[https://github.com/thredded/thredded/blob/1a60bcc7618270afeb...](https://github.com/thredded/thredded/blob/1a60bcc7618270afebdbdb9557b3e2df563399fe/app/assets/stylesheets/thredded/base/_variables.scss#L15)

For the homepage, I'm going to try removing the vertical spacing between the
cards.

> _on a desktop [...] maybe put the name besides the post instead of on top_

Definitely going to try that!

> _A lot of elements have dynamic positions (e.g. the date, the author) which
> makes it quite hard to quickly scan the overviews for them._

I didn't realize there is a use-case for scanning through these. No good ideas
yet on how to improve this.

> _Image support?_

By default only externally referenced images are supported, but integrating
with third-party uploading services is easy. For example, here is how to do it
with Shubox.io:

[https://shubox.io/blog/2016/08/05/how-thredded-uses-
shubox](https://shubox.io/blog/2016/08/05/how-thredded-uses-shubox)

