==========================================================================

                REVIEW OF THE DEVELOPMENT OF THE SUPER-MEMO
                METHOD AND SOFTWARE

==========================================================================

                CALENDAR OF MAJOR DEVELOPMENTS

1982 - Application of the recall principle
1984 - Application of the minimum information principle
1985 - Application of the optimum spacing of repetitions
1987 - First computer implementation: SuperMemo 1.0
           Introducing the concept of an E-factor
1988 - SuperMemo 2 and SuperMemo 3
1989 - SuperMemo 4 - optimization based on the matrix of optimal
           intervals
       SuperMemo 5 - optimization based on the matrix of optimal
           factors
1990 - Optimization of learning. A new approach and computer
       application (including the model of intermittent learning
       and comprehensive theoretical analysis of the SuperMemo
       learning process)
1991 - SuperMemo 6 - optimization based on approximation of forgetting
           curves
       July 5, SuperMemo World was formed
       November, SuperMemo 6 becomes a finalist of the Software for
           Europe 1992 Award Competition
1992 - March, SuperMemo World displays its products at CeBIT '92
       September, SuperMemo 6 receives the first degree award at
           Softarg '92, Katowice, Poland
       September, SuperMemo 6 receives a special award of the
           Polish Computer Science Society
       December, SuperMemo 6 is awarded in the Product of the
           Year 1992 competition organized by PC Kurier, Poland
1993 - January, releasing SuperMemo 7 for Windows
       March, releasing SuperMemo 5 Shareware
       March, SuperMemo World displays its products at CeBIT '93
       May, releasing AudioVisual SuperMemo 7 for Windows

==========================================================================

                SUPER-MEMO SOFTWARE

               VERSION 1.0 - Written in December 1987

               CHANGES TO VERSION 1.1 (Feb 88)

       1. Comprehensive help
       2. The lower limit for E-factors set to 1.3
       3. An improved formula for E-factor evaluation
       4. Outstanding parameter in PROCESS INFORMATION used to
          indicate the number of repetitions in the final drill

               CHANGES TO VERSION 1.2 (Mar 88)

       1. TRANSFRM.COM used to convert databases to the intact
          form (later called RESET.EXE)
       2. Applying final drill to newly memorized items
       3. Applying the rule that if an E-factor was equal to 1.3 then the
          quality lower than five decreased the new interval (without
          changing the factor). This solution was later given up
       4. Using Home in the INTACT QUEUE (PRIORITY QUEUE) option to
          increase the current queue position to make modifications easier
          (the INTACT QUEUE option was later given up)

========================================================================

               VERSION 2.0 (Jul 88)

       1. Upgrading the program to Turbo Pascal 4.0 (previously Turbo
          Pascal 3.0).
       2. Improved ITEM EDITOR (with commands such as End, Home, Ctrl-Y,
          etc.)
       3. Dates rather than day numbers used to inform the user about
          the process
       4. Screen attributes changed to meet the requirements of
          Hercules Graphic Card

               CHANGES TO VERSION 2.1 (Jul 88)

       1. Simplified and rebuilt menu structure
       2. Source code file shortened by 6300 bytes
       3. Letters instead of numbers used to select options
       4. Option SOUND OFF

               CHANGES TO VERSION 2.2 (Nov 88)

       1. Corrected Help compiled as a separate file

               CHANGES TO VERSION 2.3 (Jan 89)

       1. Shorter and faster COMPRESS procedure

               CHANGES TO VERSION 2.4 (Sep 89)

        1. New help in a new format

               CHANGES TO VERSION 2.5 (Jun 91)

        1. Adapting SuperMemo 2 for shareware distribution
        2. Information about SuperMemo World
        3. Simplified system of messages
        4. Help file corrected from the linguistic standpoint
        5. Item editor imported from SuperMemo 5

               CHANGES TO VERSION 2.6 (Feb 93)

        1. Converting SuperMemo 2 to Public Domain software


==========================================================================

             VERSION 3.0  (Oct 88)

       1. The whole program was written again from scratch
          applying the then popular standards of windows, pull-down
          menus and other elements of user-friendly interface
       2. Databases with separate names
       3. Option for editing items during testing
       4. Computing the average quality in Random Test (this option
          was later given up)
       5. Average burden change for a session
       6. Average quality for a session
       7. Option for changing the date
       8. OS Shell option
       9. No intact queue editor

