ABC Hints&Tips Overviews Reference Glossary Support
Contents : Technical reference
What's new in SuperMemo 2004

Improvements over SuperMemo 2002

  1. XML data exchange makes it possible to exchange core study material with other SuperMemos implementing XML data exchange. The material may be imported into a new collection, or an old collection can be updated with the learning process executed with another SuperMemo. In the latter case, the changes to texts can also be updated in the entire material or only in the material that was subject to review. Duplicate repetition cases will be resolved as accurately as possible. The learning process from two identical collections repeated independently can also be reconciled (on the assumption the repetitions were made by the same person). As of the release date, only SuperMemo for Pocket PC supports XML. Other SuperMemos will follow. Read more: Revolution in the Pocket 
  2. Better Unicode support for students of languages other than English, esp. Asian languages (see below for more)
  3. Proliferating remote images in incremental reading with #Image: reference tag to illustrate elements with pictures stored on the web (see below for more)
  4. Vastly improved incremental reading with intelligent modification of A-Factors (see below for more details)
  5. One-key reference labeling in incremental reading. Press Alt+Q and choose the relevant reference label from the available choices. Reference labels are the most effective way of providing context in incremental reading. They should be used extensively. One-key labeling provides a major saving in time  
  6. Element : Edit : Move (Ctrl+Shift+V) to move an element to a new location in Contents with a single keystroke
  7. Element : Edit : Transfer element (Ctrl+Shift+T) to transfer of an element to another collection with a single keystroke
  8. Component : Download images in HTML components makes it possible to download remote images referenced in the HTML text, import them to the image registry, and add them within separate image components to the current element. It also makes it possible to localize remote images intertwined with local HTML without importing them to the registry. The images can be downloaded first, previewed, and selected as for which should be localized or imported. Imported images are tiled, while other components are scaled on the left side of the screen
  9. Pasting pictures into HTML components provides an option to interweave with HTML or to import to registry and display in a separate image component (for the purpose of image proliferation in incremental reading)
  10. E-mail button in on the element toolbar to easily forward a single element to a friend via e-mail (including the attachments such as pictures, sound, etc.)
  11. E-Mail : Attachment separated from E-Mail : Element on the element menu to allow of sending the element as attachment only
  12. Browser : Child : Sources in the browser makes it possible to open a new browser with source articles of the material stored in the current browser
  13. Element : Learning : Locate extracts in the element window makes it possible to search for all extracts and clozes generated from the source article of the current element (independent of their location in the contents tree)
  14. Review topics possible on a subset of elements. You can use this to learn new material associated with a given subject without forcing mid-interval repetitions on items in the subset. See: Subset learning
  15. Tools : Timeline makes it possible to graphically review the past timing of repetition blocks (starting time and length of uninterrupted working blocks) 
  16. Element Parameters improvements:
  17. Back button on the element toolbar will first return you from an Internet trip within the HTML component before it moves you back to the previously visited elements (Forward behaves as before). Esc also has the same effect
  18. Full HTML allows of storing full HTML code embraced with <html> tags in HTML components. Until now, to save space, SuperMemo would only store core HTML data. It would even attempt to store plain text for unformatted HTML. Full HTML option is useful in importing pages with advanced settings determined by outer HTML (e.g. text in columns, national web pages, etc.). Inner HTML and plain text are now marked in HTML components by a silver and yellowish border (respectively) for a quick visual feedback without peeking at the source code
  19. Topic's forgetting index can be used to determine the forgetting index of cloze deletions generated from the topic in incremental reading
  20. You can quickly increase or decrease elements priority with Ctrl+Shift+Up and Ctrl+Shift+Down. This will affect the forgetting index of items or A-Factor of topics. In maximum priority topics, this will also change the forgetting index of cloze deletions generated from the affected topic
  21. Tools : Plan improvements (see below for more)
  22. SuperMemo Setup makes it possible to check for updates, patches, new help files, etc. It also reduces the purchase-time downloads to a mere 276 kB. You can choose which components to download and when 
  23. File : Level : Warrior makes it easy for beginners to optimize the layout of screen components on the professional level 
  24. Separating topics from items in Tools : Workload : Daily statistics
  25. Separating topics from items in subset repetition counter in Statistics
  26. Item and topic burden statistics in Analysis : Use
  27. Topic load statistic in Analysis : Use. The topic load is defined as the proportion of outstanding elements that are topics scheduled for review
  28. Scaling Analysis graphs to simplify the analysis of the learning process (see below for more)
  29. Large image files are compressed on Import to image components and on Import files directly to the image registry (upon confirmation)
  30. Filter can be used to generate a new child browser on a subset. Individual filters can be a saved or deleted within the filter dialog box
  31. HTML texts can be previewed in the text and lexicon registries as well as edited in place in registries
  32. All texts using a given lexicon entry can be previewed in the lexicon registry
  33. Possibility of executing Element : Done on a subset of elements (see: Subset operations)
  34. Possibility of executing Swap components on a subset of elements (e.g. to swap questions with answers in a collection). Swapping now also makes it possible to swap with Spell-Pad components used in place of the answer field. Swapping in the browser can be executed with Tools : Swap Q&A
  35. Postpone Count can be used as a skip condition in Postpone
  36. New parameters in the browser: Delay, Postpone Count, and U-Factor. Postpone Count and Delay in the browser can be used to sort outstanding repetitions by the degree of delay in incremental reading (see below for more)
  37. Rich subset statistics (see below for more) 
  38. Text case conversions make it possible to convert texts to lowercase, uppercase or to capitalized lowercase. Ctrl+Alt+Z makes it easy to convert uppercase captions and keywords to capitalized lowercase (e.g. to convert 'TREMATODA' to 'Trematoda')
  39. Text : Paste HTML to paste HTML code into the HTML component with instant formatting
  40. Q&A text files may use HTML formatting to simplify import of formatted questions and answers
  41. Interval selection dialog makes it possible to select the interval by target date
  42. File browser makes it also possible to navigate through hidden folders
  43. File browser deletes object files associated with a deleted HTML file (upon confirmation)
  44. Continuous attribute in sound and video components allows of infinite loop play 
  45. Video and extracts show the time from the beginning of the clip
  46. Reset extract in programming sound and video extracts
  47. Ctrl+click can be used to view images full screen or view video in the default media player
  48. Support for Portable Network Graphics
  49. Support for Windows Media Video 
  50. Subset : Intersperse can be used to intersperse one subset with another. For example, you can intersperse boring high-priority repetitions within a set of low-priority fun repetitions at the selected repetition "density". You can thus optimally dose business and pleasure. If you mix Chemistry and Math 3:1 (frequency ratio: 3.00) and then mix the resulting subset with Biology 1:1.5 (frequency ratio: 0.666), then for each 10 elements, you will get 6 Biology elements, 3 Chemistry elements and one Math element. The excess elements will be listed at the end of the subset
  51. Blend ordinals makes it possible to modify the order of elements in a subset by the order of elements in another subset (see below for more). You can now prioritize the sequence of elements by an unlimited number of criteria with your own weights of priority
  52. Edit : Import mail executes wholesale import of e-mail messages directly from MS Outlook for easy incremental message processing. Individual messages are imported as separate topics with attachments included in additional components of appropriate type for easy preview. Imported messages are archived in an Outlook folder chosen by the user 
  53. Binary registry can now hold all types of files that are not compatible with other registries (e.g. OLE mail attachments, ZIP archives, URLs, PDF files, etc.)
  54. Default font replaced with Question font and Answer font in Tools : Options : Fonts
  55. Optionally, default question and answer fonts can be used as the starting font in editing HTML and RTF components
  56. HTML components can also link a registry font that can be used as a starting font in editing
  57. Increased resolution of A-Factor distributions (see below for more)
  58. Collection-specific mail FAQs and signatures
  59. Element's Copy (Ctrl+C) adapts its action to the element's content by choosing question-and-answer text, HTML text, all texts, or element's textual representation pasteable to other collections (depending on the availability of individual components with appropriate attributes)
  60. View : Recent menu can be used to inspect subsets of recently learned, reviewed, postponed or advanced items
  61. Search : Find selection searches the collection for the text currently selected in any text component
  62. Search : Find elements makes it possible to extend AND-OR searches to the web
  63. Fuzzy logic used to fill gaps in repetition history. As of the moment of writing this document, it was not clear if XML data transfer between all platforms will include repetition history data, which might cripple some non-essential functions in SuperMemo for Windows if the material was used for learning on non-Windows platforms
  64. Retrievability corresponding with the current U-Factor is displayed for items among element parameters. It can be interpreted as the expected probability of recall during the next repetition (assuming no delay)
  65. Border color in HTML components makes a quick distinction between Full HTML, inner HTML or plain text. Full HTML takes most space while plain text takes least space
  66. Faster Mercy
  67. Faster import of Q&A files
  68. Faster tasklist and category delete. This is accomplished by scanning tasklist or category references by registry user list instead of scanning the whole collection. If the user list includes a single element, you will only need to scan this element instead of the whole collection
  69. Selected registry members can be used to generate a new registry subset for easier processing
  70. Select all and Unselect all for registry selections
  71. One click search for the current element in the browser
  72. HTML table filter makes it also possible to convert tables into bulleted enumerations for easier processing with incremental reading
  73. MS Office spellchecker can be used to quickly check the spelling of texts
  74. Copy on HTML component menu makes it possible to copy text-less pictures (you do not need to switch to the Browser menu)
  75. Square mile and square foot conversions in metric system options (Text : Convert on the component menu)
  76. New subset operations: Set A-Factor and Modify A-Factor
  77. Reference : Copy Reference copies element's reference data to the clipboard in the source HTML format (it can be re-pasted with Paste HTML)
  78. Reference button hints show the full article reference. Ctrl+Shift+F3 can also be used to instantly preview element's references. You do not need to scroll to the bottom of a long extract
  79. Advance reports changes to the average topic interval and the average A-Factor
  80. Elements added in the contents window use the default item or topic template
  81. SuperMemo startup picture can be chosen by the user (using Help : About : Choose picture)
  82. Dangerous errors in the learning material provide an instant link to FAQs with hints for solution
  83. Lots of old code has been removed from SuperMemo. Options that were least popular were removed. Code that was bug-prone or unnecessarily increased the complexity of the program was removed. This includes: code for making SuperMemo run in the background (1K, 100 lines of code),  separation of readlists from tasklists (5K, 300 lines of code), redundant contents operations (e.g. Transplant children can better be accomplished with branch multi-select and drag-and-drop), component border attributes, etc.
  84. The full list of documented corrections to SuperMemo 2004 is 635 positions long. Of these, you may mostly be interested in the list of Bugs and Annoyances Fixed (below). These are minor programmatic corrections that may have a major impact on how you enjoy your time with SuperMemo 2004 as compared with SuperMemo 2002

