The key to learning foreign languages (or anything for that matter–I have a rant on that I’m working on) is proper use of an SRS. An SRS, or Spaced Repetition System is an algorithm for managing flashcards in the most efficient manner possible. Current SRS programs use the state of the art in cognitive science to predict how long it will be until you are at risk of forgetting a fact, and schedule your review of the material accordingly. The first review might be in a few hours, the next in a few days, then weeks, months, years… The result is that use of an SRS has enter-and-forget [sic] semantics–once you put a fact into your SRS, you don’t ever have to deal with the logistics of remembering that fact. Just make sure you open up your SRS to review at least once a day and it’ll handle all the details for you
So what SRS do I recommend? For a while I had been using jMemorize, an open source SRS that shows great potential. However at the time of this writing some very critical features are missing, and I can’t say I like the bare-boned scheduling algorithm it uses. It’s open nature put it far ahead of the competition though, and for the last six months or so I had been using my own hacked version of it.
But then I discovered Anki. Anki’s user interface is beautiful. It’s feature set has almost everything you need. And it’s scheduling algorithm is perfect. There are a few things that annoy me. For example, I can’t get cards with images to sync correctly to Anki’s server. But jMemorize lacks support for either images or syncing.. so really, who am I to complain?

3 comments
Comments feed for this article
July 20, 2008 at 8:50 pm
Link: “How to score yourself on SRS repetitions” « All Mandarin, All The Time
[...] 20, 2008 in Uncategorized | Tags: Anki, method, SRS | I think I’ve mentioned that prior to using Anki, my experience with SRS software was limited to jMemorize and Reviewing [...]
July 28, 2008 at 8:26 am
Hooper
Jmemorize now has support for images. So there!
July 28, 2008 at 5:27 pm
jinsei
Touché.
Now if only jMemorize would add support for sound files, multi-field cards, an SM2-derived scheduling algorithm, and per-card plugin support I’d happily convert back. What jMemorize does have going for it is a more accessible card format (gzipped xml)…