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

Add "% done" to book table to allow fast sorting of reading progress #381

Open
jzohrab opened this issue Mar 27, 2024 · 2 comments
Open
Labels
enhancement New feature or request question Further information is requested

Comments

@jzohrab
Copy link
Collaborator

jzohrab commented Mar 27, 2024

From Discord link

If we believe interleaving is a good technique to use in language learning then easily organizing reading materials by their statuses and option to sort by date would make sense, for example:

Introducing a filter which would have the following values:
a. All books
b. All books completed reading, but not archived (with green checkmark)
c. All books that are not finished reading (without green checkmark, in progress)
d. All books not started reading.

My reply:

Though it's not as elegant as your proposal for point 1, perhaps a "% completed" column would be sufficient for an initial pass of the filter. My reason for preferring this: 1) it fits easily with the current tabular data, 2) I don't need to add an extra control and special handler. That way, I can get something usable out the door which I think will meet your needs.

@jzohrab
Copy link
Collaborator Author

jzohrab commented Mar 27, 2024

There are a couple of different ways this could be calculated:

using the last page opened for reading

When a page is started, the page could be marked as "opened on date". The last page could be calculated as the "current page" of the book. e.g., given a 10-page book, if the user opens up page 1 and then quickly scrolls to page 8, the book would be 80% read, even though the first 7 pages were skipped.

using pages marked as read

The small icons an the bottom of the pages mark pages as read. This could be used for the percentage instead. e.g. Given a book with 10 pages:

If the book has not been opened, it's 0% read.
If opened to first page, but page is not marked read, it's 0% read.
If opened to 5th page, but no page has been marked read, it's 0% read.
If opened to 5th page, and only the 5th page has been marked read, it's 50% read.
If only 10th page marked read, it's 100% read.
If opened to 8th page, and only the 5th page has been marked read, it's still 50% read

This could get confusing for people who forget to mark pages as read, unless there is some indicator somewhere to say what pages have been marked as read or not.

@jzohrab jzohrab added enhancement New feature or request question Further information is requested labels Mar 27, 2024
@jzohrab
Copy link
Collaborator Author

jzohrab commented Mar 27, 2024

I'm in favor of using "last page opened for reading". This is already stored in the books table, book.BkCurrentTxID, and it's clear enough what the intent is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
Status: No status
Development

No branches or pull requests

1 participant