Questions about Discourse

This question is mostly for the moderators & admins, but I’d appreciate anyone’s thoughts.

There’s an active thread going around on Mastodon about how Discourse (the software this forum uses) is hostile to users, hostile to admins & moderators, poorly written, poorly thought-out, and not performant. There are a number of responders agreeing with the original poster. (I can provide a link to the thread, if requested.) I was going to voice a contrary opinion on the Mastodon thread, but thought I’d step back and see if I’m missing something.

Discourse seems pretty great to me. The discussion here is amazingly civil and vibrant compared to most Internet forums. Discourse also seems to provide a lot of well-considered tools—carrots and sticks—for keeping heads cool and discussion on-topic. I use it on my desktop and phone, and never had a performance problem to speak of.

The quality of this community contributes something that software alone can’t create or enforce, so there’s that. But, is there something else going on behind the scenes I’m unaware of? Is the software difficult to wrangle, or melting down the server in ways I don’t see? Is Discourse somehow “hostile” to the admins? It doesn’t seem hostile to this user.


It could be that the software is quite popular and, by extension, more prone to people abusing certain aspects (backdoor stuff?). Once you’ve figured out something, you can do that same thing across any forums using the same software. I’ve seen this forum software used in so many places recently.

I really like it though. I think it’s well designed.


Civil and vibrant discussion are indicative of the members not the software app.


Discourse does have at least one mechanism that helps keeping the discussion moderate: Normal forum users can “censor” posts that are bait for flames. If 2 users or so flag a post!

Edit: I’m curious and would like to see the link to tge discussion.


This is part of why we switched to Discourse, in fact—before Discourse, this forum was using phpBB, and the moderation tools there were not great. If someone posted something inflammatory when the mods were asleep, it would blow up into a flamewar before we woke up and could deal with it.

One particular thread where this kept happening was the reason for creating the modern code of conduct, with its prominent note about please don’t do that. But to my eyes, letting non-mods flag posts and hide them was the more effective solution.


All communities are built by the people involved. We do have a great community here and I personally am thrilled that we mostly get along with only occasional issues.

Discourse is a company built by people who have specific ideas and philosophies about how to streamline software used to build forum communities and support how they believe online discourse works the best. They have been very successful as there are hundreds of Discourse forums across the internet. I personally find that the software is great: we’ve been able to do new and interesting things. The background mechanics used to customize and set site settings are discoverable and self-explanatory. Most of the admin and moderation functions all make sense when you experiment with them without needing to read a technical manual and most of us were able to jump in based on how we knew forums worked without needing to explicitly learn something completely new. Discourse automates a lot of functions and moderation processes to keep a community healthy based on how the creators think a forum works best.

They run their own site, referred to as Discourse Meta, which supports those who run Discourse sites, their admins, moderators, and people who modify it via plugins, components, themes, etc. The site is very busy and that’s where everyone including us go when there’s a problem to ask other Discourse users and sometimes the creators for advice and best-practices, report bugs, or make suggestions and requests for changes and modifications regarding how it works.

As they are a busy company, their main focus is maintaining the default Discourse builds, incorporating fixes and improvements, and taking on jobs for companies that pay them to make specific changes. As stated before, they also have a core philosophy about “how Discourse should work.” Because of that, sometimes they will respond to requests for free major mainstream changes or updates with a polite but relatively blunt “No, we don’t want to do that because…” usually with recommendations that Admins can modify the code or hire them for a customized build. In most cases they are receptive to good suggestions, or at least they will say the equivalent “That’s not feasible now, but it’s a good thing we can work toward for future modifications.”

Discourse is not a garage-app built by one person; they make money supporting and customizing special builds for hire - say for companies who have special requirements that are different from the out of the box build, such as a company who wants to use it as an internal support knowledge-base, or a customer facing support forum with trouble ticketing and issue resolution, or a company with alternate privacy concerns, for example. They won’t implement major fundamental changes to the default Discourse build for free. The system is very customizable if Admins are knowledgeable, but they’re not going to implement - say customizable emoji reactions as an option since the “like” system figures majorly into user-trust and there are community-created plugins that can do things like that cosmetically, so they don’t need to make that change to the build.

