FAQ: Technical questions about SuperMemo

SuperMemo can keep a billion items
(Matt Cassidy, New Zealand, Oct 2, 1997)
Is there a limit to the number of elements that a collection can have?
SuperMemo for Windows has been designed to be able to theoretically accommodate over 1 billion elements; however, for various reasons (e.g. speed) it probably does not make sense to go beyond 500,000. The largest collection tested at SuperMemo World by April 2002: 250,000 items (users reported systems of around 350,000 elements). You can greatly increase the speed of the program with a large number of long texts by unchecking Tools : Options : Access : Compile lexicon on-the-fly

Identical texts get stored only once
(Shaun Hoffland, UK, Jul 15, 1997)
If I add an identical text component to each item in a given branch in the contents window, does the text get duplicated and increase the size of the collection?
No. All texts are stored in the registry only once. Each item references the same entry without increasing the size of the collection

The source code of SuperMemo is third of a million lines long

How many lines of code are there in different versions of SuperMemo? What language was it written in?

  • SuperMemo 1 - 3,000 lines (Turbo Pascal 3), 1987
  • SuperMemo 2 - 4,000 lines (Turbo Pascal 4), 1988
  • SuperMemo 5 - 8,000 lines (Turbo Pascal 5), 1989
  • SuperMemo 6.7 - 13,000 lines (Borland Pascal 7), 1992
  • SuperMemo 7.5 - 27,000 lines (Borland Pascal 7 for Windows), 1995
  • SuperMemo 8.4 - 55,000 lines (Delphi 1.0), 1997
  • SuperMemo 98 - 69,016 lines (Delphi 3.02)(Aug 30, 1998)
  • SuperMemo 99 - 76,112 lines (Delphi 4.0)(Sep 17, 1999)
  • SuperMemo 2000 - 97,064 lines (Delphi 5.0)(Oct 23, 2000)
  • SuperMemo 2002 - 117,009 lines (Delphi 6.0)(Apr 18, 2002)
  • SuperMemo 2004 - 143,595 lines (Delphi 6.0)(Aug 30, 2004)
  • SuperMemo 2006 - 267,300 lines (Delphi 2006)(Mar 6, 2007)
  • SuperMemo 2008 -  280,732 lines (Delphi 2006)(Aug 1, 2009)
  • SuperMemo 15.0 - above 320,000 (Delphi 2010)(expected 2012)

Please note that the number of lines of code is a poor measure of software quality and complexity. For example, SuperMemo 2004, removed a few thousand lines of code to make the program less complex. It also added lots of lines that only marginally affect functionality (e.g. PNG support units). SuperMemo 2006 includes lots of libraries and components that dramatically increase the size of code. These do not change the fact that for most users, SuperMemo 2006 seems only a small step forward as compared with SuperMemo 2004

Two instances of SuperMemo in memory
(Beta, Australia, Wed, Mar 06, 2002 6:50)
It is possible to get two copies of SuperMemo running at the same time. This does not happen with other programs
It is up to the application to decide if additional instances in memory are allowed. Many programs have multiple instances blocked whenever it makes little sense to keep two sets of same data in memory or where it is difficult to safeguard multiple access to the same data. However, multiple instances can be useful (e.g. pasting texts between instances of Notepad). Multiple instances in SuperMemo can be useful for comparing or pasting data (e.g. comparing backup collections). This procedure could be dangerous if two SuperMemos attempted to access the same collection at the same time. However, this is disallowed by design

You can quickly import SuperMemo 8 collections to the newest SuperMemo

Are SuperMemo 15 collections compatible with SuperMemo 8, SuperMemo 98, SuperMemo 99, etc.?
Yes. It is enough to open old collections (choose *.kno file in File : Open collection) and the whole upgrade process will proceed automatically. For large collections such as Advanced English, this process may take 30-40 minutes! There might be minor incompatibilities in scripts, in sizing components and in the way some tests execute.
Important! The upgrade process is irreversible! You will not be able to use upgraded collections with older versions of SuperMemo

You can find here the contents of files used by SuperMemo
(Armin Werner, Germany)
What is the contents and function of particular files in SuperMemo directories?

See: Files used by SuperMemo

