It was a joy to learn about programming the custom scheduling. Thanks for making, maintaining and improving Anki
I scanned the code briefly, and nothing jumped out at me as obviously wrong.
Personally, I am not super fond of the “low-key” approach:
- It is expected that you use Again+Good most of the time even in normal Anki - Hard and Easy are mainly intended for the somewhat rarer cases where something is particular difficult or easy. Making the Hard and Easy buttons do the same thing as Good removes the choice from the user, who may occasionally want it.
- Locking the ease to its starting point prevents more difficult cards from being scheduled more conservatively over time, increasing the chances they’ll be forgotten and need to be relearnt from scratch. It effectively treats all cards as equally difficult.
- If you’re mainly using Again and Good, leech detection should kick in not long after a card reaches the minimum ease level.
It is true that some users inadvertently end up with many cards at a low ease level, either because they’re using Hard liberally, or repeatedly forgetting the card. Turning off variable eases and the hard button feels a bit like hiding the symptoms instead of addressing the root cause though, which is that the user feels the need to press again/hard on their cards too frequently. There are other things the user could do instead, such as adding more/longer learning steps, spending more time breaking cards down into small pieces, creating mnemonics for them, etc.
That said, I can see why some users prefer not having to think about such things, and do acknowledge that the stock behaviour can be a footgun in some cases. I’m not sure “low key” is the ideal solution to this problem, but perhaps there are things Anki could do differently in the future to address these issues.