miniflux / v2

Minimalist and opinionated feed reader
https://miniflux.app
Apache License 2.0
6.69k stars 708 forks source link

Improving the "Unread" page: Summary mode (à la Fraidycat) and/or weighted ordering (à la Reddit) #1493

Open rlue opened 2 years ago

rlue commented 2 years ago

Really loving miniflux and willing to contribute if feature PRs are welcome (though I am very new to Go, so contributions will be very slow).

Problem

I subscribe to multiple feeds that are inundated with dozens of new posts every day (e.g., NPR news) and others which might see one update every couple months. As a result, it's virtually guaranteed that I will miss an update from an infrequent feed: I get ~5 new posts per hour (or ~120 per day); yesterday, only two of these were not from news outlets.

I would like it to be harder to miss these updates.

Proposed solution 1: Digest/Summary View

Fraidycat handles this issue by displaying a summary of feeds rather than individual entries:

Screen Shot 2022-07-11 at 13 44 42

Miniflux could add an option to display the Unread page in Digest/Summary mode:

Proposed Solution 2: Weighted ordering

Building on that last idea, Reddit handles this issue by weighting posts to ensure that your homepage includes a roughly even distribution of posts from all the feeds you subscribe to, even if some update much more often than others. Here is the combined feed for /r/OldSkaters and /r/aww:

Screen Shot 2022-07-11 at 13 19 50

At the time of this writing:

I don't know exactly how the math works out on the server side, but I'd be willing to do some investigation and help devise an acceptable weighting system.

Recommendations

Between the two options, I would recommend solution 2:

  1. It does not introduce new patterns for interacting with the news feed. That means it's less burdensome for the user and safer to make the default.
  2. It would involve little-to-no frontend work.

If implemented, I believe this feature should be the default for new users, and opt-in for existing users.

Thoughts?

palesz commented 1 year ago

Option 3: Alternatively in the Settings we could introduce a "Feeds sorting", that supports sorting based on "most recent entry". Then the "Feeds" page becomes the "fraidycat view" (without the summary though). Might not be as elegant, but should require less work to implement. Also the "Feeds page" can already be set as the default page.

guest20 commented 9 months ago

I too would like contrapoints/hbomberguy videos to stay at the top of my unread list until I watch them.

Edit: Maybe something as naive as:

order by unix_timestamp_of_post * ( 1 / count_of_unread_items_in_feed )

... would surface items on infrequently updated feeds?

If it's 1701255393 o'clock right now in unix time...

when math(ish) result
new in otherwise empty feed item 170125_5_393 * 1/1 highest score
new with 9 siblings item 170125_5_393 * 1/10 less
older otherwise empty feed item 170125_4_393 * 1/1 less
older with 4 siblings item 170125_4_393 * 1/5 less still

(here _ is just to hilight the difference between the timestamps)

I think this would also help with your Unread being flooded by items from newly added feeds