SuperMemo will not shed its authoring features in the future
(Zoran Maximovic, Yugoslavia, Aug 16, 1998)
Do you plan to write two version of SuperMemo for developing and viewing collections? Like Acrobat Reader and Adobe Acrobat?
No. This would contradict our important claim that all learning material should be highly customized for an individual learner, and enhanced with individual comments and mnemonic clues. We would like all users to know how to change the learning material that is difficult to remember. There is no universal formula for well-structured material. A good item for one student may cause recall problems in another. This is because of knowledge interference that may come from different culture, language or simply different material stored in the same collection. BTW: it is not true that read-only SuperMemo would be visibly faster due to eliminating the editing options. The size of code might be reduced by 30-40% resulting in invisibly reduced loading time. The reading and presentation options would work in the same way as in the full version. Note that apart from read-only and learn-only modes, SuperMemo introduces four levels of difficulty that cover some of the goals accomplished by separating presentation and authoring functions

What is the size of SuperMemo collections?

What is the size of SuperMemo collections in KB?
For early versions of SuperMemo it used to be (5+0.1*Total) KB, where Total is the number of text elements in the collection (additionally sounds used to contribute 10-20 KB per word and pictures 20 KB per picture).
SuperMemo 8 introduced extensive object indexing in the form of registries and made it possible to add a great deal of multimedia files. Consequently, the size of collections increased substantially to 0.5*Total KB for standard question-and-answer collections (a five-fold increase). For example:

  1. A 1000-element question-and-answer vocabulary collection takes 0.5 MB on average
  2. An incremental reading collection with 200 average articles from the Internet might already take 10 MB
  3. Advanced English 97 with 40,000 items occupies 30 MB in primary storage (texts) and 600 MB in secondary storage (sounds on CD-ROM), etc.

What is the size of the SuperMemo program?

What is the size of different versions of SuperMemo in KB?

  1. SuperMemo 2 - 77 KB (1988)
  2. SuperMemo 5 - 108 KB (1989)
  3. SuperMemo 6 - 160 KB (1992)
  4. SuperMemo 7 - 515 KB (1995)
  5. SuperMemo 8 - 1.71 MB (1997)
  6. SuperMemo 98 - 2.31 MB (1998)
  7. SuperMemo 99 - 2.53 MB (1999)
  8. SuperMemo 2000 - 2.89 MB (2000)
  9. SuperMemo 2002 - 3.30 MB (2002)
  10. SuperMemo 2004 - 3.93 MB (2004)
  11. SuperMemo 2006 - 4.47 MB (2006)
  12. SuperMemo 2008 - 5.10 MB (2008)
  13. SuperMemo 15 - 7.17 MB (2011)

Category wizard should build a category in root
(SuperMemo R&D (Beta), 02-03-11 16:18:18)
It would be nice if Category Wizard created a category from the selected topic; not added a new category topic
This is an opinion of an advanced user who understands knowledge tree operations or is accustomed to creating a category rooted in an existing element (as in SuperMemo 15). However, a beginner may want to create an Antropology category without ever learning how to add an element or specifically a topic in the contents window

Some buttons do not show hints
Tomas Klinkovsky, Czech Republic, Aug 7, 1998)
Why aren't there tool tips over grayed buttons?
This is a default behavior of components in Delphi (SuperMemo 15 was written in Delphi 2010). Some disabled buttons just do not show hints

OCR support is not our area of expertise
(luisgustavo, Brazil, Fri, Jun 08, 2001 20:25)
Incremental reading doesn't work on paper. Isn't it time to consider adding OCR capabilities to SuperMemo?
SuperMemo cannot become a do-all software. Development and support costs are significant enough to enforce a strict focus on learning technology. For advanced authoring, word processing, mail management, time-management, mind mapping, formula editing, OCR, etc., you need to rely on tools provided by other companies. In addition, OCR isn't even listed on the implementation tasklist as it would go against current trends in which all information slowly becomes available in electronic form. Our consistent policy is to adhere to our area of expertise and look far into the future to be sure that time works to SuperMemo's benefit

SuperMemo collections can include damaging content
(Jiri Pik, Wednesday, September 19, 2001 6:02 AM)
Could you confirm that the data files of SuperMemo, i.e. every file except for sm15.exe, cannot contain a virus?
SuperMemo collection can include executable files or HTML files that are all subject to infection. In particular, wholesale mail import may place attachment viruses inside binary components (SuperMemo will warn you if you try to run such an attachment). Virus can also easily infect collections that include HTML files by simply scanning the elements folder and inserting malicious JavaScript code (e.g. w32.Nimda). You will be best protected if you use a recently updated anti-virus software (e.g. Norton Antivirus with a recent Live Update) and all security update to Windows, Internet Explorer, MS Outlook, etc.

