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

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

                SuperMemo World, June 1, 1991

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

                CALENDAR OF MAJOR DEVELOPMENTS

1982 - Application of the recall principle
1984 - Application of the minimum information principle
1985 - Application of the optimum intervalization
1987 - First computer implementation: SM1
       Introducing the concept of the e-factor
1988 - SM2 and SM3
1989 - SM4 - optimization based on the matrix of optimal interval
       SM5 - optimization based on the matrix of optimal factor
1991 - SM6 - optimization based on approximation of forgetting curves

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

                SUPER-MEMO SOFTWARE

               VERSION 1.0 - Written in December 1987

               CHANGES INTRODUCED TO VERSION 1.1 (Feb 88)

       1. A comprehensive help file was added.
       2. E-factors may not decrease below 1.3.
       3. An improved formula for e-factor evaluation was introduced.
       4. The OUTSTANDING value in the PROCESS INFORMATION was
          used to indicate, how many items is to be repeated while
          repeating items with answer quality lower than four.

               CHANGES TO VERSION 1.2 (Mar 88)

       1. The TRANSFRM.COM (later .EXE) program was introduced.
          It converts any database into the intact, unused form.
          Thus one may use a database previously applied by
          somebody else.
       2. Newly memorized items must give the answer quality not less
          than four otherwise they will be repeated until success.
       3. If a factor for an item is equal to 1.3 then the quality
          lower than five decreases the new interval (without changing
          the factor). This solution was later given up.
       4. When using the PRIORITY QUEUE option, Home increases
          the current queue position to make modifications easier.
          The PRIORITY QUEUE option was later dropped.

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

               VERSION 2.0 (Jul 88)

       1. The program was upgraded for Turbo Pascal 4.0 (previously TP 3.0).
       2. The ITEM EDITOR was improved (commands such as End, Home, Ctrl-Y
          etc. were added).
       3. Dates rather than day_numbers are used to inform a user
          about the process.
       4. Screen attributes were changed to make some options more
          readable for Hercules Graphic Card users.

               CHANGES TO VERSION 2.1 (Jul 88)

       1. The whole MENU structure was rebuilt and simplified.
       2. Less important options were removed with shortening the source
          file by 6300 bytes.
       3. Letters instead of numbers were introduced to select options.
       4. SOUND OFF option was added.

               CHANGES TO VERSION 2.2 (Nov 88)

       1. Help was corrected and compiled as a separate file.

               CHANGES TO VERSION 2.3 (Jan 89)

       1. New, shorter and more effective COMPRESS procedure was
          written.
       2. Option presenting the addresses of the author and distributors
          was added.

               CHANGES TO VERSION 2.4 (Sep 89)

        1. A new, easy-to-use help of a new format was prepared.

               CHANGES TO VERSION 2.s (Jun 91)

        1. Program was adapted for shareware distribution
        2. Information about the SuperMemo World was added
        3. The system of messages was simplified and corrected
        4. The help file was shortened and corrected

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

             VERSION 3.0  (Oct 88)

       1. The whole program was written again from scratch
          applying the then popular standards of windows, push-down
          menus and other elements of user-friendly interface.
       2. Databases can have their separate names.
       3. Edition of items is possible during testing.
       4. Random testing calculates avarage quality (this option
          was later given up).
       5. Average burden change for a session is calculated.
       6. Average quality for a session is calculated.
       7. Date can be changed from within the program.
       8. Temporary exit to DOS is possible (OS shell).
       9. Priority queue option was not included.

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

             VERSION 4.0  (Feb 89)

       1. The optimization method was substantially improved.
          Not only e-factors are approximated, but also the
          function evalauating optimal intervals is modified on the
          base of experience to adjust to a given type of knowledge
          and user capabilities.
       2. Optimal intervals (modified during process) can be displayed.
       3. Statistical support for optimal intervals can be displayed.
       4. Interval distribution can be displayed.
       5. General burden defined as a sum of inverse intervals is
          calculated.

             CHANGES TO VERSION 4.1 (Mar 89)

       1. Procedure searching for items containing a given substring is
          now written in assembly language and the search rushes 1000
          items per second (on a RAM-disk or hard disk).

             CHANGES TO VERSION 4.2  (Mar 89)

       1. Continuous optimization was introduced. 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.

             CHANGES TO VERSION 4.3 (Sep 89)

        1. A new extensive help was written.
        2. Directory system was extended to include separate paths for
           databases, parameters, help and COMMAND.COM.
        3. The source code was optimized to make the program smaller,
           faster and easier to modify.

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

             VERSION 5.0 (Oct 89)

         1. A new, advanced optimization technique was applied, based
            on calculation of optimal factors rather than optimal intervals.
         2. Optimal factors can be displayed.
         3. Optimal intervals can be approximated and displayed.
         4. Information about the last repetition date for items is stored
            in the database as well as the last used interval factor.

             CHANGES TO VERSION 5.1 (Mar 90)

         1. Option for printing items in the browsing mode was added.
         2. Few recovery mechanisms were implemented in the compression
	    procedure, allowing to correct minor database damages.

             CHANGES TO VERSION 5.2 (Mar 90)

         1. Optimal factors can be greater than 6.
         2. New function for modifying factors on the base of quality
            was constructed (consistent with that which modifies optimal
            factors). Thus quality equal to four does not change the
            factor.
         3. Closing the database before going to DOS is automatic.

             CHANGES TO VERSION 5.3 (Mar 90)

         1. The reset operation was added in the browsing mode.
         2. The date of the next repetition is displayed in the
            item window.
         3. The Select option from the Miscellaneous menu selects
            the last item used rather than the item of the requested
            number.
         4. Inputing qualities in the random test is no longer
            necessary.

             CHANGES TO VERSION 5.4 (Jul 90)

         1. Full propagation of changes in the OF matrix was
            implemented to speed up the optimization procedure.
         2. Qualities 0, 1 and 2 were assumed to 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.)

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

             VERSION 6.0 (May 91)

         1. The whole program was written anew from scratch.
         2. New optimization technique was applied that is based
              on sketching forgetting curves for particular
              difficulty categories and reptition numbers. The
              whole history of repetitions is stored in the database.
         3. Programmable forgetting index.
	 4. Simplified structure of the database was introduced
	      (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 posssibility 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. Fast option reaching with Alt.
         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 such commands as Paste, Cut, Delete
              Word, Delete-EOL, Copy Block, Move Block, Delete Block,
              Word Right/Left, Replace String, Swap Lines etc.
        15. The Find option extended by Replace.
        16. New file selection option with separate panes for changing
              the drive, path and template.
        17. Option Copy Item added in Browsing Mode.
        18. The file storing items to be repeated again on a given day
              is not deleted upon the closure of the database (unless
              empty).
	19. New, context-sensitive help
	20. UK/US date format as a parameter
	21. Option for editing 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 databases.
        26. Mechanisms for preventing piracy (e.g. passwords, database
            marking, registration number etc.)

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

       SUPER-MEMO WORLD
       Os Przyjazni 15-165
       61-688 Poznan
       POLAND
       tel (48) 61 203157
