Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hgiesel/anki_straight_reward

Escape Ease Hell!
https://github.com/hgiesel/anki_straight_reward

anki anki-addon anki21

Last synced: 13 days ago
JSON representation

Escape Ease Hell!

Awesome Lists containing this project

README

        

This add-on increases the ease of Anki cards when you consecutively rate them "Good", or "Easy".
Rating a card "Good", or "Easy" is considered a "success".
Once you exceed a specific amount of successes, it is considered a "success straight".
In such a case, Straight Reward will raise the ease of these cards.
The default settings will mean that you need three consecutive successes to recover the ease loss after pressing "Hard", and four to recover from "Again".

Setting the Options
After installing the addon you will another option tab under the deck options called "Straight Rewards":



  • Begin at straight of length: Length of what is considered a straight success. At this length, ease rewards will be applied. The value 0 is the same as deactivating Straight Rewards. (default: 2)


  • Enable notifications: Enable or disable the notifications that arise during review. (default: on)


  • Base ease reward: One of the two values for calculating the ease reward. (default: 5)


  • Step ease reward: One of the two values for calculating the ease reward. (default: 5)


  • Start at ease: Only cards with an ease factor between (inclusive) "Start Ease" and "Stop Ease" are considered for ease rewards. (default: 130)


  • Stop at ease: Only cards with an ease factor between (inclusive) "Start Ease" and "Stop Ease" are considered for ease rewards. (default: 250)


The Algorithm
Formula for calculating the ease reward:
if straight_length >= required_straight_length:
base_reward + step_reward ⋅ (straight_length - required_straight_length)
else:
0

    An Example
:

  1. You rated a card "Good" for the sixth time in a row.

  2. The card currently has an ease factor of 250%.

  3. You have a straigth length of 4

  4. You have a base reward of 15%

  5. You have a step reward of 5%

  6. You have a start ease of 130%

  7. You have a stop ease of 270%


So in this case we have a straight success (because 6 ≥ 4).
The formula yields: 15% + 5% ⋅ (6 - 4) = 15% + 10% = 25%
So the answer is final ease is 250% + 25% = 275%. But Wait!
275% is more than the stop ease of +270%+: So the ease will be set to the maximum ease of 270%.

Detecting Straight Successes
The addon knows two mechanisms to detect cards which apply for an ease reward:

The Review Hook
The review hook increases the ease of cards during the review.
You will get a notification whenever a success straight is detected:

The Review hook respects the "Undo" feature.
Undoing will also undo the additional straight reward.

The Sync Hook
The sync hook increases the ease of cards during syncing.
Applies when you do reviews on another platform (e.g. AnkiMobile, AnkiDroid or AnkiWeb) and sync those back to Desktop Anki.

All ease changes applied through the sync hook are logged in the addon folder under user_files/sync_log.

Important for users with multiple computers
If you use multiple computers with Desktop Anki, you should install Straight Reward only on one of these computers!
Otherwise, reviews might get two, or even more rewards, because the sync hook is activated for each sync.
If you need to work with multiple profiles on the same Anki installation, there is a checkbox to deactivate the sync hook that works per profile.

If you have any problems or questions, consider posting in the official support thread, writing an issue on GitHub, or sending me a plain old email.

Based on the add-on of the same name by luminousspice.

Updates
* 2020-01-11: The add-on from now on will default to activated. If you have decks, for which you don't want Straight Rewards, please deactivate it manually by setting the "Begin at straight of length" setting to 0.

Support
If you like my add-ons, you can consider supporting me. My add-ons will always be freely available for everybody, but what I can offer you is my sincere thanks, and first-hand technical support, if you have any questions/issues with my add-ons. At the same time it allows me to put more time and focus into developing these and making them as powerful and user-friendly as they are. Thanks for considering!

ko-fi.com/hgiesel
patreon.com/hgiesel