For the last two weeks I’ve been using Mnemosyne as my primary spaced repetition flashcard system. As such, I don’t want to present myself as an expert on the app, but I’ve become familiar enough with it at this point that it’s become integral to my learning.
Spaced repetition is an optimized approach to rote memorization. Sometimes it goes under names like spaced retrieval, repetition spacing, repetition scheduling, expanding rehearsal, and so on. The method consists of using physical or digital flashcards to test the state of each item’s retention. The user grades each card A through F, or 5 through 1, depending on the system. Then the card is scheduled for its next rehearsal on an interval that follows an empirically determined “forgetting curve.”
Memory research has shown that humans forget exponentially, and that it’s possible to more or less predict how well someone will score on the recall of a particular item based on the amount of time that’s gone by after the last perfect score. Armed with this knowledge, spaced repetition systems aim to rehearse the information at the moment just before the learner is predicted to start forgetting it. In most implementations, a card is repeated when the learner is expected to recall the card with 90% accuracy.
Students typically rehearse every card in a deck with each session when using conventional flashcards. In space repetition, the entire deck is run through once for scoring purposes. The following day, only a fraction of the cards are rehearsed: the ones most poorly scored. Cards with C or 3 scores might be seen in 2 or 3 days, but not before. The cards with A or 5 scores will not be seen for 6 or 7 days. The intervals for reviews of the same card will expand or contract based on how it’s card with each iteration. In other words, the system determines the which cards are reviewed and when, not the user.
SuperMemo
By far the most famous and infamous application for spaced repetition is Piotr Wozniak’s SuperMemo. I’ve been using SuperMemo in one form or another since 1998, mainly the Palm OS version. The desktop version is feature-packed, but I prefer the simplicity and portability of the Palm version, despite some serious limitations. Since the current desktop version, Supermemo 2006, will set you back $45.00, you might want see if the older SuperMemo 98 freeware does what you need.
SuperMemo claims to enable the user to “learn to up 10-50 times faster.” While the claim may or may not be backed up by empirical evidence, I do know from my own experience that SuperMemo does enable me to learn a hell of a lot more material than I would be able to otherwise. This isn’t some slick repackaging of a mnemonics course that claims to bestow a photographic memory.
As noted, only a fraction of the entire body of material is scheduled for rehearsal on any particular day. Out of 134 cards, you might have 18 scheduled that day, which could be completed in a few minutes. So the natural impulse is to add more material into the system for a fuller study session. Before long, you start taking the idea of learning and retaining 30 new items a day for granted.
The biggest advantages of the desktop version are the ability to add sound and images, support for HTML, and what Wozniak calls “incremental reading.” Sound and image support are clearly needed for many subjects, like language learning, anatomy, geography and art history. SuperMemo’s HTML support enables the user to import whole web pages and preserve their rich formatting. The Palm version is limited to text. If you have a Pocket PC or Windows Mobile phone, the Pocket PC version of SuperMemo does support sound, image and HTML.
Incremental reading is something that never really worked for me, though I think that’s a failure on my part. With incremental reading, the user imports whole web pages for scheduling, just like individual flashcards. On the first exposure, the user either reads the entire article or some of it, marking the read portion, which gets scheduled for later repetition. The user has the option of blocking out irrelevant passages to prevent them from being repeated.
With subsequent readings, the user theoretically selects smaller, more essential passages for repetition (remember: subsequent repetitions are staggered further and further out into the future), and blocks out more nonessential material. So articles get atomized into smaller and smaller chucks to the point of becoming flashcards. According to Wozniak, this approach allows a person to learn and retain any number of articles.
For people in highly specialized professions, like engineering, I can see the benefit of queueing dozens of articles and papers to stay current, but for me, it was more trouble than it was worth, but I think I may be misunderstanding part of the process on some level. I may reapply myself to the technique in the future.
The biggest problem that I and others have had with SuperMemo in general is the user interface. While new features have been added at an impressive rate, the interface, like the SuperMemo website, seems to be stuck in 1995 (the app is written in Delphi, which should tell programmers something). Nothing is as intuitive as is should be, and it’s difficult to use any feature without referring to the Help pages. The sheer volume of documentation made available should be a sign that the application’s usability has a significant improvement opportunity.
Mnemosyne
Recently, a wave of open source apps has emerged that use the same or similar spaced repetition algorithms as SuperMemo. While SuperMemo’s code is closed and proprietary, Wozniak has never hesitated to publish his algorithms.
My first departure from SuperMemo was OpenCards, a spaced repetition extension for OpenOffice Impress. I never really had a problem with OpenCards, aside from the overhead of OpenOffice’s bloated code, but I would have preferred to have a simpler data entry procedure than creating slides for flashcards.
After reading a number of “Mnemosyne FTW!” comments in response to Lifehacker’s article on the excellent Wired artcle about Wozniak and SuperMemo, I decided to give Mnemosyne (named after the Greek goddess of memory) a try. The first time I created a database in Mnemosyne, I was hooked — it was exactly what I was looking for. It has dead simple Q & A entry fields, supports basic HTML markup, supports sound and images, and has a beautifully zen interface that doesn’t overwhelm the user with analytics.
Entering cards
The general process is like other spaced repetition apps. You add a question in the question field and the answer in the answer field. You can format questions in the usual question phrasing “What is the symbol for copper?”, synonym pairs (“Copper” for the question, “Cu” for the answer), or what’s formally known a cloze deletion — a fancy way of saying fill-in-the-blank (“The symbol for copper is [ ]“). Unlike Supermemo, you grade the item for the first time on initial entry. If you grade it 0 or 1, you’ll see it in a review session as soon as you finish entering cards. Cards graded higher are seen later. You might not see a card again for over a year if you score perfectly on it several times.
It’s possible to review cards in reverse order by checking the “Add vice versa too” box when the card is entered or edited, but Mnemosyne will only show the reverse order after the forward order is learned first.
One aspect of SuperMemo I prefer to Mnemosyne is the ability to assign categories within subjects. For instance, you can have “Nervous System” and “Skeletal System” as categories of a database called Anatomy. With Mnemosyne, categories and subjects/databases are synonymous. You have to run through all of your anatomy cards without distinction. You can review an individual category, but by default Mnemosyne runs all databases in one session.
Other features
Mnemosyne supports Unicode and LaTeX, so it’s possible to add foreign scripts and mathematical formulas as flashcards. For Linux, you’ll need divpng in addition to LaTeX. Windows users can just use MiKTeX. I haven’t tested the image or sound features yet since I haven’t needed them, but next month I’m going to be learning Mandarin Chinese, so my plan is to import clips from the new Michel Thomas CD set for the language.
The Statistics reports are pretty bare bones compared to SuperMemo, but I prefer it that way. You can see how many cards are scheduled for each of the next seven days, see the percentage distribution for answers scored in grades 0 through 5, and see the number of total cards you have in each category.
Importing cards
Like SuperMemo, a user community for exchanging databases helps relieve the need to create new sets of cards from scratch. The number of databases is fairly slim at the moment, but I expect it to grow rapidly as more people discover the program.
You can also import databases from text files where each line in the file is a question/answer pair separated by a tab. You can do the same in a spreadsheet saved as a tab-delimited file. SuperMemo 2006 text-only cards can be imported, and Palm SuperMemo databases (with proper conversion through a Python utility) can be imported as well.
Is it worth it?
Critics of flashcards of every type rightly point out that there’s more to learning that memorizing; understanding is essential. There’s no arguing with that point, since things like assigned reading for a humanities class cannot be reduced to mere data.
More importantly, in order for the learner to have material to memorize, he or she has to create that material, which requires the skill of reading source material and astutely extracting the critical information from it; then correctly formatting it into question and answer pairs that are easy to digest. Proper question/answer formatting for equivocally presented material takes discipline and practice. I’d recommend reading Wozniak’s 20 Rules of Formatting Knowledge from the SuperMemo website for a better understanding of how to parse material for good flashcards.
Since Mnemosyne is free, there’s no downside to trying it, but if you use flashcards at all, this program or some other spaced repetition app like it are a quantum leap beyond conventional rote memorization. Even though I have a license for SuperMemo 2004, the first version to support incremental reading, I’m going to continue using Mnemosyne as my default. But who knows? Maybe I’ll give SuperMemo’s incremental reading another try.
Technorati Tags: Technology
Comments
Dat Chu
// Sep 21, 2008 at 9:38 pm
Thanks for a rather details look into Mnemosyne vs Supermemo. I am in the process of trying out Mnemosyne myself. However I have some problems getting Miktex to work with Mnemonsyne. Do you have any recommendation on the steps to be able to write latex equation in Mnemosyne?
Andre
// Sep 22, 2008 at 9:51 am
Unfortunately this comment editor’s markup rendering won’t display non-HTML tags, so I can’t write out my answer. Try these instructions.
lawrence
// Jan 10, 2009 at 1:50 pm
i have the same problem as Dat Chu. The “instructions” on the suggested page on the mnemosyne site are useless.
william
// Apr 22, 2009 at 8:36 am
Hi,
Maybe you can try adding a space between the “=” and “z”
x^2+y^2= z^2
I tried it and it worked. Prior to it, I only get a blank space.
gersapa
// Jul 27, 2009 at 12:59 pm
I agree with you simplicity is a must in any program, and this becomes specially true when dealing with the program that should be bound to stay with you a lot of time. Painfuly complex as it has been though, I continue using SuperMemo, perhaps this is just a geeky thing.
JyBy
// Aug 28, 2009 at 12:36 pm
I tried mnemosyne, and got a bit frustrated when I discovered that the buttons 3 to 5 are acting exactly the same… I like simplicity, but in this case it looks like a bad close of Supermemo: if there is only three actions for the user, then there should be only three buttons!
In the defense of the three values instead of five, I would say that I am dubious about Super Memo’s self-evaluation. I would be curious to find a software based on multi choice questions and/or web2.0 input to have other forms of evaluation: self evaluation on a scale from one to five won’t be the same from one user to the other…
gen7ux
// Jan 6, 2010 at 4:46 am
need help with this if possible..
I would like NON-RANDOM ie sequential flashcarding ability.
I cant get mnemosyne to do this. Any help/suggestions would be greatly appreciated.
Andre
// Jan 6, 2010 at 11:07 am
Supermemo can do this in Drill Mode, without the spaced repetition. I’d assume that any standard flashcard app that doesn’t use repetition spacing supports sequential, non-random queuing.