What I miss here coming from users.rust-lang.org

Firstly I think having a discourse is great. It’s certainly more more welcoming than a mailing list.

I have spent some time on https://users.rust-lang.org/ and I am missing my two favorite categories here:

  • announcements - where anybody can announce news about projects they’re working on
  • code review - where people can ask for / give code reviews

I really like having dedicated categories for those two because it helps surface such posts for people that are interested in them. Yes I know that discourse has tags but I don’t think they would do the job as well, I think categories do a better job of promoting announcements / code reviews.

You might say there are already 12 categories here … that’s enough. And I’d have to agree. Which brings me to the last thing I prefer about the Rust forum structure, there are actually two forums:
https://users.rust-lang.org/ and https://internals.rust-lang.org/.

I think having two forums: one targeted at users in general and one for contributors/developers makes sense because most Python users aren’t involved in the development of Python. On that note I do really like having an ideas category, and I think if this forum were to be split it should stay in the users half to make it easier for users to get involved.

What do you think about this?

4 Likes

I think having a users vs internals forum separation would be really nice. It wouldn’t map cleanly to how this discourse is handled, and it certainly would be incompatible with some of the organisational structures of Python; but… It would be a better experience for the end users since they’ll have a clearer location to go to.

Right now, this is basically equivalent to Rust’s internals forum with a users category tacked on to it. It’s a worthwhile idea to consider splitting things, especially if folks are interested in having a better user community story. OTOH, I’m fairly certain that it’s valid to say “why do it, if it’s not directly valuable and other non-python.org channels exist”. :slight_smile:

I’m not sure that there’s sufficient moderation capacity to moderate dedicated code review or announcements channels. Equally importantly, the sheer number and diversity of Python’s use cases means that those channels will be mostly noise for any particular individual while each post would still being relevant to a substantial number of other people.

2 Likes

Thanks for your nice reply :slight_smile:

why do it, if it’s not directly valuable and other non-python.org channels exist

Well looking at python.org/community and python.org/community/forums there currently exist the following:

  • the mailing lists – which I find less user-friendly than discourse
  • a slack and a discord server – which I find strictly inferior to an open forum because they cannot be read without an account and their content is not indexed by search engines
  • the IRC channels – which cannot be compared to a forum because the discussions aren’t structured (I am pretty sure only very few people read IRC logs afterwards)
  • python-forum.io – uses MyBB, which I find less user-friendly than Discourse
  • r/python and r/learnpython on Reddit – I have privacy concerns when it comes to reddit and reddit is notorious for using dark design patterns (like vehemently pushing mobile users to install its app that does more tracking)

And then there is this forum here, where general users are limited to a single category among all of the internal categories, which as a user just doesn’t feel very welcoming.

So I don’t find any of the existing forums for Python users as welcoming as:

which is why I think an official discourse forum for Python users would be a valuable addition.

Python’s communication tools were pretty mature long before Rust came along. As an old-timer (started using Python in 1994), I personally don’t like forums (not just Discourse) and much prefer mailing lists. They allow me to selectively filter, sort and search messages from multiple sources into my chosen boxes. To each their own I guess.

That said, there are users and dev forums on Discourse for Python. (There are other lower-level development-related forums as well.) There is a python-announce-list mailing list as well. Given its low volume (a few messages a week), it seems unlikely that leaving it as a mailing list instead of a discussion forum would be that much of a burden.

At this point, my problem is that I simply don’t know where to post topics. It’s not like the mailing lists have really been supplanted by the forums. You guess, post a message, then wait for replies. If you don’t see any responses after a day or two, you guessed wrong and start over on the other channel. :frowning:

2 Likes

Meanwhile, as a 20-something year old, who is younger than Python, I find it a major hassle to keep up with mailing lists and also find it much easier to interact with forums – specifically Discourse – which has well-defined notification semantics and other behaviours that just-fit what I expect interacting with modern websites to be like. :slight_smile:

5 Likes

