Some proposed Discourse improvements for TDWTF


  • Discourse touched me in a no-no place

    @anonymous234 said:

    that sausage thing looks great.

    That's what she said.


  • Banned

    @HardwareGeek said:

    Now it won't let me quote an image from your post; I have to past the URL in manually, and it's not oneboxing it; I have to wrap in an img tag.

    Right now quoting is 100% plain text, no formatting.

    @fatbull said:

    How am I supposed to know the number of the post I want to jump to? Guess? Memorize?

    If it's a post you've read before, presumably you'd remember who wrote it, or some words in it. I guess the analogy is you remember someone's name before their SSN, or the name of a book versus its UPC code.

    @HardwareGeek said:

    I'd like to see an online/offline indication and location

    I do think we need a location field on user profiles. As for online/offline, I'd rather show a statistical average of when a person is historically most likely to post. Past actions are the best prediction of future actions.. We did this on Stack Exchange chat by showing a graph of frequency of posts by week and day time for a given person.



  • @codinghorror said:

    Right now quoting is 100% plain text, no formatting.

    My point was that it wouldn't even quote the image URL as text, there was nothing there at all. I had to go right-click the image, copy URL, paste into the quoted text, then add the img tag around it. I would not have been surprised at needing to do the last step; I was surprised at needing to do the first 3.



  • @codinghorror said:

    I'd rather show a statistical average of when a person is historically most likely to post.

    I have no idea how to interpret those histograms. Are you sure you want to throw this kind of advanced data at regular users?


  • ♿ (Parody)

    @codinghorror said:

    Right now quoting is 100% plain text, no formatting.

    I think we've figured that out. The question is, "Why?" Isn't it more work to strip that stuff out? I guess it simplifies edge cases where someone only wants to quote from the middle of some marked up text, but...is that the reason or is there more to it?


    Filed Under: Chesterton's Gate, I'm willing to hear the why before the WTF



  • @codinghorror said:

    If it's a post you've read before, presumably you'd remember who wrote it, or some words in it.

    ... or its approximate location ("somewhere on the previous page").

    You know, infinite scrolling isn't so bad after all, but having read some (long) threads/topics, I now feel a bit lost. After a while, every post looks the same and I don't know if I'm near the beginning, end, or somewhere in the middle. My sense of locality (or whatever you may call it) is more or less gone.

    What I really need is a big "You are here!" sign.

    That tiny progress bar at the bottom isn't really helping (too small, peripheral location, even hidden sometimes, indistinguishable background color) and the browser scrollbar is misleading (e.g., it shows a position near the end although I'm actually somewhere in the middle of a topic).

    Perhaps you could show the post number just below the avatar, preferably in an extra large font? Let's see if that helps.


    Filed under: Odometry


  • Considered Harmful

    @fatbull said:

    You know, infinite scrolling isn't so bad after all, but having read some (long) threads/topics, I now feel a bit lost. After a while, every post looks the same and I don't know if I'm near the beginning, end, or somewhere in the middle. My sense of locality (or whatever you may call it) is more or less gone.

    Agree, and if I want to quickly scan up or down (to say, peek at how much actual text [opposed to number of posts] is left) I'm left waiting for the AJAX requests.



  • @error said:

    Agree, and if I want to quickly scan up or down (to say, peek at how much actual text [opposed to number of posts] is left) I'm left waiting for the AJAX requests.

    On this topic, this page would be 8 posts long right now, so the scrollbar wouldn't be of much help. Pagination doesn't fix the problem (unless the entire topic is on one page), but neither does infinite scrolling (unless all the post heights are precomputed and placeholders are used for currently-not-loaded posts).


  • Considered Harmful

    @ben_lubar said:

    (unless all the post heights are precomputed and placeholders are used for currently-not-loaded posts).

    Yes, this would be wonderful if not nearly impossible.

    Feature request: World peace
    Expected behavior: Everybody loves their neighbor
    Actual behavior: People are killing each other and scrolling forever



  • For the record, placeholders ARE used for posts that you scrolled past and are no longer visible, but they are not used for posts that have never been rendered in the current view of the topic.



  • Why not?

    Pick a reasonable default height (e.g., 10em) and add placeholders for all other posts before and after the current view. When a post is rendered for the first time, adjust the layout as necessary. When a post is unloaded, keep a placeholder with the same height.

    Of course that's not 100% accurate, but it is certainly feasible, and probably less confusing than the current behavior.



  • @boomzilla said:

    I think we've figured that out. The question is, "Why?" Isn't it more work to strip that stuff out? I guess it simplifies edge cases where someone only wants to quote from the middle of some marked up text, but...is that the reason or is there more to it?

    When you select text in a post, you select HTML, not Markdown. So even if you could get the HTML fragment which was selected (I’m not even sure if it is possible, I think you can only get the text contents), you need to translate the <aside class="quote" data-post="52" … you get into a [quote=…].
    I don’t think any other forum software manage to do it correctly. But they usually have the option to quote an entire post, giving you the correct format.



  • @VinDuv said:

    I don’t think any other forum software manage to do it correctly. But they usually have the option to quote an entire post, giving you the correct format.

    CS doesn't seem to have any problems at all.



  • If I’m not mistaken, CS does not let you quote text directly from the topic page, but only from the reply page. And on the reply page the BBCode is not interpreted ([quote] tags are visible, at least), so when you click Quote it “just” has to take the selected text and HTML tags and put them in the reply form.

    Still, that’s impressive for 2007-era forum software.
    Anyway, since CS seem to be able to get back HTML from selection, maybe DC could use this trick to get back the selected text’s formatting ? (maybe with some HTML comments in the text to indicate where formatting is used…)

    [This is an attempt to reply by mail, I’m not sure what I will get]


  • Discourse touched me in a no-no place

    @ender said:

    CS doesn't seem to have any problems at all.

    Thanks for the coughing fit…


  • ♿ (Parody)

    @VinDuv said:

    When you select text in a post, you select HTML, not Markdown. So even if you could get the HTML fragment which was selected (I’m not even sure if it is possible, I think you can only get the text contents), you need to translate the <aside class="quote" data-post="52" … you get into a [quote=…].I don’t think any other forum software manage to do it correctly. But they usually have the option to quote an entire post, giving you the correct format.

    As ender said, CS manages this, which is why everyone noticed here that you lose tons of stuff when you quote. I'm not an html/js guy, and I've never looked at how it was done on CS, but it seems like you could bake in some metadata into the html to clue you in on the appropriate markdown, or at least transfer the html.



  • Actually, it seems to me that you could try pulling the quoted content out of the raw.

    The raw is available: http://what.thedailywtf.com/raw/365/66
    To get that link:

    1. click share link — http://what.thedailywtf.com/t/some-proposed-discourse-improvements-for-tdwtf/365/66?u=riking
    2. delete from t to tdwtf/http://what.thedailywtf.com//365/66?u=riking
    3. add 'raw' — http://what.thedailywtf.com/raw/365/66?u=riking
    4. done

    This would break for quoting embedded posts, though, as happens on bbs.



  • @codinghorror said:

    a "don't take me to my new post after posting" user preference

    Related proposal: Make the "last read post" counter more resilient.

    Observed behavior:

    if (last read post < currently visible post)
        last read post = currently visible post
    

    Proposed behavior:

    if (last read post + 1 == currently visible post)
        last read post = currently visible post
    

    Rationale:

    Sometimes you unintentinally lose track of your current position by:

    • Following a permalink to an unread post.
    • Searching within a topic and jumping to an unread post.
    • Accidentally pressing End instead of Home.
    • (But occasinally I do want to take a peek at the end of a thread, then continue where I left off.)
    • Replying before having read every single post. (People actually do that? Civilization is doomed! 😨 But seriously, old habits die hard.)

    With this change, your read counter advances only if you read posts sequentially; "random reads" are ignored. Also useful in this regard: An explicit link to the "first unread post" and a button to "mark the whole topic read".


  • Banned

    @fatbull said:

    An explicit link to the "first unread post"

    Every link to the topic in the topic list, is already this. Use the dates of first and last post as permalinks to first and last respectively.

    @fatbull said:

    a button to "mark the whole topic read".

    Exists on the unread tab, at the bottom.

    In general I feel most of the other points would be addressed by better, more explicit pop up nav when clicking the topic progress bar. Downside is, interactions with it become two clicks/taps instead of one, but the upsides are more options for nav and more explicit nav, which I think outweigh the additional click.


  • Discourse touched me in a no-no place

    @codinghorror said:

    Downside is, interactions with it become two clicks/taps instead of one

    Clicking/tapping twice isn't a big problem if you're usually clicking/tapping in almost the same spot both times. Having to hunt all over the screen in the normal case would be a worse UX.


  • Banned

    The preference to not jump to your new post after replying is now live, give it a shot in your user preferences.



  • @codinghorror said:

    Every link to the topic in the topic list, is already this.

    By "explicit" I meant a link on the topic page itself (in its nav popup).

    @codinghorror said:

    Exists on the unread tab, at the bottom.

    That's a "mark forum unread" button, not a "mark topic unread" button. (Yes, I realize moving to the end of a topic currently has that effect, but that's exactly what I want to change.)

    @codinghorror said:

    In general I feel most of the other points would be addressed by better, more explicit pop up nav when clicking the topic progress bar.

    Feel? Most? Fine. Let me elaborate:

    • Alice is a (new) forum user and just started reading Discourse and our reaction to it.
    • After post 53 she decides to take a break and goes to lunch.
    • In the meantime, Bob shares a link to post 210.
    • Alice follows the link and likes the post.
    • The next day, Alice wants to continue reading that topic, so she clicks on its link on the topic list.
    • The forum software helpfully redirects her to post 211.
    • Alice realizes that's not where she left off yesterday.
    • Unfortunately, she cannot even vaguely remember the post's number, what it was about, or who wrote it because it was not particularly sexy/hilarious.
    • But she knows that it was an earlier post, so she scrolls up. And up. And up. And dies a slow, agonizing death. Poor Alice.

    Most of the time, Alice really wants to read topics from top to bottom, so the forum should actively support that and redirect her to post 54, not the middle of nowhere. A magical link in a popup isn't going to fix that.

    FWIW, what I suggest might even be a small change to a single line of code. It may nevertheless turn out to be a bad idea, but we're not going to find out just by searching our feelings. I'm too busy/lazy to set up a dev env right now, and I already spent far too much time browsing the code, but maybe someone else is willing to give it a try?


  • Banned

    @fatbull said:

    That's a "mark forum unread" button, not a "mark topic unread" button. (Yes, I realize moving to the end of a topic currently has that effect, but that's exactly what I want to change.)

    Sounds like an interesting idea for a keyboard shortcut possibly, I think its a power user feature.

    I follow about the request for dealing with "reading holes"

    We do track exactly which posts your read and which not, so technically this is not too complicated, but, it makes marking mega topics "read" much more tedious... what may be a blessing for one use case can become a curse for another. In the past when we tried this we tended to really dislike it, that said maybe we can make a user pref here. Then you can be the judge.



  • You plan on making keyboard shortcuts more discoverable first, though, right? Possibly through a menu button at the top, right? Because more options that aren't readily discoverable is EXACTLY what Discourse needs.

    All kidding aside, is it really that difficult to add a menu option to explain keyboard shortcuts? You were able to rewrite Discourse to redirect the FAQ link to our FAQ Wopic (That's a portmanteau of Wiki and Topic) so why can't/won't an item for keyboard shortcuts be added?



  • @rad131304 said:

    keyboard shortcuts more discoverable

    Maybe a toaster could fly in from the top (some form of theoretical "anti-toaster", I'm sure the boys in the lab are close to this breakthrough) and list out a few common shortcuts? The first time the user presses an unsupported key, like home, end or backspace.


  • Considered Harmful

    @subscript_error said:

    an unsupported key, like home, end or backspace.

    😆


  • Banned

    Question mark is a really standard convention for this. Humor me. Try pressing ? on Twitter, GitHub, Gmail, etc..


  • ♿ (Parody)

    Apparently so, but I think we've proven that a lot of people have no clue that it's there. I can't understand why you wouldn't have a help sort of page. But then, you have a FAQ that has no questions, so...



  • I don't use any of those websites, well except Gmail for our work email and I'm always having to ask coworkers how to do basic things like bold text or reply-all because Google, in their infinite wisdom, has removed a lot of discoverability from Gmail. Put Outlook or (yes, I know, TRWTF) Yahoo Mail in front of me and I actually get stuff done.



  • Until I used Discourse I'd never heard this. Just because other people are stupid and choose not to help their users discover how to use their interface doesn't mean you have to be stupid follow their stupid example, too.

    You're already thinking outside the box and trying to make forums better, why not help the users move to this interface?


    Filed Under: Yes I'm calling you stupid


  • Banned

    I did add this to the FAQ, personally I think deciding whether you want the link there or not should be up to @apapadimoulis and site admins.

    Don't really want to put it there by default quite yet.



  • @sam said:

    I follow about the request for dealing with "reading holes"

    We do track exactly which posts your read and which not, so technically this is not too complicated, but, it makes marking mega topics "read" much more tedious...

    Is that really necessary? Wouldn't a simple counter be sufficient?

    Let's call it an "automatic bookmark":

    • Initially, when a user visits a topic for the first time, bookmark the first post.
    • When the user reads the bookmarked post, move the bookmark to the next post.
    • When the user reads any other post, do nothing.
    • Going to the "first unread post" takes the user straight to the bookmarked post.
    • Marking a topic as "read" simply moves the bookmark to the end of the topic.

    Seems straightforward. Am I missing something?

    (I assumed last_read_post_number was more or less already doing this. That's why I wanted to change it.)



  • Just because lots of places use it doesn't make it discoverable. I had no idea it existed in any of those places either. Hotkeys on websites (as distinct from hotkeys defined by user agents) is a new concept to a lot of people - me included - and I think having a hotkey as the only way to discover the existence of hotkeys is more than a little foolish.



  • @sam said:

    Don't really want to put it there by default quite yet.

    Yeah, that would be getting a little too close to making life easier for your thousands of other potential users who are even less technical than a forum full of developers. The vast majority of people aren't going to mash buttons on their keyboard in the vain hope of discovering something that they have no reason to believe exists.

    If a feature is undiscoverable to the point where we don't figure it out, I shudder to think how the unwashed masses would do. I'm confused as to who this product is for. This indicates it's for developers:

    A lot of your other signalling indicates it's for average people and that the features developers want don't mesh with that vision. All told, you've got a very confused product which has a lot of blingy hidden features that most people will never discover. The fact that the keyboard hotkey used to display the hidden list of keyboard hotkeys is only ever displayed in the hidden list of keyboard hotkeys is just the icing on a very smelly cake.

    I'm trying to like Discourse. There are things I like about Discourse. I've even put in a good word here and there when the nitpicks got a bit out of control. Two things that I do not and will never support are:

    1. Hidden UI elements that only appear when you mouse over them (particularly ones that navigate you away from the current page when clicked), and
    2. Undiscoverable user interfaces with useful functionality hidden behind obscure keystrokes or UI controls.

    I really like what you've done with the like/flag/share/bookmark UI, but the Reply as New Topic and hotkey experiences leave a lot to be desired.

    I also think the directions Google are going with that hideous new Gmail interface and their ongoing move to increase redundant mouse clicks to achieve anything useful with the YouTube player are stupid, but this isn't the thread for that.


  • Banned

    @dfcowell said:

    Yeah, that would be getting a little too close to making life easier for your thousands of other potential users

    There is a big reason

    The feature is unfinished and unpolished, I don't want to advertise the experimental feature.

    There is precedent for including the shortcut link in the hamburger, twitter do it and I think we should follow the lead. I just don't want to follow it before I am comfortable using the keyboard shortcuts myself.

    It came from the community as an unfinished and unfortunately broken feature. I have started cleaning stuff up this week, but it will take a bit.

    I want to get rid of gravatar ghostery first.


  • Banned

    The issue is that it "forces" users to read entire topics. Only way to allow for this feature would be to provide another super intuitive way to mark a topic read.



  • @dfcowell said:

    The vast majority of people aren't going to mash buttons on their keyboard in the vain hope of discovering something that they have no reason to believe exists.

    That reminds me: I need to make a keyboard shortcut where if you type ⚗ it opens Dwarf Fortress.



  • @sam said:

    The issue is that it "forces" users to read entire topics. Only way to allow for this feature would be to provide another super intuitive way to mark a topic read.

    How about a button labeled "mark this topic read" that does this:

    @fatbull said:

    Marking a topic as "read" simply moves the bookmark to the end of the topic.


  • Banned

    @ben_lubar said:

    How about a button labeled "mark this topic read" that does this:

    How do you get to it? Do you display it everywhere?



  • @sam said:

    The feature is unfinished and unpolished, I don't want to advertise the experimental feature.

    There is precedent for including the shortcut link in the hamburger, twitter do it and I think we should follow the lead. I just don't want to follow it before I am comfortable using the keyboard shortcuts myself.

    Ah, I thought it was more of a locked-in and currently-being-worked-on feature, given the number of threads I seem to stumble into where "adding a hotkey combination for that" seems to be on the agenda.

    I also read your comment as more a "not sure if there's demand enough for a menu item, we'll wait and see" comment rather than a "feature is still in an unfinished state, we'll put it in eventually but now isn't the time" comment. That one was my mistake - thanks for the clarification.

    RE: comfortable using the keyboard shortcuts - if the people who arguably spend longer with the software than anyone else are finding they need to become accustomed to it, consider how a mere end user with no commitment to the product will find the experience.


  • Banned

    @dfcowell said:

    consider how a mere end user with no commitment to the product will find the experience

    I totally understand this, but keep in mind.

    I use twitter/google all the time and for whatever reason don't seem to use the keyboard shortcuts, I need to retrain myself to work with them. Same goes for @codinghorror he just never uses keyboard shortcuts.

    I don't have any data to back this, but my gut says that keyboard shortcuts is a feature a very small subset of Discourse users really care for. Though, for many of this subset, working shortcuts is paramount to having a reasonable experience. For example people with RSI.



  • @sam said:

    keyboard shortcuts is a feature a very small subset of Discourse users really care for.

    I could make a backhanded comment about pagination and infinite scrolling here, but I won't. ;)

    To borrow your set theory for a moment: the subset of Discourse users who care about useful feature X which you implement via keyboard shortcut may eclipse the subset of Discourse users who care for keyboard shortcuts. By implementing feature X as a keyboard shortcut you're constraining the audience of that feature to the audience of keyboard shortcut users, an audience that at the moment doesn't include @sam, @codinghorror and @dfcowell at the very least. That concerns me, considering that the keyboard shortcut audience is not likely to grow any time soon.

    To be clear, my concern isn't necessarily the discoverability of keyboard shortcuts. My concern is for the discoverability of functionality which is only exposed via keyboard shortcuts. As an example, the very first post in this thread states:

    @codinghorror said:

    a keyboard shortcut to jump to arbitrary post numbers (or "pages", whatever we define that to mean) in a topic

    I'd kinda like that ability too, but I'm a non-keyboard-shortcut-using pleb. Am I out in the cold here? If so, is this setting a dangerous precedent, or is it a special case? I've just seen a number of places where "we could use a keyboard shortcut to implement that" and my gut reaction is "great, another useful feature I'll never use."


  • Considered Harmful

    @dfcowell said:

    keyboard shortcuts is a feature a very small subset of Discourse users really care for.

    I could make a backhanded comment about pagination and infinite scrolling here, but I won't.

    Well, to be fair, the pagination is a feature more than half of users want, not exactly a "very small subset."



  • @sam said:

    How do you get to it? Do you display it everywhere?



  • @codinghorror said:

    Question mark is a really standard convention for this. Humor me. Try pressing ? on Twitter, GitHub, Gmail, etc..

    First time I've heard of this, and I use quite a few of these sites.


  • BINNED

    @codinghorror said:

    Question mark is a really standard convention for this. Humor me. Try pressing <kbd>?</kbd> on Twitter, GitHub, Gmail, etc..

    This made me fire up Gmail and press ?. Oh my it is! Been using Gmail wrong all these years.
    Oh no, I mean: never knew that before, maybe because I can use Gmail without knowing the keyboard shortcuts or maybe because there is also a help menu option in Gmail ? My oh my and if I search for 'keyboard shortcuts' it gives me the same info. Actually it doesn't because Google pretends to be smarter and gives me 'sneltoetsen' or the Dutch answer to my English question. Thank you Google!
    Bottom line is: if I ever wanted to know the keyboard shortcuts in Gmail I would have found them ...
    I agree that keyboard shortcuts are a thing for power users but a '?' button pointing to some info containing those shortcuts and other help stuff isn't a far fetched feature in my opinion.



  • @codinghorror said:

    Question mark is a really standard convention for this. Humor me. Try pressing ? on Twitter, GitHub, Gmail, etc..

    I know other people have replied to this comment (see, I read the thread like Jeff instructed - do I get a badge?) but this just sums up the arrogant patronising nature of the devs. Why should we have to humour you? We (who we have already agreed are power users) have no idea that this feature exists on the majority of websites, therefore its discovery is shit.

    Have you considered hiring a UX consultancy? I'm guessing not, as you're not a big fan of people disagreeing with your preset, immovable opinion.



  • [quote post="90"]I also read your comment as more a "not sure if there's demand enough for a menu item, we'll wait and see" comment rather than a "feature is still in an unfinished state, we'll put it in eventually but now isn't the time" comment. That one was my mistake - thanks for the clarification.[/quote]
    This. Given your reaction to some of the other feature requests, it seemed much more of a "this is our design aesthetic" position than a "this feature is possibly broken so use with care" feature.

    My concern is that some functionality is only going to be exposed through these shortcuts and if they aren't discoverable then they are next to useless so there's probably no point wasting developer time on it.



  • On a related note, quoting on Firefox mobile for Android is impossible AFAICT.


  • Discourse touched me in a no-no place

    @rad131304 said:

    My concern is that some functionality is only going to be exposed through these shortcuts and if they aren't discoverable then they are next to useless so there's probably no point wasting developer time on it.

    There's never a problem with having multiple routes to the same functionality; it's virtually always a good thing (provided they're discoverable, which is why menus usually have listed keyboard shortcuts beside them in classic GUI apps). The exception is for things purely in the view for dealing with a particular mode of use, such as the functionality of some buttons in the UI to change their look depending on whether the mouse is over them; some of the stuff in keyboard shortcuts is like that too.

    But the keyboard stuff isn't fully baked yet? OK, we'll wait before turning the full force of our attention on it. There's always the infiniscrolling… 😉


Log in to reply