===========================================================================

             VERSION 4.0  (Feb 89)

       1. Improved optimization method: function of optimal intervals
          is modified to adjust it to a given learner and given knowledge
       2. Option for displaying optimal intervals
       3. Option for displaying the number of repetition cases used in
          computing optimal intervals
       4. Option for displaying distribution of intervals
       5. Burden parameter (defined as a sum of inverse intervals)

             CHANGES TO VERSION 4.1 (Mar 89)

       1. Assembly language procedures used to search for items containing
          a given substring (search rushes 1000 items per second: 8086,
          RAM-disk)

             CHANGES TO VERSION 4.2  (Mar 89)

       1. Continuous optimization: In versions 4.0 and 4.1 all items having
          factors from the same class (e.g. 1.4, 1.432, 1.499) were subject
          to the same optimization procedure. Now, each of them has its own
          set of optimal intervals (later this solution was given up)

             CHANGES TO VERSION 4.3 (Sep 89)

        1. A new comprehensive help
        2. Directory system extended to include separate paths for
           databases, parameters, help and COMMAND.COM
        3. Optimized source code used to make the program smaller,
           faster and easier to modify

=========================================================================

             VERSION 5.0 (Oct 89)

         1. A new, advanced optimization technique based on computing
            optimal factors rather than optimal intervals
         2. Option for displaying optimal factors
         3. Option for displaying the approximate values of optimal
            intervals
         4. Storing the last repetition date and the U-factor in the
            database

             CHANGES TO VERSION 5.1 (Mar 90)

         1. Option for printing items in the browsing mode
         2. New recovery mechanisms in the compression procedure

             CHANGES TO VERSION 5.2 (Mar 90)

         1. Optimal factors greater than 6
         2. New function for modifying factors on the base of quality,
            consistent with the one used to modify optimal factors:
            quality equal to four does not change the factor
         3. Automatic closing the database before leaving to DOS

             CHANGES TO VERSION 5.3 (Mar 90)

         1. Reset operation in the browsing mode
         2. Date of the next repetition displayed in the item window
         3. Choosing the last-used item in Select instead of providing
            an item number
         4. Inputting grades in the random test no longer necessary

             CHANGES TO VERSION 5.4 (Jul 90)

         1. Full propagation of changes in the OF matrix
         2. Qualities 0, 1 and 2 have the same impact on the optimization

             CHANGES TO VERSION 5.5 (Jul 91)

         1. Improved procedures for window management, string
            editing, item editing, etc.
         2. Increased database fault tolerance
         3. Introducing mechanisms for preventing piracy (e.g.
            passwords, database marking, registration number, etc.)
         4. Introducing some of the advanced procedures from
            SuperMemo 6

            CHANGES TO VERSION 5.6 (Jan 92)

         1. Using the COMSPEC parameter to establish the default value
            of the COMMAND.COM path
         2. Adapting window procedures to a wider range of graphic
            controllers

            CHANGES TO VERSION 5.7 (Mar 92)

         1. Removing anti-piracy protections (e.g. passwords)

            CHANGES TO VERSION 5.8 (Mar 93)

         1. Adapting SuperMemo 5 for shareware distribution

=======================================================================

             VERSION 6.0 (May 1991)

         1. The whole program was written anew from scratch
         2. New optimization technique based on sketching forgetting curves
            for particular difficulty categories and repetition numbers.
            The whole record of repetitions is stored in the database
         3. Programmable forgetting index used to control the speed
            of learning!!!
    4. Simplified structure of the database (4 instead of 6 files) with
            the INF file stored in the compressed form (reducing the size by
            80%)
    5. Fast daily burden with the possibility of editing
            items scheduled for a given day
         6. Monthly and annual burden
    7. New process parameters:
        - Average repetition, lapses, interval, factor
        - Requested and measured forgetting index
        - Retention approximation
        - Mean repetition time
        - Workload
         8. Keyboard shortcuts (Alt, functional keys)
         9. Simplified and economized menu structure
   10. Smoothing of the matrix of optimal intervals by means
            of hill-climbing approximation
   11. Random-hit, real-time smoothing scheme
        12. Extended fault tolerance mechanisms
        13. Protection against using unclosed databases
        14. Extending the Editor by commands such as Paste, Cut, Delete
            Word, Delete-EOL, Copy Block, Move Block, Delete Block,
            Word Right/Left, Replace String, Swap Lines, etc.
        15. Option Find extended by Replace
        16. New file selection option with separate panes for changing
            the drive, path and template
        17. Option Duplicate Item in the browsing mode
        18. Final drill file (*.REP) not deleted upon closing the database
            (unless empty)
   19. New, context-sensitive, 180-page help
   20. UK/US date format as a parameter
   21. Option for changing all directory paths
        22. Option for turning the color on and off
   23. Single stage compression. No regular garbage-collection
       required
   24. Extension of Optimal factor and Optimal interval option
            for factors higher than 2.5
        25. Separate option for closing the database in use
        26. Mechanisms for preventing piracy (e.g., passwords, database
            marking, registration number, etc.)
        27. Maximum number of items in a database increased from 10,000
            to 60,000

             CHANGES TO VERSION 6.1 (Jan 1992)

         1. Using the COMSPEC parameter to establish the default value
            of the COMMAND.COM path
         2. Using the SM6.EXE directory as the default parameter
            directory (previously the working/current directory was
            used)
         3. Adapting window procedures to a wider range of graphic
            controllers
         4. Preventing DAT files from having zero size (problems with
            COPY)
         5. New, 100-page User's Guide including a chapter devoted to
            paper-and-pencil applications of SuperMemo

            CHANGES TO VERSION 6.2 (Mar 1992)

         1. Removing anti-piracy protection mechanisms (e.g. passwords)

            CHANGES TO VERSION 6.3 (Apr 1992)

         1. Option Schedule item in the browsing mode (used to memorize
            selected intact items)

            CHANGES TO VERSION 6.4 (Jun 1992)

         1. Option Mercy on the Miscells menu (used to evenly distribute
            outstanding items in the future schedule in order to minimize
            the damage to memories)
         2. Word-wrapping in the item editor
         3. Faster Find and Delete for large databases
         4. Command interpreters different from COMMAND.COM may be used in
            OS Shell
         5. File selection window can be used to determine the paths to
            (1) help file, (2) command interpreter, and (3) parameter file
         6. Chapter on theoretical aspects of SuperMemo in the User's
            Guide

            CHANGES TO VERSION 6.5 (Oct 1992)

         1. Option Wipe on the Miscells menu (used to reduce the number of
            repetitions by elongating intervals of short-interval items)
         2. Option Reset-Wipe on the Miscells menu (used to reduce the
            number of repetitions by resetting short-interval items)
         3. Text buffer used by option Cut block and Paste block is
            preserved when editing more than one item
         4. Simplified block operations in the item editor (F7 - mark,
            F8 - cut, F9 - copy, F10 - paste)
         5. Reducing the size of the program by compiling it with Turbo
            Pascal 6.0 compiler (previously Turbo Pascal 4.0)

            CHANGES TO VERSION 6.6 (Jan 1993)

         1. Possibility of defining dedicated fonts for databases using
            non-standard characters (EGA/VGA only)
         2. New installation utility
         3. Compiling the program with Borland Pascal 7.0
         4. REPSTR.EXE utility for font and substring conversion

            CHANGES TO VERSION 6.7 (May 1993)

         1. Possibility of redefining keyboard codes with KBD files
         2. Font Designer shareware included in the package
         3. Allowing full path specification in Toolkit programs instead
            of just a database name