As someone in the same position, I agree with that completely. While I used to be a big email fan, I’ve pretty strongly come around to liking the Discourse approach. In addition to the detailed and precise notification behaviors, the other rich features of the UI are much nicer and more functional than plain-text email, with intelligent quoting, syntax highlighting, details collapsing, inline linking, remembering where I was at in a thread, etc. Sure, each thing on its own is little, but they all add up to a much better experience for me.

Furthermore, while it used to not be the case, in some ways I like having to visit separate sites for separate communities rather than having everything go through one inbox, as it helps keep me more organized and keeps things in separate, dedicated spaces (and so I don’t have to stare at everything in my inbox). And of course, Discourse still has pretty decent email support, though I know some folks on here have not been entirely happy with it in some respects.

Pradyun Gedam said:

“Meanwhile, as a 20-something year old, who is younger than Python, I find it a major hassle to keep up with mailing lists and also find it much easier to interact with forums”

Can you explain your workflow please? I find web forums to be a much bigger hassle.

Email is a push technology. I get up in the morning, and new emails are already in my inbox, ready for me to interact with. All through the day, my inbox automatically updates as messages come in. It is zero thought and zero effort.

Web forums are a pull technology. I have to individually go to each forum, either sequentially or in parallel using different tabs of my browser. Often times, I have to remember to refresh the pages to see new content.

I have at least six Python related forums which I interact with (not necessarily regularly), excluding mailing lists, only one of which makes it easy to interact by email. (Discuss is not it.)

Part of the success of Twitter and (I presume) Facebook is that they took the old web pull model (“here are the 20 different websites I like to read, if I remember to go to them”) and turned them into a push model (“so long as I go to Twitter, all the content I want will be pushed into my timeline”).

If I use multiple browsers (and I do) I have to keep the accounts sync’ed, which is hard to do without entrusting my personal details to untrustworthy foreign corporations who do not have my best interests at heart. (If they are free, I am not even their customer. I am their product.)

Then there are the websites that manage to combine the worst of both worlds, by sending you a notification by email into your inbox, telling you to log into their website to read their message, without any hint or clue whether this is a high-priority message you need to deal with immediately or something you don’t care about at all. Government and banks are especially awful there.

So as far as I am concerned, web forums are a step backwards. Full of mayonnaise and froth like user icons, and manipulative game-based UIs (upvotes, badges) designed to maximize engagement.

I will give Discuss credit for one thing. At least its not Hyperkitty.

It gets worse… I mostly mess around with vintage bikes (of the pedal, not motor, variety) these days. If I subscribe to an interesting thread. I will be notified of replies. In theory. In practice, if I fail to click through to the forum website (even if I’m not interested in that particular message), several replies could be posted without notification before the system deigns to send me another notification.

I haven’t used discuss.python.org enough to know if it suffers from this flaw. I will note that it suffers from top posting though.

I had toyed with the idea of bringing up a unification of the mailing list with discourse, but wanted to wait for some more experience of LLVM having undergone just such a move (including the import of historic mailing list posts). It’s still a bit early to tell, but my impression is that it’s a substantial improvement and worth the hassle.

While I’m not a regular on the cpython repo, I’m quite active in other ways in the broader ecosystem, and I much prefer Discourse as well. I find the mailing list hard to navigate, new messages are hard to find in longer threads, (if you’re not already subscribed to all of python-dev), quotes are frequently broken/unreadable, etc.

Discourse isn’t perfect, but having the option to set notifications (e.g. each comment delivered per email) per topic or category is a huge improvement, to say nothing of the much better UI (e.g. quotes, search, reactions, etc.)

3 Likes

I don’t use email notifications for Discourse because in my experience they offered very little[1] except an email that (in effect) suggested I should go and visit the site. Which, given that I read a lot of the content here, is not exactly useful, nor is it news to me… These days, I just open up the website multiple times a day, and don’t have notifications switched on at all.

That’s odd, because I don’t see much evidence of that. The “Quote” feature makes inline quoting simple enough to avoid most cases of top-posting. Maybe you’re seeing it from people who interact with Discourse via email?

