WaniKani Improve 2.2.2 — faster and smarter reviews

WaniKani Improve makes your review session faster and smarter.

To go faster on my reviews, I used to press the ENTER key twice after every answer sent, it became automatic. The problem is, after sending a wrong answer, without thinking I would press the ENTER key twice, moving to the next item without checking the right answer or mnemonic. WaniKani Improve fixes the problem. Check the features! After using it, I’m sure that you will not want to go back to the old way.

Feedback and bug reports are welcome. Feel free to edit, customize and do anything you want with the script. Let me know if you find it useful :slight_smile:

Download

The script is hosted at userscripts.org, if you use GreaseMonkey, Tampermonkey or another similar extension, just visit http://userscripts.org/scripts/show/174135 and install.
If you’re running an older version, you can just visit the link above and install again, that will overwrite your version with the new one.


Features

  • auto forward to the next item if the answer was correct;
  • adds an extra button to display previous item information;
  • the previous item information is displayed in a nice popup (qTip2 :heart:);
  • if your answer for the previous item was slightly off but accepted, the button will be colored yellow, so you can check what was wrong if you want to;
  • if the previous item has alternative meanings or readings, the button will be colored blue;
  • little popup information when an item has leveled up (apprentice, guru, master, enlightned, burned);
  • after every right answer in sequence your combo increases, and your record is registered. Compete with yourself to get the high score! (this info is not carried over other browsers and systems, it’s not registered in a database, so cleaning your browser cache will clean that information too. This has no meaning at all and will not influence your items queue or progress, it’s just for fun);


Screenshots








Latest changes

  • Synonyms were not displaying in the “previous item tooltip” after completing it;

I can only test when I have reviews to do, and I can only test the response for wrong answered items when I answer something wrong, so please be patient. If you’ve found a bug and know how to fix it, share with us and I’ll update the script :slight_smile:

2 Likes

Thanks! 

I suggest you reduce the timeout to about 200, it’s a bit slow at the moment. 

Satoshi said... Thanks! 

I suggest you reduce the timeout to about 200, it's a bit slow at the moment. 
 I have to agree, after reviewing 10 items I felt like it was way too slow. I updated the script, the timeout has been changed from 700ms to 350ms, but you still clearly see the bar turning green before moving to the next item. I feel uneasy when I don't see the green colour confirming that my answer was correct.

I have added an extra variable and an explanation above it, will be easier to find it and set a value that makes you comfortable.
Thanks for the update ! : )

However there are two problems:
  1. The previous item is updated every two items. I think you need to put currentItem = $.trim($('#character').text()); and currentType = $('#character').attr('class'); before the if (currentItem != previousItem).
  2. I won't have radicals to test for a while but I don't think the script will work on radicals. The url to the quickview for radicals needs to be the hyphenated radical's name.(that's mainly because a lot of radicals are just a picture).
Seiji said... I have to agree, after reviewing 10 items I felt like it was way too slow. I updated the script, the timeout has been changed from 700ms to 350ms, but you still clearly see the bar turning green before moving to the next item. I feel uneasy when I don't see the green colour confirming that my answer was correct.

I have added an extra variable and an explanation above it, will be easier to find it and set a value that makes you comfortable.
 Thanks! I like it as fast as possible so I'll set it lower. What do you think is the lowest setting where it would still work? If I set it too low will it produce some problems or it just won't go to the item?


thenn42 said...

I won't have radicals to test for a while but I don't think the script will work on radicals. The url to the quickview for radicals needs to be the hyphenated radical's name.(that's mainly because a lot of radicals are just a picture).
 I think it worked on radicals for me. I'm gonna test it soon again but I don't remember it not working. 
thenn42 said... Thanks for the update ! : )

However there are two problems:
  1. The previous item is updated every two items. I think you need to put currentItem = $.trim($('#character').text()); and currentType = $('#character').attr('class'); before the if (currentItem != previousItem).
  2. I won't have radicals to test for a while but I don't think the script will work on radicals. The url to the quickview for radicals needs to be the hyphenated radical's name.(that's mainly because a lot of radicals are just a picture).
#1 Fixed. Thanks!