A-Factor handling

Prioritizing your material in incremental reading is now easier due to automatic modification of A-Factors that reflect the processing of the read texts. The priority of extracts is higher if the source material is of higher priority. Texts with multiple extracts increase in priority. Texts that have manually been advanced (e.g. with Ctrl+J, Ctrl+Shift+R or Advance) automatically have their A-Factors adjusted. The correction is greater for single changes than for changes introduced en masse. Reversely, the text that are moved further into the future have their priority downgraded. Manually typed notes have a higher start off importance. In addition, their priority is not originally determined by the length of the text. Similarly, HTML pages imported individually will have higher A-Factors than the same pages imported en masse. Pasted texts have now slightly lower priority (i.e. higher A-Factors). Changes to the length of the interval produce symmetric and reversible changes to A-Factors. This means that if you reverse your scheduling decision, the priority of the processed article will return to the starting point.

All this fine-tuning has been introduced upon the analysis of massive incremental reading with heavy material overload. This should make it easier to pump up the volume on the acquisition of new material. All changes happen automatically and you do not ever need to pay attention to A-Factors. However, you may still increase or decrease the priority with a single keystroke (Ctrl+Shift+Up/Down) or even manually set the priority of a selected article or extract. All you need to do now is to focus on learning and prioritizing by content (e.g. by executing Advance on portions classified as more important or Postpone on those that are of lesser importance)