Why the name Super-Memo?
(Mohammed Asad Khan, Pakistan, Wednesday, April 17, 2002 1:08 PM)
I would like to know who suggested the name SuperMemo? What's the logic to give only this name or did you brainstorm other names for this software?
There was no brainstorm and no major effort to pick a good name. The choice is quite bad as Americans confuse it with a memo and think it is a simple editor program. SuperMemo was originally named Super Memorization Test Optimization Program or S.M.T.O.P. It was originally written at the Technical University of Poznan, Poland. Soon afterwards, however, some people suggested it could become an attractive commercial commodity. Someone proposed shorter SuperMemo and it stayed. In 1994, when SuperMemo was to enter the US market, a new name was in consideration. However, once the users in Poland boycotted the code name of the pre-release of SuperMemo 8.0 (Genius), it was obvious that the name change would not be easy. Occasionally, the name Super Memory is used to emphasize the connection with memory

\Stats directory keeps learning process statistics
(Beta, Poland, Mon, Feb 04, 2002 20:04)
What is the \stats directory?
This directory keeps the learning process statistics. You can delete this directory and thus reset the past learning statistics; however, you will thus lose lots of interesting information about your past repetitions

MEM registry file
(Beta, Poland, Mon, Feb 04, 2002 20:04)
I see new registry files with .mem extension. What do they include?
These files are not new. These are renamed .inf files. 
.mem stands for "member". These files keep member information. They are slightly longer due to support for registry redirections that are supposed to solve registry rename ambiguities that pestered all earlier versions of SuperMemo. The change of name here introduced a major problem. If you attempt to open SuperMemo 15 collections with older SuperMemos, they may attempt to recreate "missing" registries. All earlier versions will warn you about version mismatch, but many will still make it possible to attempt opening the collection

Undo and complexity in SuperMemo
(supermemo.dk, Denmark, Mon, Apr 22, 2002 1:50)
Why isn't there an Undo function in SuperMemo?
Not all operations in SuperMemo can be undone. Undo is available for:

  • repetition grading until you choose Next repetition
  • single step undo for plain text edits
  • multiple step undo for HTML text edits, until the first operation that requires saving the HTML file

In particular there is no undo for element deletes. Before you delete an element you will be requested to confirm the operation. If the element has children, you will also be asked for confirmation to delete the children.

Similarly there is no undo for collection delete. Fast collection delete is only possible through bypassing the Windows Recycle Bin. 

For all the above reasons, it is highly recommended you back up your collection often

All undo operations carry a cost. There are two factors that make Undo impracticable for many operations in SuperMemo:

  • complexity of operations that makes undo very slow or bug-prone
  • the fact that, for data safety, SuperMemo keeps most of its data on the disk and all undo operations are very slow

For undo purposes, it is not enough to store the state of the element and its components. Many operations on the element modify registries. Registries are often many megabytes in size and their temporary images cannot be stored. Implementing virtual registries for temporary operations would be complex, error prone and would slow SuperMemo substantially. Introducing complex solutions usually involves more cost in bugs and support than actual benefit to the user. SuperMemo opts for complexity only in cases where it results in a quantum leap in the quality of learning. For example, HTML-based incremental reading or global templates both resulted in untold hours of debugging, bug reports, user complaints, etc. Using mshtml.dll was risky due to the instability of this Microsoft's library. However, user benefits safely compensated for the inconvenience of pesky workarounds. Global templates, on the other hand, were inherently complex for design reasons. Even though many users are confused by templates, their use is incomparably simpler to their internal working "theory". Grade Undo alone, introduced only in SuperMemo 8, added substantial complexity to handling repetitions. This fact is entirely transparent to the user who rarely gets the true taste of "what's cooking under the hood".

Tools : Plan supports free running sleep
(Beta, Poland, Sun, Feb 10, 2002 22:57)
You advocate free running sleep yet your Tools : Plan does not seem to accommodate varying work hours
Just the opposite! Tools : Plan has been primarily designed for maximum working hours flexibility. This is how you should use Plan if your hours move: 

  1. Create your schedule template 
  2. Early in the day, save your template with Save As to create this day's schedule 
  3. Type the starting hour in the top-left field 
  4. Adjust working hours on-the-go as your proceed along the schedule with Set 

SuperMemo will adjust your schedule to your starting time. It will also proportionally adjust all activities in case you are being late with execution. If you do not manage to finish some earlier slot in time, all the remaining activities of the day will suffer proportionally. SuperMemo will display the loss in the % column

De gustibus non est disputandum
(Chris Kowalczyk, Tuesday, October 17, 2000 3:55 AM)
Ability to change the date format in Workload increases user interface complexity, and is of no value to users. It is bad design
This feature was introduced upon repeated user requests. Some users prefer shorter date formats, others want all details displayed. In addition, they want to be able to display or not display the day of the week. Proliferation of buttons and menus should be avoided, but when it resolves a frequently quoted sore spot, its cost outweighs the benefit. Hopefully, nobody insists on an idea of a checkbox to display or not display the date format combo box. Those dilemmas prove again that you cannot satisfy everyone

