Progress bar doesn't show correct number of bottom-most post


  • sockdevs

    I think the screenshot says it all... it says I'm on 6 of 27... when post 6 isn't even on the screen. Chrome 36, by way of scrolling by scrollwheel back up to see the poll since I couldn't believe F_N_F wasn't in the poll.



  • There may be, like, 1 row of pixels of the top of post 6 at the bottom of your screen. Or maybe not. I don't think Discurse does a perfect job of figuring out where the actual limits of the viewport are. I often see that the little blue "unread" dot has already disappeared by the time I have scrolled the post onto the screen.

    Hmm, I just had a thought. I wonder if this might be related to the change that loads post N part-way down the screen instead of at the very top...


  • sockdevs

    Now I look at it again, the grey divider bar between posts 5 and 6 is visible, which suggests that it might be using the physical top of post 6 as being visible to trigger that, which seems wrong since none of the actual content is visible.


  • Banned

    It's tricky cause we then need to draw the line at the midpoint of the bar thing being inside the bottom post, we can do it not against it, but we are really talking pixels here.


  • sockdevs

    That's the thing - there's at least another 30 pixels between the bottom of where that was on my screen and the start of actual content... that seems quite a bit off to me since I saw nothing of the post, not even the user's name.

    I get where you're coming from but I think the position does need to be adjusted for tracking the current post's position.



  • @sam said:

    It's tricky cause we then need to draw the line at the midpoint of the bar thing being inside the bottom post, we can do it not against it, but we are really talking pixels here.

    ISTM that a post should be "read" when it is completely visible, not before. If I haven't even seen the bottom of the post (never mind when I haven't even seen the top), then I haven't really read the post.

    Plus, I completely failed to parse your sentence. TDEMSYR.


  • Banned

    In a nutshell, this is the problem

    When should we show 6 of 6?

    1. When the widget is entirely in the post 6 vertical region
    2. When the widget is 50% in the post 6 vertical region
    3. When the widget just reaches post 6 region

    All of these answers are arguably correct.


  • sockdevs

    I'd argue when you actually see some of the content of post 6...



  • Even if it's whitespace, it's part of a post.



  • @sam said:

    When should we show 6 of 6?

    My bad. It's way past the time I should have left work, and my tired brain conflated this with marking a post read, which also happens before the post is fully visible.

    I would say, at least, the author's name and avatar should be visible (which typically means the first line of content is also visible).

    @chubertdev said:

    Even if it's whitespace, it's part of a post.
    It's part of the post, but margin and padding are not part of the content.



  • @HardwareGeek said:

    It's part of the post, but margin and padding are not part of the content.

    Then I hope that you're content that it keeps track of the posts. :grin:


  • Discourse touched me in a no-no place

    Given that you're making entering a thread by URL put the post not at the top (but rather 25% down?) you should require a post to have progressed at least that far onto the screen to be counted, using the principle of “minimise the number of magic numbers you use”.


  • sockdevs

    Wadsworth strikes again.



  • Wadsworth is 30%.



  • @sam said:

    When should we show 6 of 6?

    Another answer:

    When post N is 100% visible OR, when post N > screen height, when post N is at 50% height of the screen

    The 50% is debatable.



  • This post is deleted!


  • @sam said:

    When should we show 6 of 6?

    1. When the widget is entirely in the post 6 vertical region
    2. When the widget is 50% in the post 6 vertical region
    3. When the widget just reaches post 6 region

    All of these answers are arguably correct.


    Point 3) is the programmer's point of view - post 6 hast technically reached the viewpoint, so we are in post 6. The user might see things differently.

    I personally would go for "when the user is reading post 6", with the definition of "is reading" meaning if the posts's top line has higher than 3/4 of the viewport (assuming there are more posts after post 6).


  • Discourse touched me in a no-no place

    @faoileag said:

    I personally would go for "when the user is reading post 6", with the definition of "is reading" meaning if the posts's top line has higher than 3/4 of the viewport (assuming there are more posts after post 6).

    I'm not sure your definition of “is reading” is quite right, but at the very least ought to include exposure of at least 1cm of the content area of the post. Indicating that the post is read when only a sliver of the post metadata (name, post-time, etc.) is exposed is clearly not right.



  • @dkf said:

    I'm not sure your definition of “is reading” is quite right, but at the very least ought to include exposure of at least 1cm of the content area of the post.

    Good point. @sam: make that "if the post's content top line has reached higher than 3/4 of the viewport"



  • @dkf said:

    1cm

    I'm on a monitor! Your centimeters mean nothing here!



  • @dhromed said:

    I'm on a monitor! Your centimeters mean nothing here!

    Put the monitor backside down on a wooden table. Place ruler or tape measure on top of monitor. Take mobile phone. Make picture...



  • Why don't you just show post numbers for each post? There's enough free space below the avatars. Then it's obvious which posts are visible and the progress bar doesn't have to be "smart" any more.



    1. No, there is not.

  • mod

    Some people scroll a page of posts onto the screen, read them all from top to bottom, then scroll another page. Often by using the "Page Up" and "Page Down" buttons. I suspect that's how @codinghorror reads, since that's what the widget seems to be based off: when your eyes reach the bottom of the screen, the widget is conveniently right there to tell you "You just finished post 6"

    Other people, like me, keep their eyes in the center of the page, scrolling each post into that region to read it, and only look down when they reach the end of a thread and they can't scroll anymore. I never noticed the widget was there until people complained about it, I rarely look at it, and I never noticed the number was "wrong" because the number is meaningless to me because I so rarely look at it.

    This is why usability and eye-tracking studies are crucial when designing a new interface.



  • @Yamikuronue said:

    usability and [...] studies

    Are foreign concepts to a lot of FOSS.


    Filed under: [Actually, to a lot of software in general](#tag2)

  • mod

    They're foreign to most corporations too. I've never seen one of them even referenced since I left school. But a tester can dream~



  • @Yamikuronue said:

    They're foreign to most corporations too.

    That's really what I meant by my tag, but yes, corporations aren't great at it either (though some are seemingly more likely to do both, sometimes the results make you think they threw out the results).

    @Yamikuronue said:

    never seen one of them even referenced since I left school

    I never saw either of those referenced in school, and from what I hear, plenty of schools also don't bother trying to teach about other things that should be high on the list, like documentation and source control. Most I remember is, they'll teach you languages and higher level concepts in those languages (like linked lists and b-trees in C++, which I "will never use", because I work in C#/VB.NET).


  • Banned

    @dkf said:

    at least 1cm of the content area

    93.2mm I would argue.


  • mod

    I did a taught master's degree, so my definition of "in school" might be broader than average. My undergrad certainly didn't bother going into most of that, though we did have a course on assembly and "computer organization" (of which I vaguely remember what an adder is and what a logic diagram looks like, but I barely passed that one in the first place).



  • Ah. I only have an Associate's Degree, so yeah, some of that stuff is missed out, but what I said has been what I've heard even of Bachelor's Degree stints.

    My opinion, like with learning other spoken languages, teaching earlier would be much better than later / not at all.


    Filed under: [I only know how to count to 20 and terribly say "I speak English" in French, and I took 4 years](#tag2), [had to repeat year one French because I tried switching to German going in to high school and hated the teacher, and they wouldn't count the first year I had already done when I wanted to go back to French](#tag2)

  • sockdevs

    I don't even have a degree, does my opinion still count?


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.