Discourse and our reaction to it



  • This isn't a WTF, it's just harking back to the utter idiocy of Markdown and its "spec"-like thing. If Markdown had a spec, then a Ruby and JS implementation with exactly the same behaviour would be easy to do.

    In all seriousness, why doesn't Markdown have a real spec? I've been working on an (academic, you've never heard of it) programming language that uses whitespace delimiters, and every parser that I've seen that does layout-sensitive parsing uses Markdown as some kind of rite of passage, so there's a massive body of work there, and the semantics aren't that complex.


  • Considered Harmful

    @lushr said:

    The first is arbitrary jump to, using a GUI element. The obvious way to do this is by letting you type into the n/x post count box, as it's quite intuitive to click on a number and type the new value into it.

    Bonus points if I can type 20 or 20% and it knows the difference.



  • @error said:

    Bonus points if I can type 20 or 20% and it knows the difference.

    Inverse bonus points if I can type arbitrary mathematical expressions and it works.


  • BINNED

    @sam said:

    Cause implementing the same rendering logic in both Ruby and JavaScript is so not a WTF :)

    Depends I guess. On my current project I'm using mustache templates purely because both php and JS libraries are available. Most of the time template rendering is done client-side which means that you can just send all the actual data as JSON and cache the templates once they have been used, resulting in lower bandwidth usage.

    However, since we want to provide support for users with JS off, I have the mustache library installed server-side as well, meaning that if your request is not coming through AJAX I can still serve the fully rendered page if needed.

    I understand that I'm talking about templates here, not mark[down]up, but there might be valid use-cases where you want to have duplicate functionality. Edge case maybe, but still valid reasoning IMHO.


  • Banned

    Sure for something like mustache this can be fine, thing is, markdown is fiendishly complex to parse and horribly non standard.

    To add to that we support markdown extension points so you can do stuff like mentions and oneboxes.

    Once you pile all that up it can easily make a large amount of stuff to maintain.



  • That makes no sense, Jeff, and is a triumph of dogmatism over expected UX. "Implying that we do threading" is a pointless statement in the context of this point.

    Let's break it down;

    1. If a user types a response and hits Save / Reply, then of course, he has to see that response on screen
    2. If a user is 1/3 the way through a page then it is confusing for him to lose his place on that page

    So, when the user hits reply part way through reading a colossal page then they should be able to stay where they are, write the response, see the response, then carry on reading the page.

    To get all BlakeyRat for a moment, anything else is you just continuing to pile unexpected behaviour on top of the flawed idea of infinite scroll. I'm not even complaining about the infinite scroll here, because I doubt you will change it, simply trying to explain how it can be made more usable.


  • Banned

    As I have said many times before, if you reply to a discussion without reading the discussion, you may be repeating something someone already said, or addressing some point that was already covered. Or the discussion may have moved on altogether. And how would you even know, without reading the discussion?

    All of the above is a negative for anyone participating in the discussion in good faith. Why would we optimize for that? Why would we incentivize and reward that?

    If you reply early, you explicitly are saying "yep, I am putting my reply at the end of the topic" and taking you to the last post after you reply is the clearest, most direct way of showing that.

    Now, if the argument is that you want to participate in bad faith, or the premise of the community is entertainment over actual meaningful discussion, then that's what this "don't move to last post after posting" user preference we are adding is for.



  • @codinghorror said:

    if you reply to a discussion without reading the discussion, you may be repeating something someone already said, or addressing some point that was already covered.

    It's also very likely that you'll say the same things someone has already said before, and you're just inadvertently duplicating their argument. Unless you're doing it on purpose, but that never really happens.



  • @codinghorror said:

    Now, if the argument is that you want to participate in bad faith, or the premise of the community is entertainment over actual meaningful discussion, then that's what this "don't move to last post after posting" user preference we are adding is for.

    Welcome, new poster!



  • @codinghorror said:

    Can you share the exploits? We want to fix them.

    fix your own bugs, you lazy twat.


  • Banned

    @tufty said:

    fix your own bugs, you lazy twat.

    Wait, we have exploits, which we are totally unaware of and you are DEMANDING we fix them with the power of ... telepathy?

    Filed under: Deanna Troi



  • I'm not demanding anything, you are.

    As it happens, I've only bothered to validate (on my local install) one of the potential attack vectors I had. It wasn't rocket science, and appeared to be fairly widespread - a basic failure to correctly sanitise potentially hostile input.

    Will I tell you wht the issue was? No, and for a few reasons:

    1. I no longer have a copy of discourse installed locally, and I would thus have to do actual work to get you a repeatable exploit to work from.
    2. Guess what my attitude to "doing unpaid work to make your software marginally better^H^H^H^H^H^H^Hless shite" is, considering your attitude to users?
    3. Given that the underlying problem appears to be fairly endemic, focussing on one bug might well result in you failing to fix any of the others.
    4. Would you really like me to post a working exploit on a public forum?

    So rather than trying to fix issues with the ultramate powwer of crushing sarcasm, it might be worthwhile trying the following options, bearing in mind that I'm not some sort of 37337 h4xx0rz

    • Think about where you would attack the system if you wanted to break it. I went about it in a fairly obvious way.
    • Think about which parts of your system might be the least well tested
    • Remember that the client may well not be a browser.
    • Oh, and I'd strongly consider writing your unit tests from the assumption that things are broken.

    Filed under: You're the one being paid to write this shit, after all


  • Banned

    @tufty said:

    Would you really like me to post a working exploit on a public forum?

    You can always email me privately at sam.saffron@gmail.com or PM me here

    I have no idea what area of the system you want me to look at and have no idea what type of exploit you are talking about.

    We are quite clear with our approach to any security flaws: https://github.com/discourse/discourse/blob/master/docs/SECURITY.md we will resolve them in very short order and have a track record of solving them in short order.



  • So now you're telling me what to think, how to think, and how to read our information on the site?

    This isn't your site, you know - you may host it and write the code for it, but it's thedailywtf.com, not codinghorror.com, and how we choose to interact with it is up to us.
    We have already concluded that threads on this site see far more posts than you have seen in other discourse sites.

    YES - that is the way I read this forum, and any other forum. That also appears to be the way that most other people read it, given their comments. And none of us need to justify ourselves to you. Just because we don't conform to your idea of how a community should behave does not mean that we are wrong.

    Back to your point re "incentivizing and rewarding" - so your counter to that is that you are going to punish people for using the site this way, by hiding their posts? That's fucked.


  • Discourse touched me in a no-no place

    @tufty said:

    Would you really like me to post a working exploit on a public forum?

    If it leads to that exploit not being an exploit shortly after? Quite possibly, yes. Either that or the rest of us will have a lot of laughs.



  • @codinghorror said:

    As I have said many times before, if you reply to a discussion without reading the discussion, you may be repeating something someone already said, or addressing some point that was already covered. Or the discussion may have moved on altogether. And how would you even know, without reading the discussion?

    All of the above is a negative for anyone participating in the discussion in good faith. Why would we optimize for that? Why would we incentivize and reward that?

    You're new here, aren't you.



  • @codinghorror said:

    if you reply to a discussion without reading the discussion, you may be repeating something someone already said, or addressing some point that was already covered. Or the discussion may have moved on altogether.

    Yup, that's TDWTF. Any threadtopic that has more than 2 comments has done one or both of the above. And that's the way we like it.

    Filed under: [Uh huh. Uh huh.](uh huh)

    Edit: Except @blakeyrat. He rage-quits over topic drift.



  • Indeed. I've never seen so many topics in a single, err, topic as I see at the "old" CS-based TDWTF.

    And that is absolutely how we like it. Or did, until we ended up here.



  • I guess Blakey's really out, then. Not been seen for three days 😦

    This site sucks (the actual site, not the members!)



  • @skotl said:

    I guess Blakey's really out, then. Not been seen for three days
    Meh, he's rage-quit before for longer than that and come back as if nothing happened. It's also a holiday weekend in the US; he could be out enjoying the nice spring weather drizzle.

    Filed under: Drizzle is nice spring weather in WA.



  • @skotl said:

    how to read our information on the site?

    STUPID BOOKS! DICTATING HOW I SHOULD READ!


  • Discourse touched me in a no-no place

    @dhromed said:

    STUPID BOOKS! DICTATING HOW I SHOULD READ!

    That's what a shredder is for. (Well, that and being a foil for the Teenage Mutant Ninja Turtles.)



  • @abarker said:

    Obviously, your reading skills could use some work.

    His and everybody else's also.

    Fiddled Under: I said, he said, she read.



  • Hey apologies for hitting reply to your post, but I could not reach the bottom of the page to hit the "Add Reply" to article button.

    Now what was I going to say... Ah yes, I love the mini-game built into this discussion system, namely hitting those little hearts to score points! No to find where to view my score...


  • Discourse touched me in a no-no place

    @nobulate said:

    No to find where to view my score...

    43, at the time of writing:


  • Discourse touched me in a no-no place



  • I'm pretty sure you're supposed to grind this number...


  • Considered Harmful

    I'm going for highest ratio of likes received:posts.



  • Well aren't you a big brown bear.



  • From my recent collection of stats on meta.discourse.org and bbs.boingboing.net:

    Good luck with that.


  • Considered Harmful

    @riking said:

    From my recent collection of stats on meta.discourse.org and bbs.boingboing.net:

    Good luck with that.

    I meant on a forum that matters.



  • @codinghorror said:

    And all computer desktops should look like real world desktops because.. real world?

    As @mikeTheLiar said, "look at this monstrosity". Hey, it looks like a real physical desktop, just like the one we have in front of us. That's good.. right?

    Books are printed on pages because that's amenable to the mechanical processes of creating atoms with words on them.

    The point is to create something better in the world of bits than we have in the world of atoms.

    Do you enjoy reading heavily paginated articles on the web? Because all I read about web article pagination is mostly complaints:

    > Pagination is one of the worst design and usability sins on the Web, the kind of obvious no-no that should have gone out with blinky text, dancing cat animations, and autoplaying music. It shows constant, quiet contempt for people who should be any news site’s highest priority—folks who want to read articles all the way to the end.
    >
    > Pagination persists because splitting a single-page article into two pages can, in theory, yield twice as many opportunities to display ads—though in practice it doesn’t because lots of readers never bother to click past the first page. The practice has become so ubiquitous that it’s numbed many publications and readers into thinking that multipage design is how the Web has always been, and how it should be.

    People barely scroll, so you think that forcing them to find and click a tiny "next page" button is the right solution to get more people to actually listen to the whole conversation? How is adding more arbitrary barriers to reading a good idea?

    <img src="/uploads/default/193/18fea88c12053195.png" width="543" height="500">

    Or should conversations just be all talking and no listening? Does that make sense?

    Ars Technica posted an article about gun control with this sentence in it:

    > If you have read this far, please mention Bananas in your comment below. We're pretty sure 90% of the respondants to this story won't even read it first.

    Guess how many commenters included the word bananas in their comment? Guess which comment was the first to include the word?

    Reading conversations should be easy, as easy as possible, just scroll to the bottom and we'll load more. Like Jay Leno and Doritos: eat all you want, we'll make more.

    The design guideline is this: remove barriers from things you want people to do. We want people to read and listen as much as possible before talking. Therefore, we remove the next page button as it is a barrier to reading.



    I love deconstructing your arguments, because you have a point, you mention a bunch of unrelated stuff, and then say.... "so... there!".

    You do this on Meta too. Not to say this means I never agree with you.


    So let's start at the top.

    Pagination exists in books as superior to scrolls because scrolls don't have the ability to click to the middle or end. But you can thumb to a section of a book easily. The pages of a book are abstract and have no meaning.

    That's your real argument there. I don't want to divide by pages because they are abstract and have no meaning.
    Now I have something I can agree with. I'm a patient person, but many aren't. So favor #1.

    Then you bring up pagination on articles. It's a barrier to reading. I get that. But people complain about articles because articles are short. Vast majority of articles can exist on one page without losing reader interest. 500 post topic, won't just lose interest, it intimidates interest. How to fix that? Some people don't even notice the 2nd half of the article.
    Now, this isn't as strong of an argument, because forum savvy people will know about pagination. It's a feature.

    So, what problem do we really have. The ONLY difference between infinite scrolling and loading the whole thread is the slight pause as you scroll and the jumping scrollbar. You haven't really solved anything. You made loading a whole thread much worse by ambiguously confusing the scrollbar and throwing a subpar navigating solution in its place.

    What you need to ask yourself is, who the hell will ever read a 500 post thread?

    If the problem is readability, it won't be solved by scrolling.

    If you want to make something better, and you see readability as a problem, then you're going to have to get more creative. If you don't, I'm just going to assume, as always, you have a pet idea and won't let go. Pet ideas are bad for developers. They beg assumptions. Assumptions are bad. Why? Because assumptions don't address requirements, and don't solve problems.

    By the way. What's with all this bolding and line breaking? It's because now you have two ways of reading this post.

    1. You can read the whole post.
    2. You can read the bold parts and get the same idea in less time.

    Options are the real winners.

    As much as you think your ideas are great. People think differently. The way to address readability is to approach the problem with how people read. And it's different for each person.

    I've said this before. I'll say it again. The only thing linear about a thread discussion is the post timestamp. Everything else is hierarchical.

    I haven't worked it out yet, but if readability is the problem, there's a better solution out there, and it's not paging, and it's not infinite scrolling.

    The goal is to intuitively deliver the content that the user wants. Ideally is to do so without the user having to understand what they want. Realistically is to do so with the user specifying as little as possible.

    Word webs are a good way to visually organize information. And they work heirachically. I wonder if it's possible to rethink forums with a visual web approach.



  • @codinghorror said:

    As I have said many times before, if you reply to a discussion without reading the discussion, you may be repeating something someone already said, or addressing some point that was already covered. Or the discussion may have moved on altogether. And how would you even know, without reading the discussion?

    All of the above is a negative for anyone participating in the discussion in good faith. Why would we optimize for that? Why would we incentivize and reward that?

    If you reply early, you explicitly are saying "yep, I am putting my reply at the end of the topic" and taking you to the last post after you reply is the clearest, most direct way of showing that.

    Now, if the argument is that you want to participate in bad faith, or the premise of the community is entertainment over actual meaningful discussion, then that's what this "don't move to last post after posting" user preference we are adding is for.

    And there's no linear thread model that will solve that problem.

    The problem is that conversations are dispersed out, sometimes by pages (or in infinite scrolling terms, many moon of scrolling) of posts. Jumping to the last post only makes it harder to determine whether you've missed a reply.

    The only thing that will solve that is an intelligent post organization structure that can identify responses to conversations and deliver them to the user on demand before they post their answer.

    And.... stack overflow does that. Imagine that.

    1. Threads don't go on for 100s and 1000s of posts.
    2. They are atomic to statement -> response.
    3. Responses to responses are delegated to small comments because they aren't as strong to the topic.
    4. Continual discussion is pushed to chat.

    It's like you've discovered that traffic is slow because people are changing lanes too often to make it to the off/on ramps. So you're answer is to remove the ramps and give the highway only one entrance/exit and expect that'll force people to ride the whole highway.

    They won't. The first time they miss their exit, they'll just learn to stay on the feeder. And traffic will get worse.

    Infinite scrolling won't make lazy people read more to figure out if their reply has already been thought out. It's the software's problem to deliver on that.

    Atomizing the posting structure will, however, solve that problem.
    Pulling apart the giant 500 post topic into discussions where replies can be seen independent of the thread, in order.

    And before you say it. Recursive back-links through replies to the OP is not the answer either. That doesn't organize anything.



  • I think, after thousands of posts, I finally got it.

    It's not that Discourse is bad software. It's rough, has a lot of unpolished edges, but that's not the problem.

    It's that @codinghorror designs Discourse based on his idea of discussion, instead of having the software adapt to different discussion environment. And TDWTF is clearly an example of a community for which Discourse is an ill fit.

    And I don't think it's a good idea for forum software developers to get engaged into the form of content created with it. It's like having Clippy say:

    "Hi, it looks like you're writing some hate mail! Let me replace the expletives with polite words, because hate mail is bad!"

    It would work just as well.



  • @Maciejasjmj said:

    It's that @codinghorror designs Discourse based on his idea of discussion, instead of having the software adapt to different discussion environment.

    Exactly.
    @error said:

    Agree, but that's Discourse's mission statement.

    The goal of the company we formed, Civilized Discourse Construction Kit, Inc., is exactly that – to raise the standard of civilized discourse on the Internet through seeding it with better discussion software:

    Discourse is explicitly designed to encourage, if not actually impose, @codinghorror's vision of "civilized" discourse on the Internet.



  • @HardwareGeek said:

    Discourse is explicitly designed to encourage, if not actually impose, @codinghorror's vision of "civilized" discourse on the Internet.

    And he decided to try it out here, of all places?


  • Considered Harmful

    @Maciejasjmj said:

    And he decided to try it out here, of all places?

    Cross-post to The Bad Ideas Thread?


  • ♿ (Parody)

    @Maciejasjmj said:

    And he decided to try it out here, of all places?

    Well, @apapadimoulis did. As far as simply talking to each other, I don't think it's so bad. There are some UI issues, several of which have been addressed.

    We never actually stopped ragging on CS and I'm sure there's no forum software out there that would not have drawn similar reactions from the TDWTOCD. I can understand being irritated when your workflow is changed. I was, too. Now people are just becoming whiny bitches or pile on trolls.


  • Discourse touched me in a no-no place

    It's also getting quite a bit better. In particular, the responsiveness seems to be improving, and that helps a lot. “It's just performance” but it makes the page feel much more like it is all there.

    And the ❤ button is so good. Gets rid of a whole bunch of stupid valueless +1/me2 comments that infest most internet fora. (It's a sewer out there!)


  • Considered Harmful

    @dkf said:

    Gets rid of a whole bunch of stupid valueless +1/me2 comments that infest most internet fora

    This.


  • Discourse touched me in a no-no place

    @error said:

    @dkf said:
    Gets rid of a whole bunch of stupid valueless +1/me2 comments that infest most internet fora

    This.

    +1.



  • @PJH said:

    error said:

    dkf said:
    Gets rid of a whole bunch of stupid valueless +1/me2 comments that infest most internet fora
    This.

    +1.

    -1


  • Considered Harmful

    @skotl said:

    @PJH said:
    @error said:
    Gets rid of a whole bunch of stupid valueless +1/me2 comments that infest most internet fora

    +1.

    -1

    n00bs can't nest quotes.


    Filed under: Or Triforce



  • @error said:

    Or Triforce


    ▲ ▲

    Hey, it works! at least in the preview window

    @boomzilla said:

    Now people are just becoming whiny bitches or pile on trolls.

    Sure, there's a lot of inconstructive whining, but there's some constructive whining too. And I didn't mind CS that much. It was fittingly outdated and broken, but still worked okay-ish enough.


  • ♿ (Parody)

    @Maciejasjmj said:

    but there's some constructive whining too.

    Definitely. And we're seeing actual changes as a result. But NO MOAR INFINIT3 SCROLZ!111ELEVENTY is not constructive. If that's really a deal breaker, either put some effort into figuring out how to implement it as a plugin or GTFO.

    I'll cut the front page people some slack, since they're late to the party. A lot of the things the whiners are saying were concerns I shared, at first, and some are definitely legitimate, if not the world ending tragedies they're made out to be. But I started using Discourse, figured out which settings I liked, and I'm pretty happy overall.


  • Discourse touched me in a no-no place

    @boomzilla said:

    But I started using Discourse, figured out which settings I liked, and I'm pretty happy overall.

    For me, the only really annoying bug right now is how when a mod splits a topic the new topic isn't picking up my preferences for how new topics are to be treated (I want to Track everything, but one of the topics after splitting seems to end up being back as Normal; I hate Normal but thought I didn't have to be putting up with it with the right preferences setting, but this is a place where normality seeps through the seams because the new topic isn't New type new).

    It makes me wonder what bits are properly in the datamodel and what are bodged on top in the Ruby layer. (Reminds me of some of our production RoR apps; “flaky when not used in quite the way the dev envisaged” seems to be the Ruby way…)


  • ♿ (Parody)

    @dkf said:

    For me, the only really annoying bug right now is how when a mod splits a topic the new topic isn't picking up my preferences for how new topics are to be treated

    Yeah, that bit is kind of rocky, and I think @sam was talking about some fixes that could be done. TRWTF is that the threads were chopped because they're using them as bug / feature trackers. I like my tickets to be clean, too, but I'd never consider something as unfit for that purpose as Discourse.

    Thread derailments are part of the culture here.


  • Discourse touched me in a no-no place

    @boomzilla said:

    Thread derailments are part of the culture here.

    It's not a thread if it is on Rails.



  • @error said:

    n00bs can't nest quotes.

    Hey - I joined same day as you

    I just chose not to nest quotes. It's a lifestyle choice...


  • ♿ (Parody)

    @skotl said:

    @error said:
    n00bs can't nest quotes.

    It's a lifestyle choice...

    Pervert.


Log in to reply