Skip to content

Add a reading time estimation #1260

@lapineige

Description

@lapineige

Hi FreshRSS team ! :)

I have a feature request for you: adding a reading time estimation for each article.
I'm thinking to wallabag feature on this point: a setting to put a reading speed (with a link to some site offering a test to measure it) and an estimation on top of each article.

For me it would be really useful as my feeds are full of very short to very long articles, and it's not always easy to estimate how many time I need to read one.
Especially on a mobile device, as scrolling the whole page is quite annoying (and still not that accurate, as without an overview you can't really estimate the length).
I assume I'm not the only one that would like this tiny feature :)

Maybe it can be use as a filter as well. (but in that case I assume it would require to store it somewhere, with might need a more complex implementation).

What do you think about it ?

UPDATE
I decided to implement this as an extension, following @Alkarex advice
Extension repo: https://framagit.org/Lapineige/FreshRSS_Extension-ReadingTime

Status: v0.1 completed - working on v1.0

Current progress / todo-list

  • Figure out how to get the list of words for a feed
  • Count the number of words, minus the tittle
  • Integrate the result in the UI (with a nice clock/chronometer icon ?)
  • Create the extension
  • Test it and validate the behavior
  • Monitor the performances - is it fast enough ?

Improvements

  • Fix the title insertion issue - in order to be mobile-friendly, as the feed type is not shown on small screens
  • Relaunch the script when "Load more" is clicked
  • Add an option to set the reading speed.
    Until this is done, you need to adjust it manually:
    reading_time.reading_time = reading_time.calc_read_time(reading_time.words_count, 300) // change this number (in words) to your prefered reading speed
    300 represent the number of words/min
  • Improve counting accuracy
  • Reduce text size (to save some space for the other content)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions