# Improving Discourse interface

**URL:** <https://discourse.julialang.org/t/improving-discourse-interface/3559>\
**Category:** Meta Discussion\
**Created:** [May 6, 2017, 4:25pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559 "2017-05-06T16:25:10Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![wavexx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wavexx/32/2197_2.png) [@wavexx](https://discourse.julialang.org/u/wavexx)\
**Post date:** [May 6, 2017, 4:25pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/1 "2017-05-06T16:25:10Z")

</div>

I generally refrain from this sort of comments, but “discourse” has truly an horrible UI for me.  
Crappy search, combined with the worst “compose/reply” panel I’ve seen in a while. It’s hilarious how stuff keeps popping up in the preview panel. And those badges I cannot remove? Not to mention, on my slow/flaky GPRS connection, everything keeps timing out. The message that I’ve successfully posted keeps reappearing because it probably failed to sync in the background once.

This combined with the worst mailing list “interface” I’ve ever seen. The text part of the generate message looks like a joke. And I guess I need to get a certain “karma” to be able to use it, as currently I’m not allowed to post through it anyway.

I wasn’t a fan of google groups, but at least I could follow the mailing list normally, and through gmane as well. I consider this a _big_ advantage for developers. Discourse completely kills this functionality.

I’m not happy about the transition.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)\
**Post date:** [May 6, 2017, 4:31pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/2 "2017-05-06T16:31:28Z")

</div>

I get that this is frustrating, and the Discourse defaults are not very good. But there is considerable room to address these issues: I’ve recently set up an instance for a different community, and after a few tweaks, we made it usable for a large group of email-only users. Squeaky wheel gets grease, and I think to a large extent no one has really complained about these issues here so far, thus available tweaks were not made.

(Would you mind to edit the title and post to be a bit more issue-oriented? I think a slightly different tone/title is less likely to be derailed)

---

<div class="post-metadata">