=========================================================================

            SUPER-MEMO 7.0 FOR WINDOWS (Jan 1993)

         1. The whole program was written anew from scratch in Borland
            Pascal for Windows version 7.0
         2. New database file managing options:
              - Delete Database
              - Rename Database
              - Cut Drills (removing items scheduled for Final Drill)
         3. Possibility of using several database browsing windows at
            the same time; plus independent Learn, Search and Random
            Test windows with all operations of the browsing mode
            available. This allows, for example, to browse, search,
            edit or expand the database during learning
         4. Possibility of using up to 6 independent Append/Expand
            windows at the same time (e.g. to add or duplicate items
            at Learn or at Search)
         5. Possibility of transferring items and text blocks between
            all sorts of item windows (via Clipboard)
         6. Possibility of duplicating items in the Append window (by
            means of the option Put)
         7. Forgetting curves available from all options displaying
            optimization matrices (R-Factors, O-Factors, optimal
            intervals, and Cases)
         8. Possibility of reducing the number of parameters displayed
            on the screen (option Simple)
         9. Possibility of working with a few databases at the same
            time in separate instances of the program
        10. All advantages brought forth by the Windows environment:
              - standard GUI and CUA interface
              - overlapping, draggable and resizable windows
              - mouse support
              - non-preemptive multitasking; switching between
                applications, etc.
        11. New, Windows compatible help
        12. New, 140-page manual with an extended FAQ chapter, and a
            chapter describing the SuperMemo Database Toolkit

            CHANGES TO VERSION 7.1 (May 1993)

         1. Adding Image menu in browsing windows (creating up to
            60,000 graphic images associated with items)
         2. Adding Audio menu in browsing windows (recording and playing
            up to 60,000 sound files associated with items)
         3. Configuration AutoSave (CFG file)
         4. Remembering location and sizes of working windows in the
            program configuration
         5. Remembering the garbage path in the program configuration
         6. Possibility of associating icons with databases in the
            SuperMemo group (database name as a parameter for SM7.EXE)
         7. Adding Advanced English and SuperMemo Toolkit to every SM7
            package (compressing all installation files on two 1.44 MB
            floppy diskettes)
         8. Database name in window captions (for switching with Alt-Tab
            between multiple databases used at the same time with shared
            code of many program instances)
         9. Parameter Future Reps estimating the number of repetitions of
            a given item in the nearest 30 years
        10. Possibility of resuming search with a new substring parameter,
            upon finding an item
        11. Adding View Text Files
        12. Providing names for grades (bright, good, pass, fail, bad,
            and null)

=========================================================================

       SUPER-MEMO WORLD
       P.O. Box 1
       Poznan 48
       POLAND
       Tel/Fax (48) 61 203157
       e-mail: JAM@BRAHMS.UDEL.EDU
