Using the current preset system isn’t very intuitive. If you have many decks and subdecks, managing their settings quickly becomes difficult. For example, I had a deck that I believed was properly optimized with FSRS, only to later discover that its subdecks were using a different “Default” preset. This meant they were optimized independently from the parent deck–contrary to what I expected.
I’d like to propose an alternative approach based on inherited settings:
-
Each deck has its own settings.
-
Every settings section includes a checkbox called Inherited.
-
When Inherited is on, that section inherits its values from the parent deck and appears grayed out.
-
When Inherited is off, the section becomes unique to that deck and can be edited.
-
By default, all Inherited checkboxes are enabled.
Under this system, FSRS optimization would treat all cards in a deck and in any subdecks that inherit FSRS parameters as belonging to the same preset.
For compatibility with existing shared decks, there could also be an Inherit from option. By default it would reference the parent deck, but users could choose to inherit from a preset instead, maintaining compatibility with older deck structures.
Overall, this approach is far more user-friendly and manageable than the current preset system.
2 Likes
Having a toggle for every options is too much, hut I agree that something needs to be done to the current system.
In particular, FSRS parameters being tied to presets is a bit annoying, since some of my decks need different sorting orders and are thus forced to have different parameters.
2 Likes
Presets are complicated enough, and I think the sort of granularity you’re suggesting (if it’s possible at all) would increase the complexity many-fold.
This sounds like something that you can manage for the most part with “Save to All Subdecks” already – Deck Options - Anki Manual . If there are specific other settings (like sibling-bury, for instance) that apply to some subdecks and not others, it’s pretty easy to make a 2nd preset for just those subdecks.
To keep the cards optimized together across those 2 presets, you can do something like this.
Use the same parameters for Preset1 and Preset2 – … change the optimization filters for Preset1 and Preset2 to both include cards from both presets – like (preset:Preset2 OR preset:Preset1) -is:suspended . Then whenever you optimize in either preset (or use Optimize All Presets), you’ll get the parameters you want.
[From a previous discussion: Reddit - The heart of the internet .]
2 Likes
Presets are complicated enough, and I think the sort of granularity you’re suggesting (if it’s possible at all) would increase the complexity many-fold.
I think the inheritance system is a lot more intuitive and user-friendly than presets. In any application, there are settings for every “object” (e.g., for every user, document, file). The concept of multiple objects sharing the same settings is not familiar; naming those groups of settings is even more unfamiliar.
When I was a beginner, I was surprised that when I changed a setting in one deck, it would change in other decks, until I discovered the concept of presets.
So if you want to make deck settings easy and intuitive to use, without need to read manuals, I think inheritance can simplify them.
Doing this with FSRS could solve the current joining of review settings with FSRS settings. E.g. two decks may be studied in the same way, but their difficulty can be vastly different. I mostly use presets for categories like catch-up (no new cards), drip feed (some new cards) and main focus (more new cards). This means very different decks can be in the same FSRS group.
I think normal users managing settings across every deck is a lot to ask for though. I would expect to see lots of users changing a setting and being annoyed that a subdeck overruled it. Something like: “I turned off X. Why am I still seeing X?“, “Did you look at the settings of every subdeck?“
TL;DR I like this, but I don’t think it’s practical.
1 Like
Presets are not a solution to this, someone could say “I turned off X. Why am I still seeing X?“, “Did you look at the presets of every subdeck?“.
Also I suggested that every setting will be inherited by default, so unless the user chages them to be not inherited explicitly, this problem will not occur.
No disagreement that the current Anki has the potential for complex settings management. Someone who makes and assigns as many presets as they have decks could reach the same complexity as your proposal allows.
A lot (maybe even most) of user issues wouldn’t occur if they didn’t change settings, but they are there to be used. If you expect users not to override inheritance, there is no feature. If they do, they have to manage that complexity.
1 Like