OpenCards

OpenCards is a free spaced repetition flashcard program. The software is similar to SuperMemo, Anki or Mnemosyne.

The flashcards are saved as PowerPoint presentation files and may include text, images, sounds and LaTeX equations. The learning states are saved in hidden meta-data files in the same directory as the flashcards files. OpenCards implements learning schemes for short-term and long-term memorization.

Flashcard Format


OpenCards uses PowerPoint ppt-files as flashcard sets. Thereby, slide-titles are considered as questions and the slide contents as their answers. OpenCards also supports a reversed mode in which slide contents are treated as questions and the slide title as their answers, which allows creating image, formula or sound questions.

Allowing users to create flashcard files in ppt-format with PowerPoint or LibreOffice overcomes the major limitation of other flashcard software, which usually rely on custom formats and flashcard editors. Internally, OpenCards relies on Apache POI to render slides from ppt-files.

Learning Modes
OpenCards implements two different learning models. A box-based short-term learning procedure, called last-minute learning, and a more sophisticated long-term memorization model based on the principles of active recall and the forgetting model. The latter is implemented as an improved version of the SuperMemo2 algorithm. The SM2 algorithm had been created for SuperMemo in the late 1980s, but still forms the basis of many spaced repetition software applications. OpenCards's implementation of the algorithm has been modified to allow priorities on cards, and to show cards in order of their urgency.

History
OpenCards started as flashcard learning extension for OpenOffice Impress in spring 2008, from which it inherited the first part of its name. In 2008 it won a Bronze award in the OpenOffice.org Community Innovation Program.

In 2011, OpenCards was redesigned to work as stand alone software and to support PowerPoint PPT files as the main flashcard set file format.

Syncing
OpenCards implements no synchronization mechanism, but flashcard sets including their learning states can be synced using services like DropBox. This allows the user to keep their flashcard sets synchronized across multiple computers.