Skip to content

Moved from Mnemosyne to FlashcardDB

When I was studying Spanish last year, I had to choose a flashcard program to memorize new words. At the time, I couldn’t find any on-line program that just did the job and did it well. In a comment on my blog post from last year, however, I was pointed by Jeff to his amazing FlashcardDB.

The program I ended up with last year was Mnemosyne. Mnemosyne is not based on your regular Leitner system, but rather on a concept where, after each card, you have to indicate yourself how well you have remembered it. I found that, in the end, having to tell the system in which box to put the card instead of just saying if my answer was right or wrong was taking me more effort than the actual recollection of the information. Also, as someone who rarely remains at one place for very long, a desktop program just isn’t as practical for me as an online program.

With Mnemosyne, I had to constantly remind myself of a complicated grading system.

Now to FlashcardDB. The site is pretty social, which means that you can study (and sometimes even edit) card sets made by other users. When you sign up, you can also create card sets yourself. Card sets can be tagged and you can study these tags instead of individual card sets if you wish. If you already have cards somewhere else, import is easy as well.

The user interface is very slick, especially for such a new program. Thoughtful usage of AJAX means that you’re never distracted by page reloads when this would interrupt your flow of thought. Simple key bindings making studying an easier affair than in most desktop programs. The right arrow is used to show the answer, the up arrow (thumbs up) to mark the answer as correct, the down arrow (thumbs down) to mark the answer incorrect and the left arrow to go back to the previous card. Also the interface for adding cards is very pleasant. It’s just a matter of filling in the front of the card, pressing Tab, filling in the back of the card, pressing Tab, then Enter and on the next card.

Before going on to the conclusion, I want to add that also the Leitner system is very well implemented in FlashcardDB, including pretty diagrams to make it instantly clear to everyone how the system works. Now for my conclusion: My advice if you ever need to make flashcards yourself is that you really should take a look at FlashcardDB before looking at anything else.

Finally, the following Ruby code is a quick hack I used to convert Mnemosyne’s XML export to CSV data which can be imported by FlashcardDB:

require 'rexml/document'
require 'csv'
xmldoc =$stdin)
CSV::Writer.generate($stdout) do |csv|
  xmldoc.each_element('//item') do |el|
    csv << [  el.elements[1,'Q'].text, el.elements[1,'A'].text  ]

    3 Comments ( Add comment / trackback )

    1. On May 27, 2009 at 10:18

      […] great help to me when, later, I can quickly pick up a problem where I left it. Also, sometimes, a better solution is thrown at […]

    2. (permalink)
      Comment by Rowan Rodrik
      On August 10, 2009 at 12:03

      I’ve received an email from Ali Yildirim about Cobocards. Cobocards seems like another pretty funky alternative to FlashcardDB. Although I don’t plan to test it myself (because I’m still very satisfied with FlashcardDB) I’ve asked Ali to add a comment here detailing some of the advantages which he feels that Cobocards has over FlashcardDB.

    3. (permalink)
      Comment by Ali
      On August 10, 2009 at 12:21

      Cheers Rowan,

      well the main benefit of Cobocards is that you can use it in a team, i.e. collaboratively. 2-3 friends come together and start a flashcard set in Cobocards, they share the workload. You can even study together by using the integrated chat or via VoIP-Software (e.g. Skype). Cobacards is really easy to use.

      Just check out the short video on

    Post a comment


    Your email is never published nor shared.

    Allowed HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>