We cannot admit more than a hundred beta-testers
(beta, May 11, 2002)
Why don't you admit everyone to beta-testing new versions?
We usually limit the number of beta-testers to a hundred or so. There is only a limited number of reports that we are able to efficiently process. Beyond some point, reports become repetitive and it is getting harder to sift important information. In addition, most of beta-testers belong to the highly advanced user group. This come from the fact that the purpose of beta-testing is mainly to remove bugs that could endanger user data. Changing the design or making SuperMemo simpler is best done in the long run by attention to comments coming from first time users

Relational database vs. XML
(T.K., Monday, February 25, 2002 6:00 PM)
Why didn't you use a relational database to store data in SuperMemo? Why not structured storage (e.g. as in MS Outlook, etc.)?
SuperMemo data structures were designed back in 1994. At that time, the size of Borland Database Engine was huge compared with tiny collections. In addition, SuperMemo would lose the proud point of being a sole EXE that can be moved between computers on a single diskette. Although designing all data structures was time-consuming, SuperMemo ensured maximum compactness of data and maximum access and search speeds (incl. binary full-match string search). The design and implementation pain was worth the performance gain. For example, you can search your annual e-mail archive in SuperMemo in a fraction of a second. If you try the same in MS Outlook, you will never try again. In the future, SuperMemo will gradually move towards XML which goes far beyond the rigid relational model. Still, the core access procedures will be retained for performance reasons

There is no PDF support in development plans
(Jens, supermemo Quito, 20.04.02)
Many documents these days, especially relevant to scientists, are PDF documents, and SuperMemo 15 does not deal with those
SuperMemo will strive at maximum integration with the Internet content. Ultimately, the content should be defined as XML. PDF format is proprietary and would add complexity to the program. In addition it is burdened with the publishing industry point of view (fixed "page look"), and it does not separate content from style. SuperMemo will support non-HTML/XML formats and components (e.g. RTF, Script, OLE, etc.) as long as there are collections that make use of these components, and as long as there are learning functions that cannot be expressed otherwise (e.g. Mind Manager mindmaps). Otherwise, the target is a uniform format for SuperMemo along the Internet standards. For that reasons, the PDF format will not be supported

Postpone.ini stores postpone definitions
(Beta, Maxim, Poland, Mon, Feb 04, 2002 20:04)
What is the purpose of postpone.ini file?
Postpone.ini is used to store postpone definitions for individual branches of the knowledge tree

Behavior of some controls does not depend on SuperMemo
(N. de Roock, Netherlands, 3-5-2002)
When I edit Element Parameters (Ctrl+Shift+P), I have to click the category dropdown list twice before I can change it
SuperMemo does not have much influence on the properties of this combo box. The first click activates it, the second click makes it possible to open it. This behavior is not coded for by SuperMemo. The fastest way to open this combo box is to use Alt+C

For experts: This behavior results from the message SendMessage(Handle,cb_ShowDropDown,1,0) sent to the combo box. This message is sent in order to automatically drop down the combo list when the user enters the combo

SuperMemo releases are not announced in advance
(SCHIPHORST,ROGER, Saturday, November 03, 2001 1:35 PM)
Could you please inform me when the next release of SuperMemo will be available?
To avoid promising "vaporware" and to avoid deadlines that degrade quality, we consistently avoid setting up and announcing release dates

Simplicity vs. Power
(Jeromy Wong, USA Educational, Friday, October 26, 2001 6:17 AM )
SuperMemo is too complicated to transfer an element from one tree branch to another. In my opinion, customer prefers a user-friendly not powerful software!
The intent of File : Level : Beginner option was to keep SuperMemo as simple as possible. As branch operations in the content tree are optional (i.e. they are not needed to effectively apply spaced repetition), these were excluded from this level. In other words the compromise between power and user-friendliness is a never-ending battle. Some users view certain options as unnecessary complexity, while other will demand their existence at the lowest entry levels. The present shape of this difficult compromise can be judged by restricting one's use of the program to the beginner level. Again, tree operations are optional and go beyond that level

Changing file names between versions is very costly
(Marin Plopeanu, Romania, Wed, Jul 03, 2002 16:44)
Why in the \info folder in SuperMemo 15 you have the file sm8opt.dat instead of sm15opt.dat (to reflect the name of the algorithm)?
All changes of file names require writing upgrade code, changes to proprietary tools, tools written by others, documentation, etc. This is why file names change only then when file structure must be changed