Proliferating remote images

Component : Reference : Image in HTML components makes it possible to proliferate remote images in incremental reading without storing them locally. If a picture seems important to illustrate a given fragment of text, select it, and choose Reference : Image. This way the picture will appear at the bottom of all extracts in the reference section. Alternatively, precede the image with the #Image: tag

Better Unicode support

UTF-8 encoding is used in the names of registry members. This makes it easier to display some Unicode characters in the registry, in element captions, in the contents window, etc. It will also eliminate the problem of registry member uniqueness in Asian languages. Despite this one-to-many encoding, the size of registries will not change for English or ASCII texts. It will increase slightly for some European languages, and will only be noticeably increased to uniquely represent Asian language strings. Conversions from HTML to plain text will now use ANSI encoding that produces representations that may be entirely readable depending on the language settings in Windows. There is also an improved range of text searches possible with Unicode strings. All ANSI-UTF-8 conversions occur transparently to the user and you may even fail to notice the change otherwise than by inspecting the registry files or using ASCII rename in the registry

Tools : Plan improvements

Blending ordinals

You can modify ordinals in a subset by averaging the ordinal order with an order of elements taken from a subset file. For example, if you develop a collection by adding elements in the order of increasing complexity, you may want to modify the pending queue depending on the actual difficulty of elements as measured by a real learning process. In other words, you can find middle ground between two sorting orders. You can prioritize the sequence of elements by an unlimited number of criteria with your own weights of priority. To accomplish that, open the subset with the original element order and choose Process browser : Ordinal : Blend ordinals on the browser menu. Select the blending factor that will determine the degree to which ordinals will be modified. Then select a subset file that is supposed to modify the element order (elements missing from the subset will be treated as located at the end of the subset). After such an operation, the new ordinals will be partly modified by the order of elements in the subset. You can use such ordinals to sort the pending queue, to sort the sequence of repetitions, or for other prioritization purposes