#2 I forgot that WK uses the radical name in the URL. The radical name is not stored anywhere in the page, so I pulled the stored review queue to have access to all items and detailed information, but the returned info was a bit odd, so I aborted. Without a proper documentation it's just too much pain. As a dirty hack, the script gets your answer to form the proper url for radicals, but only works if your answer was right  :T



Satoshi said...
Seiji said... I have to agree, after reviewing 10 items I felt like it was way too slow. I updated the script, the timeout has been changed from 700ms to 350ms, but you still clearly see the bar turning green before moving to the next item. I feel uneasy when I don't see the green colour confirming that my answer was correct.

I have added an extra variable and an explanation above it, will be easier to find it and set a value that makes you comfortable.
 Thanks! I like it as fast as possible so I'll set it lower. What do you think is the lowest setting where it would still work? If I set it too low will it produce some problems or it just won't go to the item?

I think you can set to any value on 1.4.1, because now the script always go forward. If set too low, I think it will just not know if your answer was correct or not.

you are opening the details page in that popup, right?
since you now always auto forward you’ll always see reading and meaning if you want to check out your error or you simply didn’t know the answer and want to check afterwards…

Thanks!
Current version doesn’t work for me.
The other one from /t/Script-Cleverflow-A-stronger-faster-harder-better-way-to-reviews/2642/36 does.
Also, I’d prefer not to switch to next item in case of failure. Otherwise Wanikani Override is unusable.

homura said...Also, I'd prefer not to switch to next item in case of failure. 
This is why I'm still using the 1.3 version of this script. Here's the link. I also modified it to be faster than the original version. 
This obviously doesn't have the fixes from the 1.4.1. version but I never had any problems with this one. 

Replace the update URL in Tampermonkey with some gibberish (don't just delete it, that won't work) to prevent autoupdating.
Naryoril said... you are opening the details page in that popup, right?
since you now always auto forward you'll always see reading and meaning if you want to check out your error or you simply didn't know the answer and want to check afterwards...
True. v1.5 reverted it.


homura said... Thanks!
Current version doesn't work for me.
The other one from /t/Script-Cleverflow-A-stronger-faster-harder-better-way-to-reviews/2642/36 does.
Also, I'd prefer not to switch to next item in case of failure. Otherwise Wanikani Override is unusable.
 Try the v1.5, I think that now it's pretty much the way it should be. If you're injecting multiple scripts in the same page, they may conflict.


Satoshi said...
homura said...Also, I'd prefer not to switch to next item in case of failure. 
This is why I'm still using the 1.3 version of this script. Here's the link. I also modified it to be faster than the original version. 
This obviously doesn't have the fixes from the 1.4.1. version but I never had any problems with this one. 

Replace the update URL in Tampermonkey with some gibberish (don't just delete it, that won't work) to prevent autoupdating.
There's a bug until 1.3, triggered when the wrong answer is sent. v1.5 should be fine, but I didn't had any radicals in my review session, so I'm not sure about those.

1.5 is not working at all for me, I don’t know what’s the problem. I have Chrome + Tampermonkey

Satoshi said... 1.5 is not working at all for me, I don't know what's the problem. I have Chrome + Tampermonkey
 LOL no way, Satoshi D:
Working fine here, Firefox + Greasemonkey.

On my next review session I'll test on Chrome.

Update: Found the problem, fixed on v1.5.1 :)
Seiji said...
Satoshi said... 1.5 is not working at all for me, I don't know what's the problem. I have Chrome + Tampermonkey
 LOL no way, Satoshi D:
Working fine here, Firefox + Greasemonkey.

On my next review session I'll test on Chrome.

Update: Found the problem, fixed on v1.5.1 :)
 There is a new bug: the previous item button refers to the current item.
I think that's because $('#question-type').bind('DOMNodeInserted',...) is fired several time per question.
(I use chrome + tampermonkey)

Also, thanks for fixing the bug when the reading and meaning of the same item appear one after the other. ^^

maybe another feature request:
in 1.4 you colored the info button red if the answer was incorrect. is it doable to color it if the review was correct and there was the “you made a typo” or “there are other correct anwers” message. maybe even use different colors for those. it’s not a must have, but might be a nice addition.

Thanks for the new update, it seems everything is working fine :slight_smile:

thenn42 said...
Seiji said...
Satoshi said... 1.5 is not working at all for me, I don't know what's the problem. I have Chrome + Tampermonkey
 LOL no way, Satoshi D:
Working fine here, Firefox + Greasemonkey.

On my next review session I'll test on Chrome.

Update: Found the problem, fixed on v1.5.1 :)
 There is a new bug: the previous item button refers to the current item.
I think that's because $('#question-type').bind('DOMNodeInserted',...) is fired several time per question.
(I use chrome + tampermonkey)

Also, thanks for fixing the bug when the reading and meaning of the same item appear one after the other. ^^
Fixed on 1.5.2, thenn42. Thanks for reporting!

1.5.2 tested on Firefox + Greasemonkey and Chrome + Tampermonkey. I *think* that now everything is okay.


Naryoril said... maybe another feature request:
in 1.4 you colored the info button red if the answer was incorrect. is it doable to color it if the review was correct and there was the "you made a typo" or "there are other correct anwers" message. maybe even use different colors for those. it's not a must have, but might be a nice addition.
 That may be possible, I'll check it out on my next review session :)
Naryoril said... maybe another feature request:
in 1.4 you colored the info button red if the answer was incorrect. is it doable to color it if the review was correct and there was the "you made a typo" or "there are other correct anwers" message. maybe even use different colors for those. it's not a must have, but might be a nice addition.
 Implemented on 1.6. Thank you for your suggestion :D

Note that I wanted to keep it simple, so I've added only two possible colors, and only one will be displayed at time.

If your answer was a bit off, the button will be yellow.
If there are other possible answer to the previous item, it will be blue.
If there are other possible answer and the answer you gave was a bit off, the button will be yellow, because it's more important to let you know that your answer was not 100% correct (even if it was just a typo).
If your answer was correct and there are no other possible answer, the button will be the default white/grey.

I may update the script later to show in the button and/or popup what you answered, so you can compare.

Everything tested on Firefox + Greasemonkey and Chrome + Tampermonkey.

amazing, thanks

Hi Seiji, I took a test run of your script.  I love your coding I think you’ve inspired me to learn some more javascript/html.

Anyways,  It may be personal preference, but I kind of miss the flash of green you get when an item was correct.
I realize you can adjust that in the settings, but you’ve included a default of 0 that most people won’t change.
It’s such a powerful visual solidifier.  It’s reinforcing your memory with colour association and helps move forward through the queue with more ‘encouragement’ if you will, every item.  Maybe change the ‘default’ to as little as 200ms would bring back a really important part of the review process.

Secondly, your first and second items are sometimes not being updated correctly in the ‘last item’ box.  I think maybe if a radical is involved? I’m not sure I can’t seem to reproduce it.

はい以上です

Jatacid said... Hi Seiji, I took a test run of your script.  I love your coding I think you've inspired me to learn some more javascript/html.

Anyways,  It may be personal preference, but I kind of miss the flash of green you get when an item was correct.
I realize you can adjust that in the settings, but you've included a default of 0 that most people won't change.
It's such a powerful visual solidifier.  It's reinforcing your memory with colour association and helps move forward through the queue with more 'encouragement' if you will, every item.  Maybe change the 'default' to as little as 200ms would bring back a really important part of the review process.

Secondly, your first and second items are sometimes not being updated correctly in the 'last item' box.  I think maybe if a radical is involved? I'm not sure I can't seem to reproduce it.

はい以上です
 Your life won't be the same if you learn JS & CSS. Using Greasemonkey/Tampermonkey and/or CSS injection extensions changes your web experience. You can change a website's colors, font, font size, background, anything that is rendered or executed on your machine. I think it's worth! :)

I used to like the green confirmation too, but after some time, started to find it annoying. Of course, this is a personal preference, so everyone is welcome to change it. Added a bit more information about it in the script's home and in the source code.

I couldn't reproduce the bug you reported, but on the newest 1.6.3 I'm using a different approach to deal with radicals. You can check the console log and see what is happening, I send all variables there to make it easier to anyone debug the script :)
To check the console log, it's CTRL+SHIFT+K on Firefox, CTRL+SHIFT+J on Chrome.