Contents window, Desktop and MindMaps
(luisgustavo, Brazil, Tuesday, December 18, 2001 6:12 PM)
I believe the Contents window can be improved into a whole map system. Maybe a mind map or maybe even a real map with houses and buildings like SimCity. Don't you think items shouldn't be limited to options designed for dealing with files and disks, which are much simpler than our memory?
Contents window is not supposed to reflect structures kept in your memory. That function is reserved to the content of individual elements independent of their place in the knowledge tree. Knowledge tree is a purely navigational tool that is designed for classifying pieces of knowledge. It serves the same purpose as folders and files on a computer, namely: putting pieces of information in the right pigeonhole. If MindMap or SimCity models are a superior form for building information hierarchy, the same question should be asked to Bill Gates in reference to his operating systems. Unfortunately, implemented solutions are always a compromise between the simplicity of use, simplicity of learning, simplicity of the underlying implementation model and performance, which in turn depends on currently prevalent processor speed, availability of RAM, quality of software development tools, etc. Last but not least, SuperMemo's life is by far easier if it adopts new standards pioneered in Windows than to enforce its own standards that add to technical complexity. The only exception are solutions that enhance learning itself. Here we are ready for hard pioneering battles

Slow release cycle of SuperMemo
(Andy Lin, MIT, USA Educational, Tuesday, January 08, 2002 4:58 PM)
It seems that SuperMemo for Windows development is rather slow compared to many shareware products I've used before. Is there any reason for this?
We would love to shorten the development cycle and provide a few releases annually; however, SuperMemo is used to process material that may take years to prepare. Even the smallest bug in database access could result in loss of extremely precious learning data. For that reason, beta-testing usually drags for months and all data loss reports are meticulously studied. To avoid dual lines, development grinds to a near halt during beta and gamma testing where only bugs are in focus. Presently it does not seem realistic to shorten the present 18-30 months release cycle

Too many hyperlinks
(Derek, Jan 22, 2002)
You should avoid links in the body of textual & explanatory materials. If you are talking to someone you don't want them getting up and leaving the room while you are explaining something to them
Your metaphor does not seem accurate. The whole idea of hypertext is based on unobtrusive underlines that become "visible" when the text is difficult to understand, requires further references, etc. A hyperlink is not an "invitation to leave" but a notification that an optional explanatory material exists

SuperMemo is slow in adopting interface components
(mark zebitz.dk, Denmark, Jan 15, 2002)
Are you planning to add the very nice new intuitive interface of Microsoft Office 2007 to SuperMemo?
Unfortunately, adaptation of new interface components proceeds in three time-dependent stages: 

  1. Components appear in wide-distribution Microsoft products 
  2. Components become wrapped as VCL components in Borland Delphi (SuperMemo development tool)
  3. SuperMemo incorporates some of these depending on customer feedback 

Those stages introduce substantial delays. Delphi releases occur in 18-30 month intervals. SuperMemo releases occur in similar cycles. Assuming the worst timing alignment, it might take 3-4 years before some solutions are adopted. Naturally these components could be hard-coded manually but this is a time-consuming and bug-prone process that would only be used as a last resort in cases where the learning speed might be compromised

Elements get renumbered upon the transfer from one collection to another
(Markku Mahonen, Norway)
When I deleted some elements from my collection, the reference hyperlinks generated with the Reference option point to wrong elements?
You must have transferred your elements to a newly created collection. All the elements are renumbered upon the transfer. In such a case, you could use the Reference link button (the fifth from the right) on the element toolbar in the element window

You can import Q&A text files into SuperMemo
(nader c., Sunday, August 25, 2002 2:00 PM)
How can I import a Q&A text file into SuperMemo?

When will you release SuperMemo NEXT?
(maxim, Feb 27, 2003)
When will you release SuperMemo NEXT?
Release dates are never announced in advance. The date of release can be determined from the "closing date". After the closing date it takes about 2-3 months to implement tasks needed to "close" a given build. The beta-testing program then takes 3-6 months. Gamma-testing and filling out the gaps in the documentation takes 1-2 months. As for the "closing date" it is roughly determined by (1) degree of innovation available in the new implementation (the more innovation, the more the pressure to release), (2) external pressure (e.g. customer requests, etc.). There is never a predetermined release deadline or fixed release cycle. The development process is continuous

There are two lines of SuperMemo for Windows
(Maarten Mols, Netherlands, Monday, February 09, 2004 11:39 PM)
Is SuperMemo for Windows going to make any further progress with scripts, multiple choice tests, etc. Will some of these functions be available at the beginner level?
After developing SuperMemo 98, we have split the development of SuperMemo for Windows into two lines: 

  1. Incremental Reading SuperMemo (SuperMemo 99 and its successors) 
  2. Multimedia SuperMemo (mostly CD-ROM titles)(which has been recently superceded by SuperMemo UX)

