Application Usage

Android UI


After you install the application you will see a screen saying there are no cards found in the cards directory.
You should copy your cards file into that directory. By default the directory is "Memento" on your main Android storage.
Cards can be created from dictionaries with our utility.

For your convenience we generated several cards files for different popular language pairs.
You could download them directly in the mobile application.
The download screen is accessible from the "welcome" screen or through the "Switch Cards" menu.
The application does not replace existing files. If the file to download exists already then the "download" button is disabled.


After you copy a cards file it is automatically opened.
The spaced repetition algorithm displays the word (or collocation) which you are most likely have not memorised yet.
In order to see the answer slide the screen. If you want to hear a sound sample tap on the question screen.
Font sizes are changed through multi-touch.

Delete Known Words

Usually, the cards we created contain words which you already know and which do not require studying.
In order to customise your words list switch into edit mode (the "Words" menu) and remove them.
Words in our cards are ordered by frequency. So you will probably like to remove the first N words or collocations.
In order to remove large set of words use "autoselection". If autoselection is turned on words will be automatically marked as they appear on a screen.
You could also remove the currently shown word on the study screen.
Current scroll position is saved in the cards file. That means you don't need to scroll the whole list from beginning after phone reboot.

See Progress

On the "Statistics" screen you could see your study progress.
"Completed" words are the words which you answered right 7 times sequentially.

Cards Files

Cards files are files with extension ".mc" which can be opened by the application for studying. They contain study and private data. Study data is an ordered list of words to study, theirs translations, transcriptions and sound samples. Private data is data stored in the file after you start using it. It consists of studying progress, set of words removed in the application and edit mode scroll position. Avoid giving your cards which you have used already to another person because study schedule would be based on your results. Cards which you download from our web-site or generated from scratch do not contain private data. When you update your cards file with our utility it recreates study data but the private data is preserved (by default). If you update you mobile phone you could copy your cards files from old phone to the new one and continue studying as before. Our application supports multiple cards files. In order to switch between them select the "Switch Cards" menu item.

Spaced Repetition Algorithm

Forgetting Curve

Probability of human memory to recall information is calculated by the formula

P = e -t/T, where
P — probability to recall a word,
t — period of time after the last repetition,
T (>0) — retention coefficient. The higher it is the more strongly we know the word.

Coefficient T is defined by characteristic of words called retention level. Every retention level matches corresponding coefficient T.
So at any time knowing repetition times and retention levels of our articles we can calculate theirs forgetting/recall probabilities.

Retention Levels

Retention levels are discrete values from 1 to 7 (1,2,3,4,5,6,7).
Initially retention levels of all words are equal to 1. That means we assume we do not know any word at all.
Every time when we answer correctly the retention level of the word is increased by 1.
If we check ourselves and discover we have answered incorrectly the retention level is decreased by 1.
Retention level cannot decrease below 1 or be higher than 7.
"Completed" words on the statistics screen are words with retention level 7.
Application settings contain forgetting period parameters which serve for mapping retention levels to retention coefficients.
Forgetting period N is period of time (after the last repetition) when probability to recall a word with retention level N is equal to 1/2.

Words Selection

You may choose 1 of 2 words selection algorithms: "More Effective" and "More Random".

More Random

The application picks words randomly but probabilities of words selection are proportional to forgetting probabilities.

More Effective

The application picks the word with the highest forgetting probability.
Small (5%) random fluctuations are added to shuffle cards ordering.

Recall Threshold

If recall probability of some word is higher than recall threshold then that word will be considered as "well known" and will be not shown (until the recall probability is decreased below the threshold).
Too frequent repetition of well-known words could annoy users and cause "overlearning".
You could find that parameter in application settings.

Creating Own Cards

In order to create own cards you need:

Memento Cards Utility

Our utility is a command line application. Download it for your operating system and run in a terminal without parameters to see usage.
The utility requires Java 6 or newer to be installed. Download it here.

Words Lists

Typical candidate for words lists is a frequency list of the studying language. You could download few frequency lists from our web site. You could also create words lists from a book content which you want to read or write it by yourself. Note words lists files must be encoded in UTF-8.


Only 2 dictionary formats are currently supported: XDXF and a proprietary text format. Please use the "makedict" utility to convert your favorite dictionary into XDXF.
Some dictionaries have good transcriptions but bad translations and vice versa. That is why while creating a cards file you should specify dictionaries for transcriptions and translations separately. But obviously it is possible to specify the same dictionary for both transcription and translations.
You may skip transcription dictionaries but at least 1 translation dictionary is mandatory.

XDXF Dictionaries

XDXF is not fully supported. Supported tags are: "k" (transcription), "tr" (translation), "b"(bold), "i" (italic),"sub" (subscript) and "sup" (superscript).
Although support of the format looks limited we found it is enough for almost all available XDXF dictionaries. We checked approximately 200 dictionaries and have found only one which used not supported "c" tag (that colour tag would be simply ignored, and the font colour would be black).
"img" tag for images is not supported for now but we plan to implement it in further releases.

Text Dictionaries

You could make dictionaries by yourself. Text dictionary is an UTF-8 encoded file having the following format:

    <dictionary> ::= <article section> [<dictionary>]
    <article section> ::= ARTICLE:<article>[<TT sections>]
    <TT sections> ::= [<transcription section>|<translation section>][<TT sections>]
    <transcription section> ::= TRANSCRIPTION:<transcription>
    <translation section> ::= TRANSLATION:<translation>
Note all key words "ARTICLE:", "TRANSCRIPTION:", "TRANSLATION:" must be in begin of lines and must be written in capital letters. Do not forget about colons.
<article>, <transcription> and <translation> are multi-line texts which do not contain keywords starting any line.
Leading and trailing spaces are removed.
As you see any article could have several transcriptions and translations.



    TRANSLATION: A group of things of the same kind
    that belong together and are so used.

    TRANSLATION: Put into a certain place or abstract location

    ARTICLE: direction
    TRANSCRIPTION: dɜrˈɛkʃən


    TRANSLATION:A line leading to a place or point
    TRANSLATION: A formal statement of a command or injunction to do something


Every article could have 0-9 sound samples. If no samples are found for some word, android TTS engine is used.
Copy samples in mp3 or ogg format into directories matching speech variants. For instance you could have 1 directory for male samples and another directory for female samples.
File names without extensions should match words (or phrases) ignoring letter case.


The application cannot guess which accent must it use while speaking through Android TTS.
That is why you need to specify Text-To-Speech accent while creating cards.
Set the mandatory "-a" option to one of IETF language tags.
Examples: zh-CN (Mandarin), en-US (American English), ru (Russian), es (generic Spanish), fr-CA (Canadian French), ar (Arabic), pt-BR (Brazilian Portuguese), de (German), ja (Japanese)