**Author:** ![pint](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pint/32/125_2.png) [@pint](https://discourse.julialang.org/u/pint)\
**Post date:** [May 6, 2017, 4:51pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/3 "2017-05-06T16:51:33Z")

</div>

if anyone summons up some willingness to configure, it would be also nice if i did not have to adjust Privacy Badger for this site to work. the offending domain is **[discourse-cdn-sjc1.com](http://discourse-cdn-sjc1.com/business5)**

---

<div class="post-metadata">

**Author:** ![wavexx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wavexx/32/2197_2.png) [@wavexx](https://discourse.julialang.org/u/wavexx)\
**Post date:** [May 6, 2017, 5:11pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/4 "2017-05-06T17:11:46Z")

</div>

Done. If there is something I could put as a priority on, is to make the mailing list interface work decently:

- There is a post: [https://discourse.julialang.org/t/discourse-as-a-mailing-list](https://discourse.julialang.org/t/discourse-as-a-mailing-list) about using discourse as a mailing list, but this text should be in the FAQ page really.
- I shouldn’t have to post through the web site and get approval in order to be able to use the mailing list mode. I had to subscribe already.
- Quoted text in the text-part of the mailing list is not quoted with ‘\>’. It’s just the same markdown you see the source text. This breaks mail reply (turns out that editing replied chunks in the web interface is not any better).

I really wonder how well this would work in practice, discourse doesn’t really seem to be geared towards a mail-only interface.

Some other issues in the web UI:

- “Merit badges” are really off-putting for me.
- When posting a new thread, could we use a full-page editor? I’m writing a reasoned issue that takes multiple paragraps to explain, and I’m getting less than 1/3 of the screen space to do it. The preview on the right is nice, but stuff keeps popping up in it. It’s also generating a lot of traffic in the background somehow, because it’s lagging a lot when I’m writing from a slow connection (background save and searching for related posts, I guess).

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)\
**Post date:** [May 7, 2017, 4:19am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/5 "2017-05-07T04:19:33Z")

</div>

Ok, someone else with admin rights here will have to make any potential changes but I’ll put my $.02 in.

> [@wavexx](#):
>
> I shouldn’t have to post through the web site and get approval in order to be able to use the mailing list mode. I had to subscribe already.

@vchuravy here’s what I’ve tweaked for the site I run:

- `email in`: enabled

- `email in min trust`: 0 (should address the issue above. I still have `approve new topics unless trust level` at TL1 – TL0 email-in post will be moderated just like any other TL0 post. but they won’t be bounced)

- `email posts context`: 1 (cuts down on the noise, more like a normal mailing list)

- The other big change was to edit the email templates for the most common email types (posted, replied, etc.) and remove the `%{header_instructions}` part of the template. This eliminates the icons and other over-stylized junk above and below the email content, and made the biggest difference in making emails readable (they are now emails with content, rather than forum notifications).

> [@wavexx](#):
>
> Quoted text in the text-part of the mailing list is not quoted with ‘\>’. It’s just the same markdown you see the source text. This breaks mail reply

I think ultimately the issue here is that Discourse _only_ supports top-posting, so you couldn’t intersperse responses even if they were prefixed. (I don’t think that’s likely to change, either)

> [@wavexx](#):
>
> (turns out that editing replied chunks in the web interface is not any better)

(hmm, not sure I follow this. quotes in the web UI are demarcated in `[quote ...] [/quote]` blocks when generated by the UI “quote” button)

> [@wavexx](#):
>
> “Merit badges” are really off-putting for me.

I think this one’s probably going to have to be a punt. (No one takes these seriously 😄 This is literally the first mention of badges in the context of Discourse itself!)

> [@wavexx](#):
>
> When posting a new thread, could we use a full-page editor?

I don’t believe there is any setting to change this. You can adjust the size of the reply area (drag the parallel bars), and hide the preview pane (`<< hide preview`). If I had to guess, I would speculate the idea is to encourage both relative brevity and increased engagement.

> [@wavexx](#):
>
> It’s also generating a lot of traffic in the background somehow

It would be nice to disable the “similar topic” suggestion at the user-level, but since that’s not possible, I think we have to weigh this against the disadvantage of more duplicate posting if suggestions were globally disabled.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)\
**Post date:** [May 7, 2017, 4:23am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/6 "2017-05-07T04:23:06Z")

</div>

This was supposed to have been fixed fairly recently (Is your PB up to date? Though I’m not sure what/how/when a change like this would propagate…):

> <https://github.com/EFForg/privacybadger/issues/1121>
>
> This is a follow-on to https://github.com/EFForg/privacybadgerfirefox-legacy/iss…ues/490
> 
> We've just got another report of problems: https://twitter.com/flobin/status/816726049748910080
> 
> I cannot reproduce this issue myself: Privacy Badger considers \`cdn-enterprise.discourse.org\` to be quite well behaved on my system.
> 
> The CDN being blocked (\`cdn-enterprise.discourse.org\`) sets no cookies and does not modify local storage. The site that reports the problems is https://discourse.mcneel.com; other sites that also use that same CDN domain include https://bbs.boingboing.net/, https://twittercommunity.com/, and https://forums.docker.com/, all of which are working fine for me.
> 
> I'd really appreciate some indication of what Privacy Badger is considering to be inappropriate about \`cdn-enterprise.discourse.org\`'s behaviour, so we can fix it.

ref this extensive thread:

> **[Discourse CDNs are blocked by privacy badger](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127)**
>
> Any reason why I’m getting a blank page here on meta for most things other than error pages, like, /latest, /top, /badges, any any categories? If I start a new browser session and sign in again, everything’s back to normal.

---

<div class="post-metadata">

**Author:** ![pint](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pint/32/125_2.png) [@pint](https://discourse.julialang.org/u/pint)\
**Post date:** [May 7, 2017, 7:49am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/7 "2017-05-07T07:49:12Z")

</div>

yep, apparently it was fixed. updates to the browser plugin are automatic, and the site is now recognized as harmless. i didn’t notice though, because i had to use manual override, and that stays even if the problem goes away.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [May 7, 2017, 9:09am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/8 "2017-05-07T09:09:34Z")

</div>

Had the same problem with Privacy Badger on this forum, but ended up disabling that browser plugin since it uses very crude heuristics and breaks many sites, so it is effectively useless, like a test with 50% false positive rate.

---

<div class="post-metadata">

**Author:** ![pint](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pint/32/125_2.png) [@pint](https://discourse.julialang.org/u/pint)\
**Post date:** [May 7, 2017, 12:23pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/9 "2017-05-07T12:23:40Z")

</div>

for me, it never broke a single well known website, except discourse. it breaks a lot of obscure or local sites, but this is often because they do track you very aggressively, so it is OK. and with the manual override, you can make every site work if you really need to.

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [May 8, 2017, 1:12am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/10 "2017-05-08T01:12:04Z")

</div>

Thanks for the feedback and I will see how I can use Isaiah information to hopefully make the mailing-list mode more useful.

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [May 8, 2017, 1:23am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/11 "2017-05-08T01:23:20Z")

</div>

I apply the changes @ihnorton suggested and I hope the improves the usefulness of the mailing list mode.

> [@wavexx](#):
>
> When posting a new thread, could we use a full-page editor? I’m writing a reasoned issue that takes

There is a little “bar” in the middle of the editor that you can pull up and down to change the size of the reply window.

An different avenue for giving direct feedback to the discourse developers themselves is [meta.discourse.org](http://meta.discourse.org) and I had reasonable success reporting issues there and getting them fixed over time.

---

<div class="post-metadata">

**Author:** ![Ralph\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ralph_smith/32/10344_2.png) [@Ralph\_Smith](https://discourse.julialang.org/u/Ralph_Smith)\
**Post date:** [May 8, 2017, 2:19am UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/12 "2017-05-08T02:19:25Z")

</div>

> [@wavexx](#):
>
> When posting a new thread, could we use a full-page editor?

If you use _Firefox_, there is an extension called “It’s all text” which spawns one’s editor of choice for filling in web forms (developed [here](https://github.com/docwhat/itsalltext)). One can save periodically to let the app render the preview frame. I am using it for this reply as a test. It’s a little more work to coordinate the markup, but I’m guessing that won’t bother you. Future versions are supposed to work in other browsers.

---

<div class="post-metadata">

**Author:** ![wavexx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wavexx/32/2197_2.png) [@wavexx](https://discourse.julialang.org/u/wavexx)\
**Post date:** [May 8, 2017, 3:04pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/13 "2017-05-08T15:04:50Z")

</div>

> I think ultimately the issue here is that Discourse _only_ supports  
> top-posting, so you couldn’t intersperse responses even if they were  
> prefixed. (I don’t think that’s likely to change, either)

Testing.

> > [@wavexx](#):
> >
> > (turns out that editing replied chunks in the web interface is not any better)
> 
> (hmm, not sure I follow this. quotes in the web UI are demarcated in  
> `[quote ...] [/quote]` blocks when generated by the UI “quote” button)

So how are you doing this? Selecting manually each chunk individually  
and clicking “quote”?

---

<div class="post-metadata">

**Author:** ![wavexx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wavexx/32/2197_2.png) [@wavexx](https://discourse.julialang.org/u/wavexx)\
**Post date:** [May 8, 2017, 3:17pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/14 "2017-05-08T15:17:08Z")

</div>

> I think ultimately the issue here is that Discourse _only_ supports  
> top-posting, so you couldn’t intersperse responses even if they were  
> prefixed. (I don’t think that’s likely to change, either)

Looks like it works as it should. Maybe there’s actually a way to omit  
those [quote] tags in the text part and generate a simple quotation  
symbol?

> I think this one’s probably going to have to be a punt. (No one takes  
> these seriously 😄 This is literally the first mention of badges  
> in the context of Discourse itself!)

I mean, it’s not just an appointment to discourse, but it just feels  
cheap in a programming context.

> I don’t believe there is any setting to change this. You can adjust  
> the size of the reply area (drag the parallel bars), and hide the  
> preview pane (`<< hide preview`). If I had to guess, I would speculate  
> the idea is to encourage both relative brevity and increased  
> engagement.

Posting seems to work decently through mail, so I’m not going to  
complain on the web interface too much if I can bypass it :/.

---

<div class="post-metadata">

**Author:** ![wavexx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wavexx/32/2197_2.png) [@wavexx](https://discourse.julialang.org/u/wavexx)\
**Post date:** [May 8, 2017, 3:23pm UTC](https://discourse.julialang.org/t/improving-discourse-interface/3559/15 "2017-05-08T15:23:20Z")

</div>

I’m fully aware of itsalltext. I’m personally using withExEditor.

Still, discourse is replacing my favorite mail/editor that works offline  
with a random web interface. This is pretty high bar to set, and the  
main reason I’m a bit upset we lost the simplicity of a traditional  
mailing list.