So as they are their own community, it makes sense there will be individuals and factions of people who might make a request, and they’ll respond “No, because [feasibility][Discourse philosophy],” and that denial to what the poster thinks is a reasonable request may be interpreted as blunt and rude and they may develop negativity since their idea was rejected.

If you look at this thread, this is a standard type of “working as intended” response where Sam says “no” and a tech elaborates.

Any time someone is given a no-answer there’s a chance they will take it personally and feel they are dismissed in some way, which can lead to hurt feelings and general negativity. I believe it’s akin to those of us who’ve had beta testers give what they consider helpful feedback like “I think your game would be better as a Western. Right now it’s a cozy New England Mystery and you should implement a combat system since in the finale with Mrs. Firthersby I’m holding the murder weapon and it would be quicker to take her down myself instead of presenting my case via the dialogue options…” Everyone’s had those “thanks but no” suggestions that would fundamentally disrupt your vision that you must politely wheel to the parking lot instead of explaining why their potentially good suggestion just won’t work.

Side tangent - this is why you don’t argue with testers and defend why you’re not taking their suggestion. That takes more effort than saying “Okay, thanks, I’ll consider it!” and moving on.

We had a bit of that - when we did the changeover there was a vocal minority who hated the “stretching relative timeline” feature of Discourse and wanted all posts compartmentalized and time-stamped like it was in the old forum instead of being in a constant flow. As this is a major part of how Discourse works, there was no way to change it. There were a couple of instances where it came down to “Sorry, if you don’t like this, we can only constructively suggest you start your own forum using different software and build your own community of people who agree.”


Loading just the front page of this forum uses about 8.5MB of data, which is… a lot for a site whose primary content is text.

A bit of unfounded conjecture: the people who still use forums rather than Reddit or other social media for discussion are generally people who prefer the traditional, “pre Web2.0” way of doing things. Discourse is an inherently “Web 2.0” application chock-full of JavaScript, dynamic rendering, etc. so it’s bound to garner some ill will from those folks.

Heck, even when this forum transitioned from phpBB to Discourse some 4.5 years ago, the change was far from uncontroversial.


Note that all that data is to effectively download a whole app, including all aspects of posting and reading the forum, PMs, chat, and so on. Also, that 8MB of data is the uncompressed size. The actual transferred data of the forum index with a cold browser cache (which you can test with an incognito window) is only 1.5MB. For example, the main forum JS file is 3.6MB, but when compressed for transfer is only 570kB.

When you load the site a second time, it only transfers about 60kB of data. And when you reply to a post it’s only 2kB. There are trade offs to be sure, but it probably ends up saving you more data than a traditional forum like phpBB would, especially for frequent visitors of the forum.


I personally consider Discourse to be unwieldy compared to something like phpBB.

These forums seem much slower and harder to navigate compared to the RPG Codex Forums (phpBB) or the Lazarus/FreePascal Forums (SMF), for example.

If it wasn’t for the community itself, I would have stopped coming here long ago.


Is the IF Discourse Forum self hosted or do you use the Discourse hosting service?


And I’m the complete opposite - I love Discourse and only visit one or two old-school forums these days. Many forums have migrated to Discourse, and all of them are better for it, in my opinion.

And, to go on a little tangent, many forums have migrated to the similarly named Discord instead, which is a chat service and not a forum service, and those are in my opinion worse for it. I haven’t been a part of this community for very long, but I’m an active member of the Game Boy homebrew development community, which I feel is fairly similar - both are tight knit communities of people making niche games in either hardcore programming (Inform 6 hacking/assembly) or higher level languages that focus on creativity (Inform 7/Game Boy Studio) - but the Game Boy community has a phpBB forum that’s never used anymore and a Discord server that’s very chaotic.

The old forums are basically dead, for many reasons. I’m glad someone made Discourse as a logical modern evolution of the concept of forums, because all the other Web 2.0 alternatives are completely different beasts.