SuperMemo 15 has been exclusively developed into an "incremental reading machine" dedicated for a higher-end users. As a result, multimedia functions needed for developing schoolware courses will be in decline. Those functions will be taken over by SuperMemo UX. Both platforms will in the future be able to exchange core data via XML wherever applicable. As with all other platforms, both Windows platforms are developed and supervised by different people with different views on the future of SuperMemo. You can submit your ideas to both groups; however, bear in mind that no SuperMemo will encompass all features that may be needed in different applications

Extending SuperMemo 15
(Chris Moses, Wednesday, October 24, 2001 1:25 AM )
I was wondering if there is any sort of API for SuperMemo. The largest single problem I have is the amount of time I spend inserting information. I would like to create some tools to facilitate this process. In particular, I would like to create some tools to automatically insert information based on pre-existing templates/categories
SuperMemo 15 isn't well suited for such an extension. You could try to generate data in the XML format. This format is human readable. If you make your tools work with XML, you will partly accomplish your goal

SuperMemo's performance does not degrade with large vocabulary files
(Paul R Taubr, Wednesday, October 02, 2002 7:11 PM)
If I use SuperMemo to learn a foreign language, will it create a separate file for each and every word entry? What will this do to performance?
If you use plain text components (as opposed to HTML), SuperMemo will keep all your text entries in one file. SuperMemo capacity for vocabulary is so large that your speed of learning will never allow you to ever notice a degradation in performance. Advanced English 2002 includes over 40,000 word-pairs and phrases. It can be binary searched on a new generation computer within a second. The delay when switching between items is imperceptible (except when sounds are loaded from a slow CD-ROM). Performance may play a role in SuperMemo only in massive incremental reading (files beyond the size of one CD-ROM), multimedia-rich applications, in on-line SuperMemo (delay introduced by the network) or on antiquated computers with little RAM (where SuperMemo itself may be considered slow independent of the size of the learning material)

Sometimes collections may be composed of thousands of files
(Desmond Sin, Friday, November 08, 2002 11:21 AM)
I've been using SuperMemo for less than two months, and over 71,000 files and over 7,000 directories appear in the folder. Is this normal to have that many files?
It depends on how you use SuperMemo. If you use plain text or rich text components, all texts are stored in a single file. If you use HTML, each topic will be kept in a single HTML file. This way, if you import 1000 articles to read, your collection will include 1000 HTML files. However, if you save HTML on your hard disk (e.g. with File : Save As in Internet Explorer), each file can be made of hundreds of images, icons, text files, scripts, etc. If you import such a file to SuperMemo, it will copy all those files and integrate them with the collection. It is thus recommended that when you paste HTML, you leave all this file ballast on the remote server, while integrating only the most vital components (e.g. images illustrating the text)

How should bugs and ideas be best processed?
(Nathan Forsdyke, Thu, Jun 27, 2002 14:39)
I have converted my large mind-map of SuperMemo issues into an online easy to navigate resource. Here is the web address: http://homepage.ntlworld.com/contactnathan/Supermemo/  
Please let me know if this is useful
Thank you for your effort. Your structure contains many interesting inspirations. However, there may be a problem in the long-term if the structure is to be expanded by user community. SuperMemo uses tasklists to build a prioritized to-do lists. Each task is quickly assessed as to its complexity (necessary implementation investment) and value (benefit to users). These two parameters roughly determine its priority, which can always be updated (e.g. when a problem is repetitive or an idea is frequently brought up). Currently the implementation tasklist goes beyond 3000 tasks. Naturally it is not possible to implement these all. For this reason, tasks from the top of the list are given utmost attention. They are either revalued or implemented. If user community builds an extensive mind map of problems or ideas, there is no systematic way of scanning and inspecting newly submitted problems. In other words, a mind map may work great to keep things in memory, but a tasklist works better for tasks that are too numerous to be remembered, and that need to be addressed in a prioritized manner. The best way to submit ideas then is to send them individually. A mind-map converted to a text file can also be processed with incremental reading. However, an on-line mindmap will not be an efficient submission tool. Naturally, it can be very beneficial for other users to see what problems or ideas can be expanded, and which have already been submitted. If it keeps on growing and lives up to high quality standards, it should receive a prominent link on future beta-testing programs

