I study Japanese while living in America for about 2 solid years (For a long time I kind of studied, but never seriously like I am now). I've completed the first Remembering the Kanji book, and I'm using a technique I sort of created called "KanjiTown" to remember the ON yomi (The only consistent reading) of all the kanji. KUN yomi is not consistent, so I remember those one at a time as I encounter them. So right now kanji is not a problem, and I'm mainly focusing on vocabulary. But even though I don't consider kanji a problem, if I don't review the stuff I learn I will eventually forget it, no matter how good of a mnemonic device I've used to remember it to begin with. Hence my problem, seeing as I don't live in an environment where I'm surrounded by kanji. So what I need is a good schedule of review to ensure that I don't forget the vocabulary words I'm learning. (Right now I'm learning about 40 new words/expressions/idioms a day, so I need something effective). This is where Supermemo comes into play.
Supermemo is a program in which you input information in the form of flashcards (Or a QUESTION side and an ANSWER side), and you are forced to review it when Supermemo calculates you are probably going to forget it. And when you do review the flashcard, there is a self-grading system in which you tell Supermemo how well you remembered the desired information. Depending on how well you remember (or forget) the information, Supermemo reschedules it to another time when you are about to forget it. If you continue using Supermemo every day (Because you don't know when you're going to forget a word), you should remember everything you put into it (Or around 95%, which is the case with me right now).
The GUI is not pretty, but it gets the job done. Once you get to use it, you realize that you're learning a great deal, and you want to put more and more into it; a sort of snowball effect.
I've tested it with single vocabulary words, expressions, idioms, kanji, and just about anything else I can test this program with, and it works. I currently have more than 6,400 "flashcards" within my Supermemo database, and I add more at the rate of 100 a day, and I have a rate of 95.7% retention. According to the Supermemo web site (Which is MASSIVE), it claims that it is the 'fastest method of vocabulary retention in existence.' I've used the program for about 3 months, and that claim so far seems correct.
www.supermemo.com