Postpone count in the browser

The Post column in the browser (Postpone count) makes it possible to see how many times a given element has been delayed with Postpone. In a heavily overloaded incremental reading, it is not unusual to see low A-Factor topics or low forgetting index items delayed over and over a hundred times within a few months. For that reason, you may want to occasionally execute repetitions starting with the highest postpone count. This makes it possible to resolve overload bottlenecks in the learning process. The Delay column may also be used for the same purpose. Note that the degree of delay must be interpreted differently for compulsory items as compared with optional topics. The heuristic balance for the actual degree of delay has been chosen as 1:25. This way, topics show far higher tolerance to delay than items

Scaling Analysis graphs

After 1-2 years of using SuperMemo, some of your Analysis graphs become quite crowded and difficult to analyze. Now you can zoom into a portion of a graph. Using Ctrl and arrow keys you can narrow the focus field. By moving the mouse over the use statistics, you can get the precise reading from any given date displayed at the bottom of the graph. You can also cut off portions of the graph. Point to the cut-off point, press the mouse button, and drag the part to be removed out of the graph area

Repetition timeline

With Tools : Timeline you can see the timing of your repetition blocks. The timeline graph painfully illustrates the gaps in the learning process resulting from neglect. Many users report that inspecting the gaps is highly motivational. The graph may also be used to inspect the learning process and diligence of your students and/or kids.

Increased resolution of A-Factor distributions