Installing collections in SuperMemo 7
(Andreas Edlund, Niue, Thu, Jul 04, 2002 19:46)
I have been using SuperMemo 7 in Windows XP. I downloaded the Basic Portuguese library from your shopping site. How do I install it?
See: Installation Helpdesk

SuperMemo deactivates older versions by renaming their executable files
(Piotr Wasik, Poland, Friday, November 15, 2002 2:07 PM)
I use two versions of the SuperMemo software for Windows: SuperMemo 98 with the French course Parlez avec nous and SuperMemo 15 with my own collections. Each time I run SuperMemo 15, the program keeps asking me if I want to change it to be the default SuperMemo?, which I find very annoying. If I respond with Yes to this question, will SuperMemo 15 change the .kno file association only or will it change yet something else?
If you respond Yes to the Do you want to change your default SuperMemo? query, SuperMemo 15 will do what follows:

  1. It will change the .kno file association in the windows registry so each time you open a collection, it will always be opened in SuperMemo 15,
  2. It will inactivate older versions of SuperMemo by renaming their executable files (e.g. sm2008.exe > sm2008.old)

SuperMemos for different platforms do not use the same files
(Cash, Sydney S.,M.D., Monday, November 04, 2002 1:44 PM)
Do SuperMemo for Windows and SuperMemo for Palm Pilot access the same files?
No, they do not. They used different files. For more information on SuperMemo for Windows file structure, read: Files and folders used by SuperMemo

Safety of upgrades to SuperMemo 15
(Piotr Wasik, Poland, Monday, October 21, 2002 12:11 PM)
If I upgrade my SuperMemo 98 and Multimedia SuperMemo material to SuperMemo 2008, will it be safe?
You should be able to use SuperMemo 98 material in SuperMemo 15. However, Multimedia SuperMemo material may include dedicated tests that are unusable in SuperMemo 15. The upgrade and use of your material is safe; however, you will rather not want to upgrade Multimedia SuperMemo titles. 
Upgrading to SuperMemo 15 is irreversible

Keeping learning material in one collection should not slow SuperMemo
(Tomas, Czech Republic, Aug 14, 2004, 09:38:16)
The slowness of SuperMemo is a substantial argument against keeping all learning material in one collection
Unless you are still not fluent in subset operations and your collection combines (1) frequently-used important branches, and (2) nearly unused unimportant braches, keeping collections in one file should actually result in saving time! Although backing up your collection may take time, it can be initiated as a few keystrokes operation requiring no further attention. Having only one collection frees you from petty backup, housekeeping, prioritization chores that might take a substantial bite from your learning time. Slowness of SuperMemo should not be used as an argument against keeping collections integrated. You may still prefer to keep collections separate if their use is unorthodox. For example, keeping tasklists, processing e-mail, sharing the collection with others (for non-learning purposes), preparing collections for others, experimenting with the learning techniques, experimenting with SuperMemo, presentations, etc.

"Do you want to learn new material?" message may be suppressed
(Tomasz.Olszewski, Poland, Friday, October 18, 2002 2:29 PM)
Why don't I see "Do you want to learn new material?" in SuperMemo 15 (e.g. as in SuperMemo 98)?
To avoid confusing beginners, this message is suppressed until you have more than 100 memorized elements in your collection

There are no periodic updates on the status of a bug investigation
(Dominic Filion, Canada, Apr 29, 2005, 16:22:12)
I sent an e-mail 2 weeks ago considering the status of the import/export XML process in SuperMemo. I did not receive any confirmation as to whether the bug was being looked up, whether it was closed, etc.
Once a bug report is filed, you will receive further information only if the bug is fixed, or if there are new data needed for the investigation. Reports are reviewed on the first-come first-served basis, but investigation proceeds along a priority tasklist (incidentally, handled with SuperMemo itself). As the report queue is reaching beyond 3000 positions, you are likely to hear more only in reference to most serious problems that are currently being worked on. If you believe the issue is very urgent, you might file again, esp. if you have new data to build a better picture of the problem. Keep in mind that piling up reports further slows down the process, and should only be used for most urgent cases

SuperMemo development is directed by demand, concept and workload
(A.L., Aug 25, 2005, 23:19:53)
I found an FAQ answer in your archive that is quite rude. You insist you will not implement global swap of questions and answers, because it leads to "wrong learning practices". This way you put yourself above your own customers who, as you mentioned, have been asking for this option for many years. Do you believe they are all that "un-smart" to ask for this option.
Global Q&A swap should indeed be avoided. Its applicability in a model learning process is highly limited. Nevertheless, we do believe that the development of SuperMemo should be done with a careful ear to user demand. There are (rare) situations where global swap could be used. For this reason this option had been put on the implementation tasklist long ago. When options are not implemented, it comes not only from a lack of good will. It also comes from the fact that on average, implementation tasklist is 4-8 times longer than what actually comes in into a new release. In other words, tasks can be out-competed by other tasks that show up with a higher Value/Cost ratio. Last but not least, global swap has finally been added to SuperMemo 2004 or later

