Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New comment sorting algorithm #1022

Closed
thi4go opened this issue Feb 20, 2019 · 8 comments

Comments

Projects
None yet
5 participants
@thi4go
Copy link
Member

commented Feb 20, 2019

Currently, comments are being sorted by New as a default. This entails that good discussions started early on in the proposal gets burried down, potentially not being seen by new coming users. It was stated by @behindtext in riot that top comments would be best being sorted from old to new when going from top to bottom.

Reddit also implements a new sorting algo that aimed to increas "fairness" in the comment's sorting by blending comment votes and age, that could also improve how pgui sort comments. Initially, a quick improvement to the current status would be to make sorting from Top the default.

Quoting @RichardRed0x about the new reddit algo:

yeah it's based on a Wilson score confidence interval iirc
makes a guess about what the comments' scores (approval rates) would be by taking the lower > bound of a confidence interval around its current score, more votes means the interval is smaller > means the lower bound is higher.

Blog post about the new reddit sorting algo: reddit link

Here is a link to the discussion in riot: riot link

@RichardRed0x

This comment has been minimized.

Copy link
Member

commented Feb 20, 2019

To follow up on that discussion, I think switching to "Top" sorting method as the default would be a quick and easy move that improves the ordering of comments on politeia. Reddit used this as its default for some time, then developed the "Best" sort because of an issue whereby early comments would become locked in to the high-visibility spaces (appearing at the top of the list means the comment gets more votes so is more likely to remain at the top and get more votes, a feedback loop).

From what I have seen on politeia so far, I think Top could work quite well. People seem to be reading and voting fairly deep into the page. While I do think the kind of sorting reddit uses for "Best" is good and would be worth implementing, we may not be at a scale where it is really needed yet.

Also, reddit's Best algorithm relies on the upvote/downvote ratio for a comment as the basis for its ranking. So far Politeia has a much lowe rate of downvoting than reddit does, which could make this algorithm less useful.

@xaur

This comment has been minimized.

Copy link

commented Feb 26, 2019

Please whatever is decided for the default sorting, I'd like to have "oldest first" or "newest first" as a personal default. The chronology of comments is important for my analysis and I hate when content is rearranged without request.

@xaur

This comment has been minimized.

Copy link

commented Feb 26, 2019

In the special case of Politeia at its current (immature) stage of development, sorting oldest to newest by default has some merit: people who comment earlier are likely to be more active participants.

@xaur

This comment has been minimized.

Copy link

commented Feb 26, 2019

For reference: previous discussion on comment sorting from 2018-10-21.

@fernandoabolafio fernandoabolafio self-assigned this Feb 28, 2019

@fernandoabolafio

This comment has been minimized.

Copy link
Member

commented Feb 28, 2019

Regarding the improvements we can implement while working on the "Best" alg I think we can do is:

  • Set the default sort option as "Top"
  • Persist the personal default sort option every time the user changes the select option.

On the personal default thing I thought about two ways of achieving it:

  1. Allow to set the sort option in the URL so you can refresh the browser and it will be kept.
    • Pros: you can have different settings for different proposals
    • cons: You need to change manually the option for every proposal you want to read
  2. Set the option in local storage
    • Pros: you have your personal default option set for every proposal you open
    • Cons: you may want to use different settings for different proposals.
@RichardRed0x

This comment has been minimized.

Copy link
Member

commented Feb 28, 2019

Sounds good. I like option 2 more but in practice I'll be sticking to the default (Top) mostly. What does @xaur think about option 1/2?

@xaur

This comment has been minimized.

Copy link

commented Feb 28, 2019

Agreed to change default to Top, this has a chance to give us cheap and instant win. And if not, we will hopefully get some feedback.

All persistence stuff should go in a separate commit(s).

Re options:

  1. Set sort via URL query parameter - good idea, please do. This is similar to Reddit's sort=old|new|best query parameter. This parameter should override any user setting. Without this parameter, user setting or site default should apply.
  2. This has two parts.
    1. Set user option in local storage - bad idea.
      • This should be stored on the server. I don't want to lose my settings with a browser wipe or browser change, which I do often. As a general rule I suggest to minimize or eliminate the amount of user settings saved in local storage.
      • Another reason is every new usage of local storage anchors Politeia further in the land of ugly javascript and ugly advanced browser features (browsers will soon have USB API - gives you a hint where this is going). It will be harder to remove later.
    2. Set user option somewhere - good idea, I'd like to have personal pref of sorting similar to Reddit. It should be stored on the server.

Persist the personal default sort option every time the user changes the select option.

This can be annoying, e.g. if I want to change sort temporarily but use my pref again on next page load.

I suggest explicit UX:

  1. User changes sort via the dropbox
  2. Comments are sorted new way
  3. "make default" and "cancel" link buttons appear next to the sort dropbox
  4. if user clicks "make default", it is saved on the server with visual feedback of success

@fernandoabolafio fernandoabolafio removed their assignment Mar 20, 2019

@marcopeereboom

This comment has been minimized.

Copy link
Member

commented Apr 22, 2019

This will change with the new paging mechanism that is being implemented. Please create new issue after that goes live if the sorting options are not satisfactory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.