Increasing the resolution of A-Factor distribution for topics helps you visualize the near-normal distribution of A-Factors in incremental reading. Previously the same categories were used for both items and topics. For items, A-Factors reflect only the increase in interval at second repetition. Item A-Factors are by far larger than O-Factors for later repetitions or A-Factors of topics in incremental reading:

Topic A-Factors in SuperMemo 2002

 

Topic A-Factors in SuperMemo 2004

Wholesale import of mail from MS Outlook to incremental reading

If you have MS Outlook 2000 (or later) installed, you can instantly import incoming mail to incremental reading. Choose Edit : Import mail (Shift+F4) and click Import all. Read more about incremental mail processing: Using e-mail in SuperMemo

Extended subset statistics

Subset statistics make it now easy to track progress in individual branches or subsets of the learning material. Here is an exemplary report generated with Ctrl+Shift+B in a browser subset referring to a single branch of a larger collection:

SUBSET STATISTICS (Jun 19, 2004)
c:\sm2004\systems\all

Elements: 2455
Items: 2423
Topics: 32
Memorized: 2423
Dismissed: 32

Items: 2.36% of all items
Topics: 0.02% of all topics
Memorized: 1.20% of all memorized
Burden: 4.143 elements/day (0.34%)
Item Burden: 4.143 items/day (1.83%)
Topic Burden: 0 topic/day (0%)
Item Repetitions: 3.87
Topic Repetitions: 0
Item Interval: 988.063
Topic Interval: 0
Item A-Factor: 4.923
Topic A-Factor: 1.56
Average item postpones: 5.125
Average topic postpones: 0
Total postpones: 12418 + 0

Requested forgetting index: 9.96%
Measured forgetting index: 10.26%
First repetition f. index: 27.3%
Last repetition f. index: 8.38%
Forgetting index cases: 11313
RETENTION: 94.78%

Item text size: 280.909 KB
Topic text size: 0 bytes
Total text size: 280.909 KB

In the example above, you can see that postpones executed on the subset negatively affected retention. However, this is more visible in the first repetition (shorter intervals) than in the last repetition, which is a better measure of the current actual retention (as compared with overall retention measured for all repetitions executed).

Bugs and annoyances

