I wrote a short piece of JavaScript for the V3 scheduler’s custom scheduling mechanism that modifies Anki’s scheduling algorithm, implementing a method called ‘low-key Anki’. The code and all of the information needed is available on this page.
Before I post it on Reddit etc., I would be grateful if you can have a look and see if there is anything obvious (or not so obvious) I handled wrongly or forgot. I’m not very familiar with JavaScript or the inner workings of Anki, so I might have missed some edge cases.
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.