What's new in
SuperMemo 2004 |
Improvements over SuperMemo 2002
- 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
- Better Unicode support for students of languages other than English, esp.
Asian languages (see below
for more)
- Proliferating remote images
in incremental reading with #Image: reference tag to
illustrate elements with pictures stored on the web (see below
for more)
- Vastly improved incremental reading with intelligent modification of
A-Factors (see below for
more details)
- 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
- Element : Edit : Move (Ctrl+Shift+V) to
move an element to a new location in Contents with a single keystroke
- Element : Edit : Transfer element (Ctrl+Shift+T)
to transfer of an element to another collection with a single keystroke
- 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
- 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)
- 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.)
- E-Mail : Attachment separated from E-Mail : Element on the element
menu to allow of sending the element as attachment only
- 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
- 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)
- 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
- Tools : Timeline makes it possible to graphically review the
past timing of repetition blocks (starting time and length of uninterrupted
working blocks)
- Element Parameters
improvements:
- Element template can also be changed within Element Parameters
along with the associated category. It also allows of an instant template preview
- The calendar can be used to modify interval and the date of the next
repetition in Element Parameters
- Title change possible in Element Parameters
- 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
- 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
- Topic's forgetting index can be used to determine the forgetting index of
cloze deletions generated from the topic in incremental reading
- 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
- Tools : Plan improvements (see below
for more)
- 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
- File : Level : Warrior makes it easy for
beginners to optimize the layout of screen components on the professional
level
- Separating topics from items in Tools : Workload : Daily statistics
- Separating topics from items in subset repetition counter in Statistics
- Item and topic burden statistics in Analysis : Use
- Topic load statistic in Analysis : Use. The topic load is defined
as the proportion of outstanding elements that are topics scheduled for
review
- Scaling Analysis graphs to simplify the
analysis of the learning process (see below
for more)
- Large image files are compressed on Import to image components and
on Import files directly to
the image registry (upon confirmation)
- 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
- HTML texts can be previewed in the text and lexicon registries as well as
edited in place in registries
- All texts using a given lexicon entry can be previewed in the lexicon
registry
- Possibility of executing Element : Done on a subset of elements
(see: Subset operations)
- 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
- Postpone Count can be used as a skip condition in Postpone
- 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)
- Rich subset statistics (see below
for more)
- 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')
- Text : Paste HTML to paste HTML code into the
HTML component with instant formatting
- Q&A text files may use HTML formatting to simplify import of formatted
questions and answers
- Interval selection dialog makes it possible to select the interval by
target date
- File browser makes it also possible to navigate through hidden folders
- File browser deletes object files associated with a deleted HTML file
(upon confirmation)
- Continuous attribute in sound and video components allows of
infinite loop play
- Video and extracts show the time from the beginning of the clip
- Reset extract in programming sound and video extracts
- Ctrl+click can be used to view images full screen or view video in
the default media player
- Support for Portable Network Graphics
- Support for Windows Media Video
- 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
- 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
- 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
- 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.)
- Default font replaced with Question font and Answer font in Tools
: Options : Fonts
- Optionally, default question and answer fonts can be used as the starting
font in editing HTML and RTF components
- HTML components can also link a registry font that can be used as a
starting font in editing
- Increased resolution of A-Factor distributions (see below
for more)
- Collection-specific mail FAQs and signatures
- 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)
- View : Recent menu can be used to inspect subsets of recently
learned, reviewed, postponed or advanced items
- Search : Find selection searches the collection for the text
currently selected in any text component
- Search : Find elements makes it possible to extend AND-OR searches
to the web
- 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
- 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)
- 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
- Faster Mercy
- Faster import of Q&A files
- 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
- Selected registry members can be used to generate a new registry subset for
easier processing
- Select all and Unselect all for registry selections
- One click search for the current element in the browser
- HTML table filter makes it also possible to convert tables into bulleted
enumerations for easier processing with incremental reading
- MS Office spellchecker can be used to quickly check the spelling of texts
- Copy on HTML component menu makes it possible to copy text-less
pictures (you do not need to
switch to the Browser menu)
- Square mile and square foot conversions in metric system options (Text
: Convert on the component menu)
- New subset operations: Set A-Factor and Modify A-Factor
- Reference : Copy Reference copies element's reference data to the
clipboard in the source HTML format (it can be re-pasted with Paste HTML)
- 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
- Advance reports changes to the average topic interval and the
average A-Factor
- Elements added in the contents window use the default item or topic
template
- SuperMemo startup picture can be chosen by the user (using Help : About
: Choose picture)
- Dangerous errors in the learning material provide an instant link to FAQs
with hints for solution
- 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.
- 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
- Alarm menu makes it possible to set automatic alarms. Shortly
before the end of the current slot, an mp3 file previously selected by the
user will play until the
alarm box is closed. Alarm field in Statistics
shows the time remaining till the end of the next alarm. This field is
editable (e.g. if you want to manually change the timing of the next alarm)
- Activity Parameters dialog makes it possible to select up to seven
different activities for a single slot. This makes it easier to simplify
overloaded schedules. For example, instead of having separate short slots: Review
History, Review Geography, Review, Review Chemistry, you can have a
single slot Review with History, Geography and Chemistry
chosen at random for a given day's schedule (the decomposition occurs when
you choose Save As for the current day's schedule)
- Totals button makes it possible to compute schedule statistics. If
you begin a group of slots with the same keyword, these slot total will be
summed up. For example: Repetitions Reading, Repetitions Import,
Repetitions Items, etc. will all be added under the Repetitions entry.
The schedule totals are then sorted from longest to shortest. This makes it
easy to keep track of your activity statistics
- Plan dialog is now non-modal. You can copy and paste to
your schedule directly from your collection
- Allowing of rigid activities, i.e. activities whose duration will
be constant, and not subject to optimization
- New columns: total time expired, optimum time-shift in reference to the
schedule beginning as compared with the actual shift, etc.
- Better color coding improves column readability. The column width can be
set by the user
- Current time bar moves with lapse of time even if the schedule remains
open
- Improved formatting and more data included in Plan : Export
- Plan : Terminate simplified (one question instead of an array of
checkboxes)
- EXTRA slots listed on top of the Delays report
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:
- HTML components would lose focus when switching to other applications
- Bug in Dilute would shorten some intervals instead of lengthening
them
- Advance no longer advances topics whose interval is already within
the desired range
- Mercy would refuse to reschedule more than 65536 elements
- Repetitions distribution would refuse to accept more than 65536 elements
- Tools : Statistics : Simulation would fail if executed on December
31
- 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
- Text search would miss some diacritical characters (e.g. Philippe Pétain
would search correctly only as Philippe Petain)
- Searching for "pp" with Match whole words only would
also find "ppp"
- Search would not find the vertical bar (character "|") without
selecting Match case
- The choice dialog box now does not close immediately upon clicking the choice
- Toolbars can now be docked with Alt+F5 in case they obstruct access to
other windows
- Reference labels no longer insert the <br> tag, nor do
e-mail forwards
- 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
- Lexicon would preview the first text on the list while Go to would
send you to the last text
- Child browsers would not sift out deleted elements
- Object files associated with an HTML file stored in text registry would be deleted along with the parenting HTML without confirmation
- Accidentally deleted HTML files will now not result in loss of data. Plain
text from the text registry will be retrieved instead
- Workarounds have been found to prevent occasional mshtml.dll error messages
popping up while pressing Alt+Left while editing HTML
- Video would not be visible in dragging mode
- Played video would be invisible upon the return from the dragging mode
- Home and End buttons now span past repetitions in Workload :
Repetitions (as opposed to future repetitions for default Workload)
- SuperMemo icon on the taskbar now displays the name of the currently opened collection
- Converting HTML to plain text in the browser would move focus to the
element window
- Transferring or merging collections would reset incremental reading
reference links
- File browser would not size well for low resolution screens
- HTML table filter would not filter the table alignment
- HTML filters would not help handle <h> tags
- Toolbars would keep popping up on multiple OR-Search operations
- HTML scrollbar change would not save without modifying the embedded HTML text
- Image browser now uses proportional stretching that does not distort the
preview
- Sound extracts would be occluded by the template setting and would not
save unless the associated text was changed in the sound component
- Postpone count is now reset at repetitions making it more useful in
prioritizing postpones and the sequence of repetitions
- File : Properties now proceeds with the time-consuming check of collection
sizes only upon confirmation
- Non-ASCII texts would not auto-update the element title
- Switching between registry subsets would not retain the current registry
member selection
- 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
- Simulate in Postpone now skips interval dispersion. This
makes it easier to evaluate the effects of Postpone
- Maximum eligible item interval in Postpone increased from 2000 to
4000 days
- 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)
- Done would not register in repetition history
- Skip on Postpone count in Postpone would have a reverse interpretation
for conservative vs. liberal modes
- 'Cancel subset repetitions' has been eliminated to simplify subset
learning
- Alt+X shortcut would not work in the search dialog box
- Plan schedules longer than 24 hours could not be terminated
- Ctrl+L at Next Repetition in spelling exercises would result in re-execution of the same repetition
- Mail headers used by Outlook Express would not be recognized in
incremental e-mail processing
- File : Repair collection would not be abortable at long-lasting
repetition history check-up
- Selecting a task with a deadline during sorting a tasklist would modify
the task's priority as if there was no deadline
- Editing tasks after a random jump could annoyingly scroll the whole tasklist
- Forced topic repetition would wrongly register in repetition history
(optimum interval used instead of the actually used interval)
- Default forgetting index would sort top when sorting the browser (as if
less than 3%)
- Alt+C and Alt+I shortcuts would not work in web page
import dialog box
- Category link under Accept could stay active in Contents even after closing the category registry
- All shape components would be unmovable if they were included in the template
but not included in the element's source data
- Transfer of categories between collections would reset the root and hook
settings
- Changing the forgetting index back to the default value would fix that
value independent of future changes to the default forgetting index
- Switching to SuperMemo from other applications would hide the Workload
window behind the element window
- Ctrl+F10 for Play would not work in sound and video registries
- Picture paste would not propose to use the old picture's name when
overwriting an image
- Cloze deletion would not reuse answer components, which would
confuse beginners who attempted cloze on items instead of on topics
- Edit : Edit texts menu would not be
available for HTML components
- Reshuffling components without closing component editors would abort the
procedure
- Navigation would not be blocked while loading large HTML file
- 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)
- Default browser layout would obstruct the status bar with element
parameters window
- Deleting a category within the current tasklist would produce pesky error
messages when adding new tasks
- Tools : Generate elements in registry would generate unscaled
templates
- Shift+Ins and Ctrl+V in HTML would only work for
texts
- Cancel in file browser would occasionally return the selected file
(as opposed to aborting the operation)