Of the bugs and annoyances fixed in SuperMemo 2004, here is the list of these that were most likely to have made your life with SuperMemo 2002 less enjoyable:

  1. HTML components would lose focus when switching to other applications
  2. Bug in Dilute would shorten some intervals instead of lengthening them 
  3. Advance no longer advances topics whose interval is already within the desired range
  4. Mercy would refuse to reschedule more than 65536 elements
  5. Repetitions distribution would refuse to accept more than 65536 elements
  6. Tools : Statistics : Simulation would fail if executed on December 31
  7. Changes in statistics are now recorded for the entire day, not only for the session. Now you can inspect today's Measured Forgetting Index, or today's Repetition Time
  8. Text search would miss some diacritical characters (e.g. Philippe Pétain would search correctly only as Philippe Petain)
  9. Searching for "pp" with Match whole words only would also find "ppp"
  10. Search would not find the vertical bar (character "|") without selecting Match case
  11. The choice dialog box now does not close immediately upon clicking the choice
  12. Toolbars can now be docked with Alt+F5 in case they obstruct access to other windows
  13. Reference labels no longer insert the <br> tag, nor do e-mail forwards
  14. New day now resets the outstanding graph on the status bar. Previously, Outstanding had to go down to 0+0 for the reset to happen
  15. Lexicon would preview the first text on the list while Go to would send you to the last text
  16. Child browsers would not sift out deleted elements
  17. Object files associated with an HTML file stored in text registry would be deleted along with the parenting HTML without confirmation
  18. Accidentally deleted HTML files will now not result in loss of data. Plain text from the text registry will be retrieved instead
  19. Workarounds have been found to prevent occasional mshtml.dll error messages popping up while pressing Alt+Left while editing HTML
  20. Video would not be visible in dragging mode
  21. Played video would be invisible upon the return from the dragging mode
  22. Home and End buttons now span past repetitions in Workload : Repetitions (as opposed to future repetitions for default Workload)  
  23. SuperMemo icon on the taskbar now displays the name of the currently opened collection
  24. Converting HTML to plain text in the browser would move focus to the element window
  25. Transferring or merging collections would reset incremental reading reference links
  26. File browser would not size well for low resolution screens
  27. HTML table filter would not filter the table alignment
  28. HTML filters would not help handle <h> tags
  29. Toolbars would keep popping up on multiple OR-Search operations
  30. HTML scrollbar change would not save without modifying the embedded HTML text
  31. Image browser now uses proportional stretching that does not distort the preview
  32. Sound extracts would be occluded by the template setting and would not save unless the associated text was changed in the sound component
  33. Postpone count is now reset at repetitions making it more useful in prioritizing postpones and the sequence of repetitions
  34. File : Properties now proceeds with the time-consuming check of collection sizes only upon confirmation
  35. Non-ASCII texts would not auto-update the element title
  36. Switching between registry subsets would not retain the current registry member selection
  37. Esc would move focus from the element window to the element browser without committing the current repetition. Now it needs to be pressed twice: to commit the repetition first and then to move back to the browser
  38. Simulate in Postpone now skips interval dispersion. This makes it easier to evaluate the effects of Postpone
  39. Maximum eligible item interval in Postpone increased from 2000 to 4000 days
  40. Postpone now allows of a better resolution of A-Factor criteria (previously 1.015 would be rejected as only 1.01 or 1.02 were acceptable)
  41. Done would not register in repetition history
  42. Skip on Postpone count in Postpone would have a reverse interpretation for conservative vs. liberal modes
  43. 'Cancel subset repetitions' has been eliminated to simplify subset learning
  44. Alt+X shortcut would not work in the search dialog box
  45. Plan schedules longer than 24 hours could not be terminated
  46. Ctrl+L at Next Repetition in spelling exercises would result in re-execution of the same repetition
  47. Mail headers used by Outlook Express would not be recognized in incremental e-mail processing 
  48. File : Repair collection would not be abortable at long-lasting repetition history check-up
  49. Selecting a task with a deadline during sorting a tasklist would modify the task's priority as if there was no deadline
  50. Editing tasks after a random jump could annoyingly scroll the whole tasklist
  51. Forced topic repetition would wrongly register in repetition history (optimum interval used instead of the actually used interval) 
  52. Default forgetting index would sort top when sorting the browser (as if less than 3%)
  53. Alt+C and Alt+I shortcuts would not work in web page import dialog box
  54. Category link under Accept could stay active in Contents even after closing the category registry
  55. All shape components would be unmovable if they were included in the template but not included in the element's source data
  56. Transfer of categories between collections would reset the root and hook settings
  57. Changing the forgetting index back to the default value would fix that value independent of future changes to the default forgetting index
  58. Switching to SuperMemo from other applications would hide the Workload window behind the element window 
  59. Ctrl+F10 for Play would not work in sound and video registries
  60. Picture paste would not propose to use the old picture's name when overwriting an image
  61. Cloze deletion would not reuse answer components, which would confuse beginners who attempted cloze on items instead of on topics
  62. Edit : Edit texts menu would not be available for HTML components
  63. Reshuffling components without closing component editors would abort the procedure
  64. Navigation would not be blocked while loading large HTML file
  65. Pasted picture could be obscured by large components leading to confusion among beginners (presently, components are scaled to for the paste to occur into component-free space)
  66. Default browser layout would obstruct the status bar with element parameters window
  67. Deleting a category within the current tasklist would produce pesky error messages when adding new tasks
  68. Tools : Generate elements in registry would generate unscaled templates
  69. Shift+Ins and Ctrl+V in HTML would only work for texts
  70. Cancel in file browser would occasionally return the selected file (as opposed to aborting the operation)