My biggest complaint about Discourse (and I’ve mentioned this before, sorry for sounding like a stuck record) compared to email is that there’s no “mark as unread” feature, meaning that I have to allocate time whenever I open the website, because I might unknowingly open a large posting. If I don’t have time to read it there and then, the notification disappears, and I have no way of getting a reminder that I didn’t finish reading it. (Yes, there’s the “bookmark” option, but that has very different semantics than “mark this as unread”).


  1. Note that I don’t use the features that let me interact via email - email replies to posts, etc. I like the editing experience on the website. I’m talking purely about notifications here. ↩︎

I noticed that as well. I have no idea how most people reply to posts, but my vague impression is that most of the time replies are to the entire message, hence believe they aren’t using the quote feature.

I think Windows (or Outlook) spoiled most people to prefer top posting. At my last job I got chided for selectively quoting what I was replying to and not including the entire chain of messages trailing off into oblivion in my responses.

I interact entirely via SMTP, using the mutt mail client I rely on
for countless mailing lists of other open source projects I’m
involved in. I’ve given up trying to do quoting in my replies here
because Discourse seems to want some sort of markup quote tag which
embeds information on the comment number and username which aren’t
apparent from the “mailing list mode” messages I receive (maybe
they’re embedded in some of the message headers?).

When I do trimmed quotes with inline replies like I’m used to with
traditional mailing lists, Discourse seems to just erase anything
were I put in bracketed ellipsis to indicate I’ve removed content.
Perhaps it thinks I’m trying to add markup, I really don’t know, but
it does seem to underscore that it’s a Web forum with
mailing-list-like features very loosely bolted onto the side. I’m
not really replying by E-mail so much as I’m posting comments via an
SMTP-based forum API.

(Related, I normally PGP/MIME sign my messages to public mailing
lists, but that seems to cause Discourse to freak the heck out so I
have to consciously remember to send unsigned messages here.)

That’s my impression of the email capability, as well.

I interact entirely via SMTP, using the mutt mail client I rely on
for countless mailing lists of other open source projects I’m
involved in.

Same!

I’ve given up trying to do quoting in my replies here
because Discourse seems to want some sort of markup quote tag which
embeds information on the comment number and username which aren’t
apparent from the “mailing list mode” messages I receive (maybe
they’re embedded in some of the message headers?).

Dunno. I mostly treat this like regular email. I do notice that the
indented code in the quoted part loses its indentation. I might try
inserting 4 leading spaces inside the quote, since that’s what I do for
the “code” parts of my own text anyway.

Anyway, I find the email-from-discourse approach works pretty well for
me, well enough that I almost never visit the web interface.

As for some other repliers here, when i open my aptop in the morning,
all the discourse email is in my “python” folder with the other python
lists, suitably labelled. My “main inbox” is not cluttered with mailing
lists.

Cheers,
Cameron Simpson cs@cskk.id.au

1 Like

On the quotes issue, at least as far as I can recall, your email-sent replies (including yours just now) display quotes just fine, presumably as you intend, as well as overall looking about as nicely formatted as the average message composed from the web interface. In fact, I’ve even seen indented quotes preserved as well in your previous messages, so it seems it does work.

I can’t say the same for every other Discourse-via-email user, though (but things seem to have improved on that front lately, perhaps due to better client-side configuration on their end).

[…]

your email-sent replies (including yours just now) display quotes
just fine, presumably as you intend, as well as overall looking
about as nicely formatted as the average message composed from the
web interface. In fact, I’ve even seen indented quotes preserved
as well in your previous messages, so it seems it does work.
[…]

Generally when replying, if I’m trimming or eliding some of the
quoted material I indicate that by putting ellipses within square
brackets. The copies of my posts which Discourse sends back to me
seem to be missing any of the lines I quoted. I’ve done that just
now, for example. It seems like that might be the culprit, if
Discourse is thinking that’s some other kind of markup.

Also, quotes I see in messages from people replying with the Web
forum editor seem to include some sort of quote markup which
mentions the author et cetera, while the E-mail reply from Cameron
quoting my earlier message is missing any attribution information.

Generally when replying, if I’m trimming or eliding some of the
quoted material I indicate that by putting ellipses within square
brackets. The copies of my posts which Discourse sends back to me
seem to be missing any of the lines I quoted. I’ve done that just
now, for example. It seems like that might be the culprit, if
Discourse is thinking that’s some other kind of markup.

