Straight Reward
0.02MB. Updated 2022-12-12.
The author has shared 13 other
item(s).
Description
Download
As add-ons are programs downloaded from the internet, they are potentially malicious. You should only download add-ons you trust.
Supported Anki versions:
- 2.1.20-2.1.23 (Updated 2020-03-18)
- 2.1.24 (Updated 2020-03-27)
- 2.1.25-2.1.30 (Updated 2020-07-10)
- 2.1.31-2.1.33 (Updated 2020-09-17)
- 2.1.34-2.1.49 (Updated 2021-01-11)
- 2.1.50-2.1.54 (Updated 2022-04-01)
- 2.1.55+ (Updated 2022-12-12)
To download this add-on, please copy and paste the following code into Anki 2.1:
957961234
If you were linked to this page from the internet, please open Anki on your computer, go to the Tools menu and then Add-ons>Browse & Install to paste in the code.
All Anki 2.1.x Add-Ons Contact Author
Reviews

I absolutely love this Add-on as it motivates me A LOT!
I didn't like reviewing hard cards before and now it really motivates just to see that there is an increase in ease.
I didn't like reviewing hard cards before and now it really motivates just to see that there is an increase in ease.

Why does it have to different config? When I open using shift + click I have a different add on setting than just using the new settings screen :S

Options tab is showing different values for settings when clicking and not clicking shift for this add-on. Also its not saving the "Begin at straight of length" or "Stop at ease" value from the new options tab. Only saves from the options tab from the shift-clicked version, but then the 2 values don't match

Good

Works as intendet.

