Bad habits from CS


  • Banned

    w/r/t read state, I am tending to agree that we need better and reliable visual feedback on a post when it is read vs. unread.

    Here are my current thoughts, we will likely be working on this next week.

    TL;DR a little blue dot next to unread posts that disappears when Discourse thinks you've viewed (read, modulo actual JS recorded read time) the post, like so:

    This way at least it would be more visually clear what Discourse thinks vs. what you think.



  • Could be too subtle, but that's hard to judge without a full implementation under normal usage.


  • BINNED

    Indeed, even after reading the explanation I had to look for the dot. But then again ... it shouldn't be popping out either. So I would go for this and see how it works. Idea and location seem to be right.



  • @Onyx said:

    Chrome 35 on Linux. No plugins that would mess with anything like that (Awesome Screenshot, ADP(deactivated for most sites, including here), TooManyTabs, KeePass integration plugin).

    If I get it again I'll try refreshing the front page first. It might be that the read state is fine but something gets cached for the front page. Are you caching rendered templates somewhere perhaps?

    I'm seeing the same bug in Chrome 35 on Windows 7. Maybe it's a Chrome compatibility issue?

    What I usually see is I read all of the posts in a topic, then go to the Category page, and see that the topic is flagged with a few new posts (something like 3). I go in, and see that the 3 "new" posts are ones that I just read in full.



  • @codinghorror said:

    TL;DR a little blue dot next to unread posts that disappears when Discourse thinks you've viewed (read, modulo actual JS recorded read time) the post, like so:

    This way at least it would be more visually clear what Discourse thinks vs. what you think.

    The only change I would make is allowing the user the ability to click on it to manually mark something as viewed/read, in case they disagree with Discourse. Otherwise, it seems like a pretty good idea.


  • Considered Harmful

    @abarker said:

    The only change I would make is allowing the user the ability to click on it to manually mark something as viewed/read, in case they disagree with Discourse. Otherwise, it seems like a pretty good idea.

    And mark it unread, in the case of TL;DR(BIITRIL)


    Filed under: Too long; didn't read (but I intend to read it later)



  • @error said:

    And mark it unread, in the case of TL;DLR(BIITRIL)


    Filed under: Too long; didn't read (but I intend to read it later)

    FTFY


  • Banned

    Ok, the read/unread indicator is deployed here. Look at the top right of each post for the blue dot. Blue means unread, same color we use for the unread counts.

    So now eat the dots like Pac-Man to read topics.

    (And hopefully this helps us diagnose any "I read this post but Discourse thinks I did not" conditions a bit better.)


  • Banned

    @abarker said:

    The only change I would make is allowing the user the ability to click on it to manually mark something as viewed/read

    It should be fast enough as it is, let me know if you still feel you need it clickable after using it for a bit.


  • BINNED

    I thought it was just me or that I fooled myself by switching between devices but I have this too (win7 chrome 35) but it is not just on the categories page. It is also to case with the suggested topics. I open a topic read from where I left until the end and jump to a different topic. Now in some cases the topic I just left will still show up as 'unread'



  • It's called the Home key. You should look at having that mouse surgically removed before it metastasizes.


  • Banned

    What are the new blue read/unread dots to the right of the date on each post telling you?


  • BINNED

    I'll be paying attention to those from now on.


  • BINNED

    There are no spoons. I mean dots.



  • Are the blue dots supposed to mean something? They don't follow any discernible pattern for me. If they're only on unread posts then they fail because I came here, read a bunch of new posts that didn't have blue dots, then read a bunch of new posts that did have blue dots.



  • The blue dots are not going away - I've scrolled up and down, clicked my notification icon, everything short of changing topic.


    After sitting:

    Still blue after replying...



  • @sam said:

    It should be fast enough as it is, let me know if you still feel you need it clickable after using it for a bit.

    Considering I just came back today and had to go through some posts I'd already read twice yesterday, I still think that it needs to be clickable.



  • I'm still seeing blue after reading the posts shown in this screen shot, as well as most of the ones below.

    Edit: And now some posts even further down are clearing. So there's just this block in the middle that won't clear. Lovely. 😒



  • Confirming, with a twist:

    2 posts with blue dots, then one without, and every other post in the topic (before and after) is read as well. The main list showed no unread posts, except when there was a new post to the topic.

    Scrolling up and down doesn't scrub them, I had to leave and re-enter the topic.



  • I think Discourse just folded in on itself with glitches. I read to the end of this topic, then noticed that I had a notification. I clicked the (1) next to the speech bubble, which gave me a blank page with never-ending "Loading" spinner:

    I then clicked the logo to go back to the main topic list. The topic list showed this topic with some unread posts:
    http://i.imgur.com/33upspU
    Clicking on that topic did absolutely nothing, so I went to a different topic with a new post. After reading that one, I tried the "Bad habits" topic (still with grey 8) from the Suggested Topics list, and it scrolled me to the middle of the topic I was currently reading.


  • Considered Harmful

    Discourse has shit itself on me a couple times but I just refreshed the page, since I'm old school like that.



  • @error said:

    I just refreshed the page, since I'm old school like that.

    That usually seems to work for me, too.



  • @error said:

    Discourse has shit itself on me a couple times but I just refreshed the page, since I'm old school like that.

    With Discourse declaring war on my browser's history, my company's firewall has had fun with it, so I have to refresh every fifth action.


  • Discourse touched me in a no-no place

    @chubertdev said:

    ...my company's firewall has had fun with it...

    Care to expand on this point?



  • I'm not sure exactly why it's happening (throttling, content filtering, etc), but a lot of times, new content won't load unless I completely refresh the page. It's a fault on our end, most likely, not yours.


  • Discourse touched me in a no-no place

    @chubertdev said:

    not yours.

    Lest you think otherwise, I'm just a glorified mod on here - I don't have anything to do with the back end or the programming of Discourse or the server it's running on... =-O

    I was just being nosey.



  • @PJH said:

    Lest you think otherwise, I'm just a glorified mod on here - I don't have anything to do with the back end or the programming of Discourse or the server it's running on... =-O

    I was just being nosey.

    You're a passenger in a car that you didn't build. If it crashes, you're definitely a stakeholder...


  • Considered Harmful

    @DrakeSmith said:

    The blue dots are not going away - I've scrolled up and down, clicked my notification icon, everything short of changing topic.

    Same. I scrolled past about eight posts that stayed blue.


  • :belt_onion:

    There doesn't appear to be any response from the developers on this, which is discouraging, but I do have to say having the blue dots is at least somewhat useful. Does confirm that I'm not crazy and some posts (usually in the middle of a topic) just aren't being marked read. And when I have incorrect unread notifications on a topic I can find which ones are unread and scroll through them again. Really slows me down, but I'm hoping the issue will be found and fixed at some point. I'd be happy to post a capture, JavaScript console dump, etc. of what's going on.

    I've also found this issue happens a lot, lot, lot more when I'm reading topics in new tabs. The topics that have been "sitting" on the tab since it was opened are usually the ones not being marked unread. Is this the case for you as well?



  • That sounds close to the answer. I frequently switch over to IRC while reading, and @codinghorror said it had something to do with focus tracking going wrong (it's supposed to stop counting read time if the browser is unfocused),


  • Considered Harmful

    @heterodox said:

    I've also found this issue happens a lot, lot, lot more when I'm reading topics in new tabs. The topics that have been "sitting" on the tab since it was opened are usually the ones not being marked unread. Is this the case for you as well?

    @riking said:

    That sounds close to the answer. I frequently switch over to IRC while reading, and @codinghorror said it had something to do with focus tracking going wrong (it's supposed to stop counting read time if the browser is unfocused),

    Huh, quite possibly. I just repro'd it by switching focus away from the browser and back again, now I cannot seem to get riking's post to be read.


    Filed under: Read, not blue!



  • I think this could be solved by making the blue dots clickable to indicate that you've read a post. If everything works as it should, the dots will disappear before you can do that, but if not and they're visible, you can manually dismiss them.


  • Considered Harmful

    @error said:

    Huh, quite possibly. I just repro'd it by switching focus away from the browser and back again, now I cannot seem to get riking's post to be read.

    Now that I've figured out how to make it happen, I'm using it deliberately to skim over a thread without marking it read.

    It's a feature!


  • :belt_onion:

    Yeah, I can re-create 100% of the time now with multiple topics open in tabs. When I notice the blue dots aren't going away I just refresh and it starts working again. Not horrible, but might not be hard to fix; will take a look at the code if I develop any free time in the near future.


  • Banned

    @hungrier said:

    I think this could be solved by making the blue dots clickable

    that would be cheating, I will change the focus tracking to use something less fragile

    btw, anyone able yo make this go false (run in chrome, click focus in and out)

    setInterval(function(){console.log(Discourse.get('hasFocus'))},1000)
    


  • @sam said:

    that would be cheating, I will change the focus tracking to use something less fragile

    How would it be cheating?

    Here's an earlier suggestion for the same feature (courtesy of your's truly):

    @abarker said:

    The only change I would make is allowing the user the ability to click on it to manually mark something as viewed/read, in case they disagree with Discourse. Otherwise, it seems like a pretty good idea.

    And here's a followup from @error:

    @error said:

    And mark it unread, in the case of TL;DR(BIITRIL)

    So far, you have 3 people (@hungrier, @error, and myself) speaking up, saying that they want those dots to be clickable in case Discourse shits itself, or if we want to mark a post unread. Now, based on my experience, it's likely that for every person who speaks up, there are 5-10 more remaining silent that would like the same change, or who don't care, but would take advantage of the feature if it were available. Since this is TDWTF, a fairly vocal group, I'll reduce that estimate to 3-7. That's still a total of 12 to 24 people. It shouldn't be that hard to make a little circle clickable, so what's with the reluctance?



  • @sam said:

    that would be cheating

    Oh right, it wouldn't be fair in the sport of users vs broken software.


  • Banned

    JESUS CHRIST, I just want to fix the bug properly, not introduce a hack and pretend the bug does not exist.

    Should I get the electric chair for that.


  • Discourse touched me in a no-no place

    @sam said:

    Should I get the electric chair for that.

    That's a kind of mobility scooter, yes?


  • Banned

    @abarker said:

    so what's with the reluctance?

    There is an underlying issue. The only reason you want it clickable is cause "Discourse shits itself" I want to fix the "Discourse shits itself" issue, not introduce workarounds. I want to get to the bottom of the issue.

    I have much more robust focus tracking code in the message bus, will switch to it, honestly the Discourse.hasFocus stuff has been fragile for a long while, much better and more robust APIs exist to solve the same problem.

    For context, see:

    VS.

    What looks more robust?


  • Banned

    @dkf said:

    That's a kind of mobility scooter, yes?

    On this topic, my dream is one day to own a clown bike for my commute from bed 10 meters down the hall to my office.



    1. start script (False)
    2. click on your post (True)
    3. click on other tab (Hidden, but false)
    4. click on other window (still false)
    5. hover mousewheel over tabs, and use scrollwheel to switch back to tab (False)
    6. keep reading (False)

    Note, #5 is something I do often.



  • @sam said:

    The only reason you want it clickable is cause "Discourse shits itself" I want to fix the "Discourse shits itself" issue, not introduce workarounds.

    Did you not read @error's reason? Here it is again:

    @error said:

    And mark it unread, in the case of TL;DR(BIITRIL)

    Filed under: Too long; didn't read (but I intend to read it later)

    When I initially asked for the icon to be clickable, I hadn't thought of that scenario, but after @error mentioned it, I happen to agree that it would be worthwhile. I think being able to mark a post as unread would be a good feature to have. So no, we aren't asking for it just to use when Discourse bugs out. We have a valid, non-buggy use case as well.


  • Banned

    Marking unread is a different problem though. We would need to add a glyph for "read posts" that is clickable in that case and that would make pages a more busy.



  • I think you might be over thinking it. Instead of making the blue circle fade away completely, you could fade it until it is just barely visible, or have it fade to gray. Either way, the page wouldn't be much busier than it is now. Also, it seems (based on various comments) that many of us participate primarily via desktops, and with the prevalence of wide screen monitors, that means a lot of empty space. You are already hiding some functionality on mobile platforms to minimize clutter there, so you could always do the same with this.

    Now there is something to consider about this (just to show that I've thought this through a little). If you were to add the ability to mark posts unread, you wouldn't want to automatically mark them read. Doing so would frustrate the user as they engaged in a read-state war with Discourse (read-unread-read-unread ... AGGGHH!!!). This means that the user would also need to be able to mark the post as read after they come back to that post. Now, I can see how that could complicate things on the code side. If that is your primary reason for not implementing the clickable feature at this time, I can understand that. I'm just trying to offer a relatively simple solution to what could be a cool feature.


  • Banned

    I think this also adds a bit of a workflow issue.

    We already have problem terminology around starring topics vs bookmarking posts (functionality I really want to merge). If we add a third way to "bookmark" called marking stuff unread stuff can get really confusing.

    If you just starred posts you wanted to get back to and then were able to see them in a tab on the front page it would make dealing with "I want to get back to this later" much easier.

    For my own workflow I am tempted to just add a "top level" liked tab and just use likes for everything.



  • That makes sense. I can see why you would want to keep the read indicator as a visual cue only based on that. I think that, with that in mind, the only thing that seems to be missing is an easy way to get back to a bookmarked post. There really should be some sort of UI for navigating to bookmarked posts. Honestly, without an easy way to see your bookmarked posts, it's easy to forget about that functionality.

    Any input from @error and @hungrier on this?


  • BINNED

    @abarker said:

    There really should be some sort of UI for navigating to bookmarked posts.

    @error, @hungrier, @sam:
    See here also.

    Update:
    Forgot my follow up post... with "mock up".



  • Is there any reason it can't both be fixed and have it be manually clickable, for when it inevitably in case the newly fixed system starts shitting itself again.

    As for bookmarks, the idea of having a dropdown next to the speech bubble icon at the top is a good one.



  • @hungrier said:

    Is there any reason it can't both be fixed and have it be manually clickable, for when it inevitably in case the newly fixed system starts shitting itself again.

    Well, for one, it's hard to advertise a feature starting with "When the system shits itself, you can...".


Log in to reply