Hacker News new | ask | show | jobs
by HalfwayToDice 3336 days ago
Discourse was a missed open-goal. Forum software was horrible, and Discourse were a smart team at the right point-in-time.

Unfortunately, they blew it. They created an over-engineered, over-complicated, bloated, heavy mess. Jeff bet on Moore's Law meaning that bandwidth/speed would eventually negate the bloat, but instead the world moved to low powered devices with mobile bandwidth.

They've spent years trying to get infinite scrolling working OK and installation OK. Why? Imagine if they'd actually used all their brainpower on features that forum owners actually wanted: automated spam tools, automated admin tasks, one-click install to any hosting plan (yes using PHP if necessary).

All the years of wasted talent, and now the other forum products have overtaken them on usability/maintainability. And they are STILL trying to fix the hijacked browser search feature, that you get lost in infinite scroll, and that you need to run a separate VM to run something as simple as forum software.

LESSON: beware second-system-syndrome, beware the CEO who has personal tech vendetas which are misaligned with your product strategy, and beware creating a team consisting solely of talented engineers who will do one thing: OVER-ENGINEER.

4 comments

It's interesting to hear someone else say this because all I'd really heard before this comment thread today was good things about Discourse.

I ran my own Discourse forum for a while. Users liked it well enough, but eventually I switched to using the free Steam community forums (it was a forum for a game) because it was costing me every month to run a separate server for it on Amazon.

During Discourse's life it also changed recommended install methods and auto-updates would occasionally break, so it was work to maintain. To be fair a lot of this was on relatively early versions.

I also found the Ctrl-F breaking and infinite scroll much more annoying than useful and tried to tell them[1] along with others. They listened somewhat and switched to only taking over Ctrl-F on long pages, but it's still not great. In fact I just tried to Ctrl-F for my post on the page I linked and got taken to my profile page instead.

[1] https://meta.discourse.org/t/discourse-taking-over-ctrl-f/16...

Just as a side note, you said you hosted the Discourse on AWS, but Digital Ocean have a $10/month automated, one-click deployment which includes TBs per month of bandwidth.

Perhaps that's an option should you choose to self-host again? :-)

Definitely. That wasn't an option when I first created the forum. Nor was using Docker. I changed my forum to Docker later, but things could still go wrong occasionally. There's a nice web interface for updating to newer forum versions but that still broke once or twice.
simply press CTRL+F twice.
I tried to cover that in the example I gave at the link I posted. The forum link in the example is broken now since this was 2014 but the idea still holds:

Imagine Jimmy wants to know how to pin a topic on a Discourse forum. He searches Google for pin topic discourse or whatever, and he sees a result with a text preview saying "...icon in the upper right to get the staff menu for the topic; select Pin Topic."

That looks right, so he ends up here: http://www.phylobabble.org/t/discourse-admin-quick-start-gui...

That's a big post, so he Ctrl-F searches for "pin topic". Normally his browser would already be highlighting the text in the post, but nothing happens, so he tries clicking on the only result. This just refreshes the page and puts him back at the same post.

At this point Jimmy either leaves the forum to try another result that doesn't hijack his browser search, combs the whole thread manually, or mashes Ctrf-F enough that he discovers the Ctrl-F-F override and types "pin topic" again, instantly highlighting the section that he wanted all along.

How is the average person supposed to know to do that?
The average person doesn't use ctrl+f/cmd+f; but still, for the ones who do, having to press it twice breaks muscle memory, it draws attention that something is broken or doesn't work quite like everything else.
the type of people that prefer the generic browser facilities over custom search aren't "average people".
Would these "average people" try to press Ctrl+F? If the argument is that most of the public is ignorant to the client-side jumping/highlighting facilitated by Ctrl+F, what purpose does overriding Ctrl+F serve? It seems that people who press Ctrl+F would have an expectation of what should happen next, and people who want custom search would move their mouse to the search bar and click.

Maybe a better compromise would be including a modal or a hint highlighting the site-wide search box without suppressing the native Ctrl+F functionality.

I feel like I'm a pretty average person.

My instinct when I'm looking for something is to Ctrl+F, not scour the UI for a search bar.

Anecdotally, I know people who are not programmers who are the same way.

if you're here, you're not an average person
In my opinion, it is a truism in software that it takes three years to build the thing you originally set out to build. This was true of Stack Overflow, and it's also true of Discourse.

We're supposed to be building software with the users, while observing them, while participating alongside. This takes a few years to get right.

No plan survives contact with users, and that's as it should be.

It's also likely a truism that the things that add value and the things that make money converge into a Venn diagram, not always for the best.

    > one-click install to any hosting plan (yes using PHP if necessary).
I think you had to be fair on this - that requirement accounts for a large amount of the design compromises that make other products so poor.

Breaches on popular PHP forum software account for a disproportionate amount of the breaches we regularly hear about. It's caused issues for Linux Mint, Ubuntu, and the "Cosbycoin" compromise is hard to forget. I can't complain about any particular vendor because they have all had their share of issues in this space.

Yes, you can write good PHP - but start saying "one click on any hosting plan" and suddenly composer is out the door, every file is owned by the user the web servers runs as and you start pollyfilling for ancient versions. It means you can't assume SSL will exist, it means you can't get updates using git or any sane automation strategy, and look at how Wordpress deals with cron.

Wordpress is regularly lambasted for their support of ancient versions of PHP, which is something they do primarily to meet this goal.

In interested in what other options are out there. I rarely see Discourse on the open Internet and I cringe every time I get tempted to sign up to an old SMF or vBulletin installation.

A week or two ago I was evaluating Discorse and by chance exchanged a few posts with Jeff, who to be frank seemed a little thin skinned.

Questions about feature priorities or technical architecture were met tersely and with a demand to know what kind of software I had ever built personally. So he wanted my resume rather that just discussing the merits of whatever topic.

Wasn't going to mention it but somehow your comment seemed to click.

Not sure what you mean about a tech vendetta, sounds like the tail end of a story.

This was _literally_ your opening sentence (look it up if you don't believe me):

"I’ve started to research Discourse as a general solution and started with embed capabilities. To be frank the whole situation seems to be a bit of a mess."

To be frank, I would describe what you posted more as rants than actual discussions about features. You wanted Disqus and were pretty rude about it. That's not what we're building at Discourse. If you have a problem with that, sorry.

You label that discussion as a rant, rather than honest questions about what Disourse users are asking for and architecture decisions? Wow.

https://meta.discourse.org/t/embed-discourse-comments-with-o...

I fully acknowledged the difficulty of your task, and tried to break down feed back into specific, actionable items.

Getting constructive criticism is not always fun, but it's part of our job. Besides that some people posting there are potential customers. Why call them ranters instead of a simple, we agree to disagree?

> who to be frank seemed a little thin skinned

seems apt, lol