We’re self hosted on an IFTF server.


I’ve had the opposite experience with phpBB. The last two forums I frequented that were built on phpBB were super clunky and difficult to navigate. This forum is really smooth and easy by comparison.


I agree. Though I haven’t tried phpBB. But I really like Discourse.

1 Like

Another aspect of Discourse potentially being hostile is that it’s so good at encouraging people to converse that it’s harder for some people to be civil at all times. (Have you ever talked about someone behind their back? You know you have. It was probably about me. :wink: ) I know a couple of admins on here can attest to my shenanigans. I’ve been a right bastard on a couple of occasions… and yet I try not to be. I really like the people here.

When I don’t agree with someone (which usually has nothing to do with my opinion of them personally), I can be a bull in a china shop. Discourse alerts me immediately to a lot of things going on here, even if I wasn’t even curious at that moment. In fact, it can alert me to discussions going on that I’m not in the right head-space to be civil about in that moment. You can chat on the side while you are typing a reply to a post, while you are reading a different topic all together… in the same window tab. That’s absolutely nuts! I don’t think I’m even scratching the surface here either. It facilitates communication so well that I don’t think many of us are built to handle it responsibly. I know I’m not responsible enough at times. If something catches you at the wrong moment, anyone is susceptible to overreacting and being hostile.

I can’t even imagine how chaotic some of the very populated Discourse forums might be. I don’t go on social media because I don’t think I can handle it, to be honest. Perhaps Discourse is the “social media” of forum engines… and we know the dangers of social media.

Again, I think Discourse is well designed… as are many social media platforms. Maybe too well designed. Maybe that’s where the supposed hostility blame is coming from.

I know you can turn off notifications and basically mute a lot the Discourse features, but that requires a level of self-control that just doesn’t exist typically. I don’t believe phpBB suffers from being “too good at it’s job”, like Discourse might be. Less is more, maybe.

Food for thought.


I can’t do that in one tab! How can you do that?

1 Like

Part of what makes Discourse appealing is everything flows - within a topic right to the next suggested topic. That was one of the hurdles some users had with the transition - if you have any sort of completionism tendencies, you will probably never feel “done” or “caught up” on a busy Discourse forum. This is often by design on some social media sites that want you to keep scrolling past ads.

That flow can be a good thing if you’re reading on a phone, but I see how it can cause gaffes for people with impulse control. Even when speaking privately it’s good to be mindful of the “be civil” rule and consider that anything you post (here and anywhere on the internet) has the potential to be seen by someone you don’t intend.

I myself have had to stop sometimes and go "wait, who all exactly am I speaking to in context here? - having PMs that work exactly like public topics and look very similar can sometimes be confusing. For a while that’s why I had a plugin installed that made PMs look like chat where opposing messages were shaded different colors with slightly round corners to differentiate it visually a bit - so it looked sort of like messaging on a phone.


I’m replying to you now, have the chat window open and I’m on the main page of the site as I hit the reply button to send this message.

Check out the screenshot.


It won’t work on mobile, but if you have the screen real-estate you can put chat into “small” mode and leave it up while you’re navigating the forum. What some people may not have discovered is that while you are replying to a post you can leave the message you are composing in the editor on the bottom and navigate in the upper half of the screen to other messages or other sections of the board to grab quotes from different topics if you want.

If you save the message and have navigated elsewhere, Discourse will helpfully confirm whether you want to reply to the topic you are currently looking at, or to the one you started from.

Also note you can collapse the editor without closing (down-caret on the right) and also grab the division bar by the handle in the middle and move it up or down so you see more composer pane or more forum as you prefer.

The other recent thing they’ve made work better is if you start a reply and then Close and “Save Draft” you can have multiple in-progress drafts available which you can see and resume from the left side bar under “My Posts”.


I like to make sure people know how I feel. I mean, I told you to go f*ck yourself via direct chat just this last week. :wink:

ETA: (In-joke, if it isn’t clear.)