In case of backlogs, I think using randomly filtered decks is not that good. Using the usual scheduling order is not really better because it tends to clump up cards by topic if you create your cards by batch.
I think it would be very nice to have a “maximally spaced” filtered deck option. Basically if you have 1000 due cards and want to do a 100 today. This deck would pick 1 cards every 10 cards of the due order, and show them in random order.
I mentionned this to friends that gave up on anki after huge backlogs and they all found it to be an interesting idea.
Being a medical student, I end up creating a few cards on one specific nerve, then a few cards on one disease, etc. Randomly picking using a uniform law is, in a way, trying to approximate what I’m suggesting. Just less efficient.
With random decks I end up indeed reviewing most topics of my deck, but with like 10% of reviews that are unecessarily similar to another one. This review is wasted and hurts retention, whereas if those reviews where postponed to the day after it would actually increase retention!
Several friends told me that the biggest frustration they had with anki (to the point that it made them doubtful of it working at all) was having to review cards that are too similar. I think using this filtering option would be a great plus (for example by reviewing only 80% of the daily reviews).
I am actually interested in creating an addon for that but there are no addons that implement new filtering order and I struggled to find the relevant section of the code in recent versions. I only know python but no Rust. If you are not willing to implement this, could you give me instructions on how I could add a new filtering option?
Idea for backlogs: Large backlogs are frustrating to the point of quitting Anki. Various ways of handling them with filtered decks or whatever are not ideal. The backlog interferes with the normal timing of new and review cards. The menu option of resetting the due dates doesn’t take into account the individual card delay intervals. It would be nice to have an option to reschedule a large backlog not simply by randomly adding days to the due date, but by spreading them out proportionately according to their delay intervals.
Separately another idea: The menu item “forget” just moves the card to the end of the new queue but the review history is preserved. The word “forget” is misleading. I would like an option to forget that the card had ever been studied, its lapse count and everything. I realize that might change the count of cards studied on previous days.
Oh, and by the way, thanks for your great work and putting up with annoying commenters.
What do you mean by “spreading them out proportionnately according to their delay intervals”? Isn’t it possible using filtered decks?
On forget: I think the current “forget” button is fine, if you really want to start from scratch you should actually duplicate the card and even modify it instead of deleting past history by default IMO. It seems a lot safer for most users.
@dae regarding my past comment, allow me to repost the most important question:
I am actually interested in creating an addon for that but there are no addons that implement new filtering order and I struggled to find the relevant section of the code in recent versions. I only know python but no Rust. If you are not willing to implement this, could you give me instructions on how I could add a new filtering option?
The manual gives a good example of how to handle overdue cards with 2 filtered decks, one for recent and one for older. Maybe I should just do that. But my idea was to actually change the due dates of all the older cards, spreading them out as I said. They would then be interspersed with other cards due in the near future and would not have to be studied in a separate filtered deck. Would that not be good for some reason?
My reason for the forget button is that sometimes I modify a note to the point where I consider it should be studied as a new card. Currently I am just doing as you suggest, creating a duplicate in a new card and deleting the old one. I just wanted to make that step easier.