SuperMemo cannot be substantially speeded up (#1092)
(Tomas Drahokoupil, Czech Republic, Aug 14, 2004, 09:38:16)
At import/export SuperMemo goes thru items one by one and also moves/imports the files one by one, which of course would take much much more time than if it would just build a list and do such an operation for example in batches of 100 or so. Maybe not for building the database, but for sure for moving the files at least
SuperMemo is always seriously concerned with the speed of individual operations. Batch operations, as suggested, would help only if individual operations were burdened with an overhead (such as opening files, loading files to memory, initializations, etc.). As a rule, SuperMemo eliminates the overhead in all frequently used functions. In other words, it cannot be significantly speeded up by batching. 

In import/export functions the speed bottlenecks are: 

  1. complexity of the database structure (pieces of information have to be picked from various files and the process of opening, seeking and reading files cannot be accelerated as it is executed at the very lowest level) 
  2. speed of copying files between destinations (the act of copying a file is executed at the lowest level and if copying goes to slow media or over a slow network, it can be excruciatingly slow for large collections) 

As for Point 2, SuperMemo could glue individual files (e.g. HTML files) into one. This would accelerate rarely executed copying and slow down frequently done edits (e.g. in incremental reading). This certainly would meet with protests from "heavy load" students. Last but not least, users fluent with files, folders, HTML, multimedia, etc. love the openness of individual files to low-level hacking and modification. It is true that in collection transfers, SuperMemo uses an intermediary file. However, reading and writing to that files makes up a tiny fraction of the operation time. Eliminating the intermediary would result in less than 5% improvement in speed.

Problem activating OLE Server (#1970)
(Christian Ostensen, Sep 26, 2004, 18:20:30)
I have problems using the OLE insert object. If I try to insert a word document I get an error message saying: Problem activating OLE Server
Unfortunately, SuperMemo cannot do much about such problems. As the error message indicates, the problem occurs with OLE Server (in this case MS Word). For your document do display correctly within SuperMemo, SuperMemo employs the server. If the server is absent or fails, all SuperMemo can do is to display the above error

Repetition ceiling option has been removed (#29102)
(honzadiblik, Czech Republic, Oct 18, 2004, 14:53:25)
I would like to put a daily ceiling on number of items (e.g. 20) put into the program
The repetition ceiling option has been removed. It proved impractical. It appears that it is far more convenient to manage material overflow via different priority settings (primarily with Postpone) than to rigidly limit the inflow of new material. When adding mission critical material, users often manually set to override the repetition ceiling over and over again. See also: Priority Queue

Which compiler is used to produce SuperMemo?
(marjur, Poland, Nov 29, 2010, 05:47:55)
What compiler do you use to produce SuperMemo?
As of December 2010:

  • Delphi 6 for SuperMemo 98 Freeware
  • Delphi 2006 for SuperMemo 2004 Freeware
  • Delphi 2006 for SuperMemo 2006, and SuperMemo 2008
  • Delphi 2010 for SuperMemo 15
  • Visual Studio (C#) for SuperMemo UX
  • Xcode (Objective-C) for iPhone version
  • Eclipse (Java) for supermemo.net
  • MS Visual Studio 2008 for Pocket PC

How can I open Tools from keyboard
(Anonymous, Jul 27, 2011, 03:47:52)
In SuperMemo 2008, I used Alt+O to open Tools menu. Now, in SuperMemo 15, when I press Alt+O it opens Options.
You can still open Tools menu with Alt+O. However, do not press the keys together. Press Alt first, release it, and only then press O

Checking many elements in the browser with the Shift key
(Jim K., May 05, 2011, 03:53:52)
In the browser, holding down Shift while selecting the 1st and the last element of group doesn't work for me
To check many elements in the browser, select the first element (by clicking its title in the browser), press Shift and click the last element. Please note that this may work differently if you check the first element instead of selecting it.

Question about File: Import files and folders
(Maciej, Jun 02, 2011, 10:26:42)
What file extensions I can import to supermemo through File: Import : Files and folders? Could you list all of them?
Files and folders imports all files and all folders included in the import folder. Files with unknown extensions are added as binary components and you can use them by clicking the binary component button. If your computer has an application that can handle the given extension, you can run this application from SuperMemo. The best way to understand this option is to just try it on any small folder (large number of files or folders can take long to import).