Looks like it worked that time, so I’m baffled as to what has at
times caused quoted material to be stripped.

Also, quotes I see in messages from people replying with the Web
forum editor seem to include some sort of quote markup which
mentions the author et cetera, while the E-mail reply from Cameron
quoting my earlier message is missing any attribution information.

And yes, the copy I received of my own message is also missing quote
attribution. I suspect Discourse simply isn’t smart enough to track
the message IDs from the In-Reply-To headers and map them back to
the mailing list mode messages it’s sent in order to assemble its
own comment number linking.

Hmm, well I can’t speak to what you see, but your quotes look just fine to me here on the web, including the [...].

Yeah, this is because when selecting text and clicking the quote button that pops up, it inserts it as a BBcode quote which includes the relevant author and post information, which displays the author name and icon, allows expanding the full post and jumping back to it with just a click. You could theoretically do the same thing via entering that manually in email, but that’s a lot of work for modest gain. Otherwise, markdown/email > quotes display the same as BBcode ones.

My guess would be that based on the position and formatting, Discourse may have thought it was part of the quoted reply chain below the email, which would be redundant to include in the displayed post itself (which it seems to do a very good job of eliminating, as I’ve basically never seen it when it wasn’t intended, but that might be at the cost of some false positives in specific situations.

Yeah, that’s not really possible because there’s nothing in standard MIME email format that reliably ties back any given quote to a particular message; its doing that on the web because when authors click the quote popup after selecting text, it knows what message is selected and injects the appropriate BBcode. Trying to infer that from the reply levels and text via heuristics rather than using the literal formatting entered would likely be pretty unreliable and could be a bit too “oversmart” such that may guess wrong sometimes.

Also, quotes I see in messages from people replying with the Web
forum editor seem to include some sort of quote markup which
mentions the author et cetera, while the E-mail reply from Cameron
quoting my earlier message is missing any attribution information.

Aye. And when I sent it it looked like this:

On 17Mar2022 12:56, fungi via Discussions on Python.org 
>I interact entirely via SMTP, using the mutt mail client I rely on
>for countless mailing lists of other open source projects I'm
>involved in.

Same!

This message also attributes to you. Maybe there’s a way to mangle it to
survive Discourse. Let’s see:

@fungi wrote:

And yes, the copy I received of my own message is also missing quote
attribution. I suspect Discourse simply isn’t smart enough to track
the message IDs from the In-Reply-To headers and map them back to
the mailing list mode messages it’s sent in order to assemble its
own comment number linking.

What is hyper annoying about that back in 202, it did have those
smarts. Look at this from December 2020:

01Dec2020 21:57 Daniele Nicolod N │   ┌>                                                discuss-packaging 7.0K
02Dec2020 09:37 Paul Moore via  N │   │┌>                                               discuss-packaging  16K
02Dec2020 08:08 Filipe Laíns vi N │   ├>                                                discuss-packaging  11K
01Dec2020 19:23 Paul Moore via  N │  ┌>                                                 discuss-packaging 8.7K
01Dec2020 19:54 Pradyun Gedam v N │  ├>                                                 discuss-packaging 5.9K
01Dec2020 18:40 Tzu-ping Chung  N │ ┌>                                                  discuss-packaging 6.4K
01Dec2020 10:40 Filipe Laíns vi N │┌>                                                   discuss-packaging  13K
01Dec2020 10:21 Paul Moore via  N ├>                                                    discuss-packaging 8.6K
01Dec2020 12:19 Filipe Laíns vi N │┌>                                                   discuss-packaging 7.4K
01Dec2020 10:45 Pradyun Gedam v N ├>                                                    discuss-packaging 5.3K
01Dec2020 10:08 Bernat Gabor vi N ├>                                                    discuss-packaging 6.2K
01Dec2020 09:49 Filipe Laíns vi N [Py] [Packaging] PEP 517 workflow for distributions   discuss-packaging  18K

I don’t see that any more. I have no idea why.

Cheers,
Cameron Simpson cs@cskk.id.au