Anki add-on: Pass/Fail Review: Automatic difficulty rating based on answer time (beta ver.)

This add-on changes the default rating based on how long it took you to show the answer, so that when you rate a card, spacebar/enter will select easy, good, or hard instead of always selecting good. For example, if you flip a card in under 1 second, enter/spacebar will select easy instead of good; if you flip a card after 7 seconds, enter/spacebar will select hard instead of good. These times can be changed in the configuration, along with other settings. I highly recommend installing an answer confirmation add-on like Color Confirmation to ensure this add-on is working as intended. For example, if you edit a card during review, the flip time and default rating will be reset, and you might not notice unless you have a confirmation add-on. You can use Anki’s built-in timer, an add-on like Life Drain , or a JavaScript timer like the one at the bottom of this post , to see how much time has elapsed and what the default rating should be. The JavaScript timer, which is what I use, also works on mobile. This add-on does not auto-advance, and it does not rate cards for you. You still have to press enter/spacebar to rate a card. You can choose a different rating using the buttons. This add-on never changes the default rating to “again.” Configuration The default time for an easy rating is less than 1 second; the default time for a hard rating is over 7 seconds. You can change these times in the configuration. You can give particular decks their own independent easy/hard times. You can disable particular decks. Note that you must use a subdeck’s full name, and you have to update the configuration if the name changes. By default, this add-on is disabled for learning stage cards. Personally, I think it drags out the learning stage for too long. But you can enable it if you want. You can disable this add-on for new cards. Compatibility and Development I have only tested this add-on on the current version of Anki on Mac (Intel, 23.12.1 Qt6), using the V3 scheduler. I am not a programmer , so if it doesn’t work on your computer, or if it conflicts with another add-on, I probably can’t help you. I’ve used this add-on for several weeks now and haven’t had problems. If an Anki update breaks this add-on, I may be unable to fix it. Because my coding skills are so limited, I probably will not develop this add-on further, even though improvements can certainly be made. However, if you would like to make your own version of this add-on, feel free to do anything you like with the code—there is no need to credit me or ask my permission. Related Add-ons Here is a list of add-ons I have found that are similar to this one. I used Smart Spacebar in particular to help write this add-on. However, as of this writing, the first three don’t seem to work properly anymore. SMART SPACEBAR: automatic ease scoring Automatic Scoring sets the default grade (easy, good, hard &again) based on time Quick & Easy Pass/Fail 2: Remove the "Easy" and "Hard" buttons These two add-ons are for typed answers only. In addition to changing the default rating based on answer time, they also auto-advance. auto rate typed answer Automatic Scoring and Progression (correct and time based) I found the following add-on just as I was uploading this one. It appears to grade automatically like this one, except it bases the grade on the card’s historical performance. Pass/Fail with Automatic Grading Pass/Fail on Mobile Finally, here is a thread I started on the Anki forums asking for some way to implement this through custom scheduling, mainly so that it will also work on mobile. In the first post of that thread, you can also find a JavaScript timer which I use to help me rate cards on mobile. Updates Update 240627 In the configuration, I previously recommended changing the deck options to Review sort order: Ascending intervals and New/review order: Show after reviews . While I still prefer to use ascending intervals , I actually think the default New/review order: Mix with reviews is better for learning purposes. I find learning new cards to be very motivating, so having new cards mixed in, rather than at the end, encourages me to do a bit of review even if I don’t feel like it. Mix with reviews also ensures a healthy ratio between new and review cards, which means that I don’t have to worry about falling behind, as I would if I were to display all new cards first but fail to finish reviews for the day. I use a bit of javascript to display a New label on new cards, so that I don’t waste time trying to remember a card I haven’t yet learned, which was the primary reason I disliked the mix with reviews setting in the past. Also turn on New cards ignore review limit in the deck options, which I suggest leaving off in the config, but which works well with the above settings. I’ve also increased my default “hard” rating to be over ten seconds (through the configuration), mainly because I’ve added TTS examples to the front side, which slightly slows me down. This isn’t an actual update—I’m worried I’ll break something, and you can make these changes yourself, if you so choose. But maybe someone will find these settings preferable to the current defaults.