Can you please update it to work with the new update 2.1.55, I wont be able to update anki if it miss this add on
the log
Error
An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools > Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you've discovered the add-on that is causing the problem, please report the issue to the add-on author.
Debug info:
Anki 2.1.55 (ca116699) Python 3.9.15 Qt 5.15.2 PyQt 5.15.5
Platform: Windows-10-10.0.22000
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2022-11-29 22:04:36
Caught exception:
Traceback (most recent call last):
File "aqt.webview", line 556, in handler
File "aqt.reviewer", line 532, in _onAnswerButton
File "decorator", line 232, in fun
File "anki.hooks", line 89, in decorator_wrapper
File "anki.hooks", line 84, in repl
File "aqt.reviewer", line 431, in _answerCard
File "_aqt.hooks", line 3839, in __call__
File "C:\Users\zahie\AppData\Roaming\Anki2\addons21\957961234\src\lib\review_hook.py", line 101, in <lambda>
lambda ease_tuple, reviewer, card: on_will_answer_card(
File "C:\Users\zahie\AppData\Roaming\Anki2\addons21\957961234\src\lib\review_hook.py", line 85, in on_will_answer_card
check_straight_reward(gains, reviewer, card, ease_tuple[1])
File "C:\Users\zahie\AppData\Roaming\Anki2\addons21\957961234\src\lib\review_hook.py", line 64, in check_straight_reward
next_states = reviewer.get_next_states()
AttributeError: 'Reviewer' object has no attribute 'get_next_states'
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Update:
this guy found a workaround for the straight reward add on on anki 2.1.55, I tried it on release candidate 1 of anki 2.1.55 and it works again
here is the link
https://github.com/hgiesel/anki_straight_reward/pull/28/files#diff-c5b5f361a1def502156dee46a50e65402ae67f6f78d9891bec8f96a204d359c4
the log
Error
An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools > Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you've discovered the add-on that is causing the problem, please report the issue to the add-on author.
Debug info:
Anki 2.1.55 (ca116699) Python 3.9.15 Qt 5.15.2 PyQt 5.15.5
Platform: Windows-10-10.0.22000
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2022-11-29 22:04:36
Caught exception:
Traceback (most recent call last):
File "aqt.webview", line 556, in handler
File "aqt.reviewer", line 532, in _onAnswerButton
File "decorator", line 232, in fun
File "anki.hooks", line 89, in decorator_wrapper
File "anki.hooks", line 84, in repl
File "aqt.reviewer", line 431, in _answerCard
File "_aqt.hooks", line 3839, in __call__
File "C:\Users\zahie\AppData\Roaming\Anki2\addons21\957961234\src\lib\review_hook.py", line 101, in <lambda>
lambda ease_tuple, reviewer, card: on_will_answer_card(
File "C:\Users\zahie\AppData\Roaming\Anki2\addons21\957961234\src\lib\review_hook.py", line 85, in on_will_answer_card
check_straight_reward(gains, reviewer, card, ease_tuple[1])
File "C:\Users\zahie\AppData\Roaming\Anki2\addons21\957961234\src\lib\review_hook.py", line 64, in check_straight_reward
next_states = reviewer.get_next_states()
AttributeError: 'Reviewer' object has no attribute 'get_next_states'
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Update:
this guy found a workaround for the straight reward add on on anki 2.1.55, I tried it on release candidate 1 of anki 2.1.55 and it works again
here is the link
https://github.com/hgiesel/anki_straight_reward/pull/28/files#diff-c5b5f361a1def502156dee46a50e65402ae67f6f78d9891bec8f96a204d359c4
Comment from author before post was edited
It works with v3 now.

Working great in the latest (qt5) beta on Windows 11, and now supports the new options interface (no longer have to hold down Shift key).

This has worked great for me, would love to see it updated for >= 2.1.55qt6beta4
Error
An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools > Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you've discovered the add-on that is causing the problem, please report the issue to the add-on author.
Debug info:
Anki 2.1.55 (e3c3405f) Python 3.9.7 Qt 6.4.0 PyQt 6.4.0
Platform: macOS-11.5.2-arm64-arm-64bit
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2022-12-03 13:32:27
Add-ons possibly involved: Straight Reward
Caught exception:
Traceback (most recent call last):
File "aqt.webview", line 556, in handler
File "aqt.reviewer", line 532, in _onAnswerButton
File "aqt.reviewer", line 431, in _answerCard
File "aqt.hooks_gen", line 3807, in __call__
File "/Users/Jacob/Library/Application Support/Anki2/addons21/957961234/src/lib/review_hook.py", line 101, in <lambda>
lambda ease_tuple, reviewer, card: on_will_answer_card(
File "/Users/Jacob/Library/Application Support/Anki2/addons21/957961234/src/lib/review_hook.py", line 85, in on_will_answer_card
check_straight_reward(gains, reviewer, card, ease_tuple[1])
File "/Users/Jacob/Library/Application Support/Anki2/addons21/957961234/src/lib/review_hook.py", line 64, in check_straight_reward
next_states = reviewer.get_next_states()
AttributeError: 'Reviewer' object has no attribute 'get_next_states'
Error
An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools > Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you've discovered the add-on that is causing the problem, please report the issue to the add-on author.
Debug info:
Anki 2.1.55 (e3c3405f) Python 3.9.7 Qt 6.4.0 PyQt 6.4.0
Platform: macOS-11.5.2-arm64-arm-64bit
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2022-12-03 13:32:27
Add-ons possibly involved: Straight Reward
Caught exception:
Traceback (most recent call last):
File "aqt.webview", line 556, in handler
File "aqt.reviewer", line 532, in _onAnswerButton
File "aqt.reviewer", line 431, in _answerCard
File "aqt.hooks_gen", line 3807, in __call__
File "/Users/Jacob/Library/Application Support/Anki2/addons21/957961234/src/lib/review_hook.py", line 101, in <lambda>
lambda ease_tuple, reviewer, card: on_will_answer_card(
File "/Users/Jacob/Library/Application Support/Anki2/addons21/957961234/src/lib/review_hook.py", line 85, in on_will_answer_card
check_straight_reward(gains, reviewer, card, ease_tuple[1])
File "/Users/Jacob/Library/Application Support/Anki2/addons21/957961234/src/lib/review_hook.py", line 64, in check_straight_reward
next_states = reviewer.get_next_states()
AttributeError: 'Reviewer' object has no attribute 'get_next_states'

Goodbye fear of the ease well!

In the new V3 options screen, 'Begin at straight of length' always reset to 1, even if I set it to 2 in both the new and old options screens

Great and solves my future problems

Different settings when I open options using shift + click compared to the new default settings screen. Would this cause a problem?

amazing

Works well. Alleviates fears of ease hell. Love it.

This scheduling algorithm is great and addresses a big pain point for me. While you can do something similar using V3 custom scheduling (https://forums.ankiweb.net/t/i-love-v3-custom-scheduling/16301), I think this extension offers some advantages, including simplicity of use and the sync hook to support AnkiDroid (which doesn't support the v3 custom scheduler). The main disadvantage is it requires you to have AnkiDesktop as part of your workflow (correct me if I'm wrong). Overall, looks like a fantastic extension.

Great add-on. Makes ease an actually useful factor for review time.

Thanks for updating it to work with V3!

Tanks !!!!!

i use the same anki account on 2 different computers, so i have to install the addon on a single computer? or just deactivate the synchronization hook and i can use the addon on both computers? sorry for the errors i am using google translate

Love it. So happy it works with mobile reviews after syncing too. You just reduced my workload. Now I can kiss goodbye to those cards I know well!

I would like the notification to display the new Ease Factor. What variable do I have to pass to display_success()?

Can't believe they got an update for V3, the author deserves a sacrifice of my first newborn child 😘
Comment from author before post was edited
It does work with v3 now.

Thanks for such a useful addon, especially for the Sync Hook!

doesn't work on anki 2.1.49 with V3 scheduler enabled.

essential addon, needed this a long time ago 👍

Works great in 2.1.49 with the V2 scheduler, but not with the new V3 scheduler (the notification does shows up, but the ease stays the same).

I love it. It does exactly what it should do.
Just to clarify. If your default settings are as follows:
Begin at straight of length: 2
Base ease reward: 5%
Step ease reward: 5%
Then it will work like this:
1st correct - ease: 130%
2nd correct - ease: 135% (+5%)
3rd correct - ease: 145% (+10%)
4th correct - ease: 160% (+15%)
As I believe in making hard cards simpler to help remember them, I have set up my settings as follows:
Begin at straight of length: 2
Base ease reward: 5%
Step ease reward: 0% -> give 5% ease when you have it right and don't accumulate it the ease. So it goes from 135% -> 140% -> 145% etc. Meaning you need 4 goods in a row to gain 20% ease
Start at ease: 130%
Stop at ease: 210% ->210% is still acceptable and it does acknowledge that some cards are a little harder to remember.
Anyway, thanks for the straight reward add on, it is simply exactly what ankis algorithm needed
Just to clarify. If your default settings are as follows:
Begin at straight of length: 2
Base ease reward: 5%
Step ease reward: 5%
Then it will work like this:
1st correct - ease: 130%
2nd correct - ease: 135% (+5%)
3rd correct - ease: 145% (+10%)
4th correct - ease: 160% (+15%)
As I believe in making hard cards simpler to help remember them, I have set up my settings as follows:
Begin at straight of length: 2
Base ease reward: 5%
Step ease reward: 0% -> give 5% ease when you have it right and don't accumulate it the ease. So it goes from 135% -> 140% -> 145% etc. Meaning you need 4 goods in a row to gain 20% ease
Start at ease: 130%
Stop at ease: 210% ->210% is still acceptable and it does acknowledge that some cards are a little harder to remember.
Anyway, thanks for the straight reward add on, it is simply exactly what ankis algorithm needed

I think this is the most elegant way to escape ease hell.

UPDATE: guys you may have to hold Shift while opening the Deck Options in Anki 2.1.47+ in order to open the Rewards tab !!!
I was searching for some tricky way to increase by 5% the ease factor whenever I select "Good", since so often I hit "Hard" or "Again" a few times, only to be done learning and having to reset the ease to 2.5.
So this addon is even better than what I was looking for :) amazingly configurable.
I was searching for some tricky way to increase by 5% the ease factor whenever I select "Good", since so often I hit "Hard" or "Again" a few times, only to be done learning and having to reset the ease to 2.5.
So this addon is even better than what I was looking for :) amazingly configurable.

If we use the default settings:
Begin at straight of length: 2
Base Reward: 5%
Step Reward: 5%
Start at ease: 130%
Stop at ease: 250%
My example:
Let's say starting at 230%
Good -> 5% + 5%*(1-2) = 0 --> 230%
Good -> 5% + 5%*(2-2) = 5% --> 235%
Good -> 5% + 5%*(3-2) = 10% --> 240%
Good -> 5% + 5%*(4-2) = 15% --> 245%
Good -> 5% + 5%*(5-2) = 15% --> 250%
Technically pressing good 4 times to recover from hard (as hard lessens ease by 15%)
Technically pressing good 5 times to recover from ease (as ease lessens ease by 20%)
Am I correct in my calculations and conclusion?
Begin at straight of length: 2
Base Reward: 5%
Step Reward: 5%
Start at ease: 130%
Stop at ease: 250%
My example:
Let's say starting at 230%
Good -> 5% + 5%*(1-2) = 0 --> 230%
Good -> 5% + 5%*(2-2) = 5% --> 235%
Good -> 5% + 5%*(3-2) = 10% --> 240%
Good -> 5% + 5%*(4-2) = 15% --> 245%
Good -> 5% + 5%*(5-2) = 15% --> 250%
Technically pressing good 4 times to recover from hard (as hard lessens ease by 15%)
Technically pressing good 5 times to recover from ease (as ease lessens ease by 20%)
Am I correct in my calculations and conclusion?

It doesn't work on 2.1.43 with v2 scheduler. It only shows this pop-up but ease doesn't change regardless of settings. Please correct and respond to forum thread. I think it could be simplified. I will be happy to thumb up when it is fixed.

I just installed this but from the looks of it, it should work perfectly and this is definitely an essential add on. Thank you!

Really nice add-on!!, Does it work in Anki 2.1.46?

Perfect

.

Bye bye ease hell!

Thanks for the great addon!
I'm asking this question because I'm stupid. I wish to move Anki onto a new computer (I will no longer use the old computer for reviews). In this case, I should install Straight Reward on the new computer, right ?
I'm asking this question because I'm stupid. I wish to move Anki onto a new computer (I will no longer use the old computer for reviews). In this case, I should install Straight Reward on the new computer, right ?
Comment from author
Yes, you should install it on the new computer.

"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."
Why do we need to deactivate the sync hook if we have multiple profiles?
Why do we need to deactivate the sync hook if we have multiple profiles?
Comment from author
The add-on doesn't know whether rewards were already applied on another Desktop Anki, so if you have multiple profiles hooked up to the same (!) AnkiWeb account, the cards would be rewarded multiple times.

Thanks

Great Addon, thank you! Is it normal, that the addon only modifies the interval after the next review? So the "next" interval is still calculated with the old interval?
Comment from author
Yes, that's intentional. This way, both mobile reviews and Desktop reviews will behave exactly the same. If you want the rewards to take effect on review earlier, you should shorten the straight.

Fantastic add - on. I just would like to ask you : are your default settings profound ? I mean, should we change the settings on our own ? Because I don't undestand a lot about theses settings.
Comment from author
Right now, I typically use these settings:
Begin at straight of length: 2
Base Reward: 5%
Step Reward: 5%
Start at ease: 130%
Stop at ease: 250%
This means to recover the ease from clicking Hard, it will take pressing Good 3 times, and to recover from a Fail it will take pressing Good 4 times.
Begin at straight of length: 2
Base Reward: 5%
Step Reward: 5%
Start at ease: 130%
Stop at ease: 250%
This means to recover the ease from clicking Hard, it will take pressing Good 3 times, and to recover from a Fail it will take pressing Good 4 times.

This is fantastic and exactly what I've been looking for! Thank you so much!

I maintain an add-on that tackles "ease hell" in a slightly different way, but highly respect your work on this add on, it's another useful approach. The UX and feedback incorporated into this one is really great. One of the things I love about Anki is that we can try out a few different ways to solve something and all share ideas, and users can find the one that works best for them. Keep up the great work hgiesel!
EDIT: I maintain Auto Ease Factor here: https://ankiweb.net/shared/info/1672712021
EDIT: I maintain Auto Ease Factor here: https://ankiweb.net/shared/info/1672712021
Comment from author before post was edited
Would you mind telling me what is called? You striked my interest!

very nice

Edit 2: is it possible to get support for Anki 2.1.26? Thanks
Edit 1: Great, thank you!
Great add on, and needed to increase the ease of my cards which I am relearning.
Might be a stupid question, but does the ease increase apply to filtered decks?
Edit 1: Great, thank you!
Great add on, and needed to increase the ease of my cards which I am relearning.
Might be a stupid question, but does the ease increase apply to filtered decks?
Comment from author
Yes!
However, the add-on will currently apply the ease reward, even if you specified for the filtered deck not to reschedule cards. Right now this can be circumvented by not turning off Straight Rewards in such cases (Setting Begin straight length to 0). So be careful in this case. I'm working on the fix!
Note: Straight Rewards v0.3.1 includes the fix for filtered decks
Answer 2: Hi, version 2.1.26 has been supported for a very long time now. I'm a bit confused by the Ankiweb update system however. It might be that you have to go to "Tools > Add-ons > Check for Updates" to manually update. I also updated the version number on this update. I think it should work now.
However, the add-on will currently apply the ease reward, even if you specified for the filtered deck not to reschedule cards. Right now this can be circumvented by not turning off Straight Rewards in such cases (Setting Begin straight length to 0). So be careful in this case. I'm working on the fix!
Note: Straight Rewards v0.3.1 includes the fix for filtered decks
Answer 2: Hi, version 2.1.26 has been supported for a very long time now. I'm a bit confused by the Ankiweb update system however. It might be that you have to go to "Tools > Add-ons > Check for Updates" to manually update. I also updated the version number on this update. I think it should work now.

Genial!!

It stopped working on 2.1.24, can you look into it?
Comment from author
Hi.
It seems like you have to do a manual step to update Straight Reward if updated from Anki v2.1.23 or below to Anki v2.1.24 or above. What I had to do was go to "Tools > Add-ons > Check for Updates", which actually updated a few add-ons, like for example AnkiConnect. I developed Straight Reward for Anki v2.1.24+ some time back, and it actually has some improvements, and a nice new pop-up, when the Sync hook is triggered.
It seems like you have to do a manual step to update Straight Reward if updated from Anki v2.1.23 or below to Anki v2.1.24 or above. What I had to do was go to "Tools > Add-ons > Check for Updates", which actually updated a few add-ons, like for example AnkiConnect. I developed Straight Reward for Anki v2.1.24+ some time back, and it actually has some improvements, and a nice new pop-up, when the Sync hook is triggered.

I updated my Anki version just to try this out! So far so good

Thanks so much for the possibility to adjust the settings in the config! This removes the hassle of changing it separately for every deck. It enables batch editing with text editors.

So far so good

Awesome addon.

Excellent in avoiding Ease Hell! New update fixed the previous stop ease error and you can enable/disable notifications. Thanks a million!

Thank you a lot! I'm going to give appreciation and support your work.
Here is the discussion that preceded the development: https://www.reddit.com/r/Anki/comments/fd89pj/addon_presentation_straight_reward
It might help explain some functions.
Nifty solution for mobile reviews.
I am also surprisingly pleased by the cap ease option. I refrained to use the old Straight Reward for decks because the resulting ease would often be too high. Now I can choose to treat only the low-ease cards with the new Straight Reward.
About the ankiweb description: Base Ease Reward and Step Ease Reward could take a definition since they're not self-explanatory. The given example helps, though I have a question about it: Let's suppose the next rating, i.e. the 7th in a row, again is Good. Will the add-on be triggered? If it would be, that would be unexpected behavior based on how the old Straight Reward behaved.
May I ask, since you've also been a long-time user of Straight Reward, what options do you yourself use?
edit: Here's the author's reply: https://www.reddit.com/r/Anki/comments/fe1xne/fight_ease_hell_with_straight_reward/fjmzp5b/
edit2: Nice – the tooltip shows up just below Puppy Reinforcement tooltip!
Here is the discussion that preceded the development: https://www.reddit.com/r/Anki/comments/fd89pj/addon_presentation_straight_reward
It might help explain some functions.
Nifty solution for mobile reviews.
I am also surprisingly pleased by the cap ease option. I refrained to use the old Straight Reward for decks because the resulting ease would often be too high. Now I can choose to treat only the low-ease cards with the new Straight Reward.
About the ankiweb description: Base Ease Reward and Step Ease Reward could take a definition since they're not self-explanatory. The given example helps, though I have a question about it: Let's suppose the next rating, i.e. the 7th in a row, again is Good. Will the add-on be triggered? If it would be, that would be unexpected behavior based on how the old Straight Reward behaved.
May I ask, since you've also been a long-time user of Straight Reward, what options do you yourself use?
edit: Here's the author's reply: https://www.reddit.com/r/Anki/comments/fe1xne/fight_ease_hell_with_straight_reward/fjmzp5b/
edit2: Nice – the tooltip shows up just below Puppy Reinforcement tooltip!

My "stop at ease" is set to 249%.
I had a card of 245% ease.
Upon rating, it gained 7% ease via this add-on.
As a result, it has 252%.
Here's another example: https://imgur.com/k30MuFj
Stop ease for this 2nd example is at 250%.
As you see, stop ease is not working as expected 🤔
I had a card of 245% ease.
Upon rating, it gained 7% ease via this add-on.
As a result, it has 252%.
Here's another example: https://imgur.com/k30MuFj
Stop ease for this 2nd example is at 250%.
As you see, stop ease is not working as expected 🤔
Comment from author
v0.2 fixed this error. And v0.2.1 fixed another small error introduced by the prior change (haha...).

Perfect! Are both hooks ( Sync and Review) automatically activated or do we have to pick one of them or how is it?
Comment from author
Both are automatically activated. At the moment there is no way to activate/deactivate them separately.
Update 10.07.20: As of version 0.4.2, it is possible to deactive the sync hook separately.
Update 10.07.20: As of version 0.4.2, it is possible to deactive the sync hook separately.

Thanks for reviving and extending this add-on.

This looks awesome!