# Discourse - nannying software or empowering the poster?

**URL:** <https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901>\
**Category:** Site Feedback\
**Created:** [May 25, 2021, 6:39pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901 "2021-05-25T18:39:59Z")\
**Posts on this page:** 16\
**Page:** 2

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/codinghorror/32/4242_2.png) [@codinghorror](https://boards.straightdope.com/u/codinghorror)\
**Post date:** [May 30, 2021, 12:11am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/21 "2021-05-30T00:11:53Z")

</div>

The situation described (re-targeting an existing reply in the editor) is a fairly advanced use case; even so, the only “advanced” thing you need to know is that the thing at the upper left of the editor which has a button outline … is, in fact, a button that can be pressed. 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [May 30, 2021, 2:11am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/22 "2021-05-30T02:11:58Z")

</div>

> [@Do\_Not\_Taunt](#):
>
> OTOH, just flat out preventing people from using a duplicative thread title, or posting a short post, or a number of other little miscellaneous things the software doesn’t let you do - that’s just nannying

> [@Max\_S](#):
>
> If you try and make a topic with a duplicate title, an error pops up during after clicking “+ Create Topic”. Current copy reads
> 
> > Title has already been used
> 
> There is no punctuation and the message does not indicate why that is a problem. Again, I’m no expert on UI, so here’s my shot at better language,

I **think** the issue with duplicate thread titles is because the software uses the thread title as part of the URL. Duplicate URLs would be an issue.

---

<div class="post-metadata">

**Author:** ![LSLGuy](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lslguy/32/5813_2.png) [@LSLGuy](https://boards.straightdope.com/u/LSLGuy)\
**Post date:** [May 30, 2021, 1:12pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/23 "2021-05-30T13:12:36Z")

</div>

> [@Joey\_P](#):
>
> I **think** the issue with duplicate thread titles is because the software uses the thread title as part of the URL. Duplicate URLs would be an issue.

Looks like.

Interestingly the standard URL is  
like “https\_://boards.straightdope.com/t/{insert TopicTitle here}/{insert TopicID here}” optionally followed by “/{post sequence number within Topic}”

But if you leave out either the TopicTitle part or the TopicID part it still works. So “https\_://boards.straightdope.com/t/{insert TopicTitle here}” and “https\_://boards.straightdope.com/t/{insert TopicID here}” are equivalent to the canonical form in the prior paragraph. If you use either of these forms there will be an automatic redirect to the canonical form. Ditto if you fiddle with the upper/lowercase of the TopicTitle. It gets canonicalized then looked up and redirected if necessary.

If you screw with the url so the TopicID doesn’t match the TopicTitle, the TopicID wins and you get an auto-redirect to the topic of that ID via its canonical url with the other title that matches the TopicID you supplied.

All of which suggests to me that the TopicTitle started out as something that had to be unique for technological reasons but that’s obsolete today. But in order to keep old links working they need to retain the uniqueness in new posts today.

---

<div class="post-metadata">

**Author:** ![Do\_Not\_Taunt](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/do_not_taunt/32/2968_2.png) [@Do\_Not\_Taunt](https://boards.straightdope.com/u/Do_Not_Taunt)\
**Post date:** [May 30, 2021, 9:50pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/24 "2021-05-30T21:50:24Z")

</div>

> [@LSLGuy](#):
>
> Looks like.

Hard disagree. As you cover in your own post (and was also covered earlier in - I believe - this same thread), the thread title in the URL isn’t actually used to route you to the thread correctly. Only the ID is.

> [@](#):
>
> All of which suggests to me that the TopicTitle started out as something that had to be unique for technological reasons but that’s obsolete today. But in order to keep old links working they need to retain the uniqueness in new posts today.

Probably not. Editing a title is a pretty common feature for message boards (even if it’s restricted to mods here), and would break URLs that were dependent on unique, stable titles. Mostly likely, thread id has always been the part of the URL that Discourse has used to route you to the right thread. This was also discussed upthread 🙂

---

<div class="post-metadata">

**Author:** ![Heffalump\_and\_Roo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/heffalump_and_roo/32/7691_2.png) [@Heffalump\_and\_Roo](https://boards.straightdope.com/u/Heffalump_and_Roo)\
**Post date:** [May 30, 2021, 9:59pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/25 "2021-05-30T21:59:10Z")

</div>

> [@Do\_Not\_Taunt](#):
>
> Editing a title is a pretty common feature for message boards (even if it’s restricted to mods here)

That’s not true. Posters can edit their own thread titles for some length of time on this board. I don’t know the length of time but I know it’s possible because I’ve done it. There’s a pencil next to a thread you start. You can click on it after the thread goes live for some amount of time and change the thread title yourself.

---

<div class="post-metadata">

**Author:** ![puzzlegal](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/puzzlegal/32/3827_2.png) [@puzzlegal](https://boards.straightdope.com/u/puzzlegal)\
**Post date:** [May 31, 2021, 3:21am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/26 "2021-05-31T03:21:43Z")

</div>

And on the “standard” installation of Discourse, higher level posters can modify any title.

---

<div class="post-metadata">

**Author:** ![Do\_Not\_Taunt](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/do_not_taunt/32/2968_2.png) [@Do\_Not\_Taunt](https://boards.straightdope.com/u/Do_Not_Taunt)\
**Post date:** [May 31, 2021, 4:51am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/27 "2021-05-31T04:51:35Z")

</div>

> [@Heffalump\_and\_Roo](#):
>
> Posters can edit their own thread titles for some length of time on this board.

Thanks for the correction!

---

<div class="post-metadata">

**Author:** ![Heffalump\_and\_Roo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/heffalump_and_roo/32/7691_2.png) [@Heffalump\_and\_Roo](https://boards.straightdope.com/u/Heffalump_and_Roo)\
**Post date:** [May 31, 2021, 5:55am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/28 "2021-05-31T05:55:42Z")

</div>

> [@puzzlegal](#):
>
> And on the “standard” installation of Discourse, higher level posters can modify any title.

That’s so awesome!

Off the top of my head, I can’t think of one instance where that would be helpful, and I can think of a bunch of scenarios where it would be messed up.

But still, I like it. It’s a step closer to community moderation, and that pleases me.

---

<div class="post-metadata">

**Author:** ![puzzlegal](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/puzzlegal/32/3827_2.png) [@puzzlegal](https://boards.straightdope.com/u/puzzlegal)\
**Post date:** [May 31, 2021, 11:36am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/29 "2021-05-31T11:36:47Z")

</div>

Discourse is designed to support a lot of community moderation:

> [@The Discourse Hobbyist Bar Club](https://boards.straightdope.com/t/the-discourse-hobbyist-bar-club/942298/14):
>
> Oh, and because I complain a lot, can i say that i freaking love the member moderation. We don’t really use it on the straight dope. And it might be problematic here, because it would be such a huge culture change. But I’m posting on a new board that picked up a lot of the users of a recently killed board. And it’s been great. We have a poster who’s a member of a vulnerable minority. And when she sees something that feels to her like hate speech, she can make it go away, right away. Yes, somet…

---

<div class="post-metadata">

**Author:** ![Chronos](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/chronos/32/134_2.png) [@Chronos](https://boards.straightdope.com/u/Chronos)\
**Post date:** [May 31, 2021, 12:39pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/30 "2021-05-31T12:39:54Z")

</div>

Discourse is designed for boards without actual moderators. And on boards that don’t, in fact, have actual moderators, that’s a very good thing. But it’s not so great on boards that actually do have moderators.

As for thread titles being part of a URL, that’s good in that it lets you see something of what a thread is about when you mouseover. But the title absolutely shouldn’t be used by the software as a way of identifying the thread. The software should just completely ignore that portion of the URL, and identify threads solely and entirely by number.

Of a piece with that is the restrictions on usernames, because for some completely unfathomable reason, Discourse uses the username as the only identifier for a poster, and therefore the URL for a poster’s profile is distinguished only by the username, and therefore usernames can’t contain any characters not allowed in a URL.

> [@puzzlegal](#):
>
> Discourse has a lot of non-obvious functionality.

For instance: There are three different sorts of markup codes used for posts here, and some formatting options are only available using one or two of them, and it’s not always the same one or two. Italics, for instance, can be made either using standard italics code in square brackets, or by randomly italicizing half of any post that contains equations. But strikethrough can’t be achieved either through “markdown” nor with square brackets; for that you need angle brackets.

---

<div class="post-metadata">

**Author:** ![puzzlegal](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/puzzlegal/32/3827_2.png) [@puzzlegal](https://boards.straightdope.com/u/puzzlegal)\
**Post date:** [May 31, 2021, 12:42pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/31 "2021-05-31T12:42:53Z")

</div>

> [@Chronos](#):
>
> Discourse is designed for boards without actual moderators. And on boards that don’t, in fact, have actual moderators, that’s a very good thing. But it’s not so great on boards that actually do have moderators.

I would argue that it’s also good for boards with a low ratio of moderators to moderation issues.

Having a post hidden until the mods get around to reviewing it really changes the dynamic from having the list sit there for a day or two, until the mods get around to reviewing it. And mostly in a good way.

---

<div class="post-metadata">

**Author:** ![HMS\_Irruncible](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hms_irruncible/32/7394_2.png) [@HMS\_Irruncible](https://boards.straightdope.com/u/HMS_Irruncible)\
**Post date:** [May 31, 2021, 12:53pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/32 "2021-05-31T12:53:46Z")

</div>

I have no objection to what some might deride as “hand-holding” features to make editing or cross-referencing easier. Those are just fine, except when they get out over their skis like “here’s a similar topic”. Even Google doesn’t get that right, and Discourse definitely isn’t Google, so stop trying.

I do have an issue with features that nag users toward certain norms of posting. Like “you’ve already responded to this poster several times in this thread, would you consider a PM?” Back off bot, this don’t concern you.

---

<div class="post-metadata">

**Author:** ![LSLGuy](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lslguy/32/5813_2.png) [@LSLGuy](https://boards.straightdope.com/u/LSLGuy)\
**Post date:** [May 31, 2021, 2:51pm UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/33 "2021-05-31T14:51:48Z")

</div>

> [@Chronos](#):
>
> But strikethrough can’t be achieved either through “markdown” nor with square brackets; for that you need angle brackets.

~~strikethough~~ _is_ available via markdown.

The above is keystroked as ~~strikethough~~.

But your larger point stands intact. Discourse supports three mutually incompatible formatting systems with largely, but not entirely, overlapping feature sets. And very, very different design mindsets behind those three.

As a former IT guy / dev all this is just one more arbitrary memorizable quirk of a computer system. For the more normal / less geeky fraction of humanity … not so much.

There are legit new user experience / compatibility reasons to include each formatting system. But like a stew with way too many different spices, the overall effect is muddy.

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/codinghorror/32/4242_2.png) [@codinghorror](https://boards.straightdope.com/u/codinghorror)\
**Post date:** [June 1, 2021, 1:59am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/34 "2021-06-01T01:59:35Z")

</div>

One reason I remain so gung-ho about giving established (trusted, in the Discourse parlance) users the ability to edit topic titles and categories – **titles is the number one thing I see users get wrong**. The average user _loves_ terrible topic titles like

> I have problem

and

> A thing happened to me

Instead of, y’know, something … _anything_… more specific. One bright spot is that they do usually get the category right (as long as the site owner hasn’t gone crazy and created 20-100 categories to choose from). But **topic titles?** Too many people are _awful_ at titles. You can literally take the first sentence they typed into the topic and, ironically, about half the time that first sentence is a better title than the one they typed into the TITLE field. 🤦‍♂️

So, having TL3 users help out by tweaking and improving topic titles, as well as recategorizing topics into the proper big-picture category buckets, is a huge quality of life improvement for the overall community.

In order to reduce the pressure on categories, which is documented here …

> **[It’s Time We Talked About Tags](https://blog.discourse.org/2017/10/its-time-we-talked-about-tags/)**
>
> Consider the typical sections of a daily newspaper: Arts, Sports, Business, Travel, Local, and World. Any given article belongs to just one of those sections, and the content in each section is quite different, such that some people, for example, may...

… we are now enabling tagging by default in new Discourse installs, so we’re revisiting some of the usability around tagging, such as adding tag descriptions, and making sure the basic built in safety features, such as only letting high trust users create _new_ tags, are working well.

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/codinghorror/32/4242_2.png) [@codinghorror](https://boards.straightdope.com/u/codinghorror)\
**Post date:** [June 1, 2021, 2:00am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/35 "2021-06-01T02:00:45Z")

</div>

> [@LSLGuy](#):
>
> three mutually incompatible

This isn’t true. Markdown is _literally_ designed to work alongside HTML, and has been since inception. At best you could say “two” mutually incompatible, but the case that BBCode is “incompatible” with HTML isn’t a strong one.

---

<div class="post-metadata">

**Author:** ![LSLGuy](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lslguy/32/5813_2.png) [@LSLGuy](https://boards.straightdope.com/u/LSLGuy)\
**Post date:** [June 1, 2021, 2:32am UTC](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901/36 "2021-06-01T02:32:28Z")

</div>

Perhaps “unrelated” is a better term than incompatible. You can’t for example open an italic section with an asterisk and close it with an html angle-bracketed /u.

The three systems operate in parallel, largely unaware of the other two. At least at the user level. I’d hate to look at the amount of special casing that must go into your parser to render it all as vanilla html to the browser.

And, as noted above, the Venn diagram of their capabilities has a large region of 3-way overlap but also three large regions where just one of the three can perform a particular trick. So ultimately the user needs to master all 3 syntaxes and semantics and how the constructively and destructively interfere to be able to extract all the formatting performance available.

Please understand this isn’t a criticism of you or of Discourse’s design. This is simply a consequence of the dog’s breakfast that is HTML, and simlarly BBCode, and Markdown. All created by folks other than you and each highly popular within different segments of the messageboard user universe. The Web is a mess and this is a close example.

[Previous page](https://boards.straightdope.com/t/discourse-nannying-software-or-empowering-the-poster/942901.md?page=1)
