Development of SuperMemo (1985-2014)

SuperMemo isn't just a piece of software for managing repetitions of the learned material. Over years it acquired a great deal of additional functionality that made it the indisputably best self-learning tool in the world. New solutions have constantly been added, improved, or removed until the program has assumed the current shape. See: Screenshot Tour.

Here is the timeline of most important developments in the history of SuperMemo software development:

SuperMemo on paper (1985)

The first SuperMemo algorithm formulated in May 1985 did not require the use of a computer! The table of inter-repetition intervals was used to compute intervals between repetitions of whole pages of questions and answer. For details see: Using SuperMemo without a computer

Non-commercial releases of SuperMemo for DOS (1987-1989)

First computer implementation of SuperMemo was written in December 1987 by the author of the method: Piotr Wozniak. It was written on the DOS platform in Borland's Turbo Pascal 3.0 and included only a few simple functions: adding question-answer pairs and making repetitions. These are the version written by the author of SuperMemo before its entry into the commercial arena in 1991:

For details see: Early versions of non-commercial SuperMemo

SuperMemo 6.0 (May 1991 - May 1993)

SuperMemo 6.0 for DOS was written from scratch in Turbo Pascal 6 and it was the first SuperMemo written within a framework of a commercial company under the supervision of the author of the method and founder of SuperMemo World: Piotr Wozniak. It was the first SuperMemo that has sold over 10,000 copies (earlier attempts to sell SuperMemo 2 and SuperMemo 5 were largely unsuccessful). The idea of plotting forgetting curves for all optimal factors has added greatly to the theoretical validity of the SuperMemo algorithm that could now be verifiably shown to produce the optimum repetition spacing for a given level of knowledge retention. Future improvements to the algorithm could therefore only accelerate the convergence of the starting memory model to the optimum model. SuperMemo 6, as the finalist of Software for Europe Competition 1992, has brought SuperMemo to public attention allowing it to break the image of an intricate software product for a hermetic group of technically-minded people. Instead SuperMemo 6 became one of the best-selling pieces of software in Poland in the early 1990s. In January 1995, SuperMemo 6 entered public domain and is since available from multiple shareware sites and shareware CD-ROMs around the world. Even with the advent of SuperMemo 8 in 1997, many users remained faithful to the old good DOS version. These were the most important improvements introduced by SuperMemo 6:

  1. New optimization technique based on sketching forgetting curves for particular difficulty categories and repetition numbers
  2. User-defined forgetting index can be used to control the speed of learning
  3. Repetition calendar with the possibility of editing items scheduled for a given day
  4. Monthly and annual repetition calendars
  5. New process parameters: Average repetition, Average lapses, Average interval, Average E-factor, Requested and measured forgetting index, Retention, Mean repetition time, Workload, etc.
  6. Option Find extended by Replace
  7. Option Duplicate Item in the browsing mode
  8. Maximum number of items in a database increased from 10,000 to 60,000
  9. Option Schedule item in the browsing mode (used to memorize selected intact items)(in SuperMemo 99: Remember)
  10. Option Mercy used to evenly distribute outstanding items (e.g. after a vacation break)
  11. Possibility of redefining keyboard codes with KBD files
  12. Font Designer freeware included in the package

For more details see: SuperMemo 6 for DOS (versions 6.0 through 6.7)

SuperMemo 7.0 for Windows (January 1993 - March 1995)

SuperMemo 7.0 was one of the few Windows applications available in Poland at its time (early 1993). Although initially, it found it difficult to compete with SuperMemo 6, by 1995 it became the most popular SuperMemo ever (over 30,000 copies sold by the end of 1996). In 1993, it became one of the first Polish applications using sound and bitmapped graphics. In mid-1994, it was also the first Polish Windows software released on CD-ROM. The number of awards given to SuperMemo 7.0 is too long to be listed here. In 1994 and 1995, SuperMemo 7 was voted the most popular Polish software by readers of PC World Komputer. It was also one of the most eagerly copied pieces of software on illegal software market ahead of the entire Microsoft suite:

  1. The whole program was written anew from scratch in Borland Pascal 7.0 for Windows using Object Windows Library application framework
  2. New database file managing options: Delete database, Rename database, Copy database, Move database, Cut drills (removing items scheduled for Final Drill)
  3. Possibility of working with a few databases at the same time using separate instances of the program
  4. Adding Image menu in editing windows (creating up to 60,000 graphic images associated with items)
  5. Adding Audio menu in editing windows (recording and playing up to 60,000 sound files associated with items)
  6. Parameter Future Reps estimating the number of repetitions of a given item in the nearest 30 years
  7. Adding full-screen item browsers (e.g. for all items, for intact items, for memorized items, for outstanding items, for intractable items, etc.)
  8. Introducing the concept of a leech (item which slows down the learning process). Possibility of extracting leeches using the criteria of E-factor, number of lapses, and the interval. Possibility of browsing leeches and randomly reviewing leeches.
  9. Possibility of quickly opening one of the 5 recently used databases from the pick list on the File menu
  10. Automatically opening the last used database at running SuperMemo
  11. Possibility of arbitrarily choosing the first interval when memorizing an item
  12. Integrated Toolkit (including tools such as: Recover, Reset, Transfer, Sort, Export text, Import text, Export SM6, Import audiovisual files, Cross-section, SetUp, etc.)
  13. Lexicon and Audio Lexicon make it possible to instantly access words and audio phrases stored in the database (the lexicon may be built for a custom-made database with Build Lexicon using a user-defined filter file)
  14. Mercy into the future (e.g. in order to pass all repetitions scheduled for a vacation period before the vacation)
  15. Possibility of spelling drills with the Spell-Pad
  16. Adding Phonetic Lexicon to Advanced English distributed on CD-ROM. Phonetic Lexicon makes it possible to search for English words by using their phonetic transcription
  17. Option Previous (Back) in editing windows provides access to up to fifty recently reviewed items
  18. Option Move : Randomize in the browser makes it possible to scramble the browser's content (e.g. to randomly reshuffle the final drill queue, etc.)
  19. Option Browser : Random test makes it possible to run a random test on items kept in the browser
  20. Two menu variants: (1) simple (default) and (2) professional

For more details see: SuperMemo 7 for Windows (versions 7.0 through 7.5)

SuperMemo 8.0 for Windows (May 1997)

In the years 1995-1997, SuperMemo World worked over a new hypermedia paradigm for SuperMemo, initially released as a separate line codenamed Genius. Most importantly, Genius departed from question-and-answer limitation of earlier versions of SuperMemo. In Genius all items/elements could be freely composed of various components such as text, sounds, pictures, etc. Secondly, Genius introduced knowledge hierarchy that made it possible to organize knowledge into a knowledge tree (contents window). Genius was originally released only as a hypermedia shell for CD-ROM titles such as Video English, Cross Country, etc. For long, Genius could not gain hearts of die-hard users of SuperMemo 7. Only in May 1997, the decision was taken to release Genius as an independent self-learning tool: SuperMemo 8. This was the first SuperMemo that was beta-tested around the world over the Internet and the first that was simultaneously released as a CD-ROM title (Deine Chancen) and a stand-alone application. It was also first commercial SuperMemo available for download from the Internet (June 1997). Successors of SuperMemo 8 will have always been first released as stand-alone applications over the Internet before the CD-ROM releases could be developed for traditional distribution channels.

Here is the main new functionality introduced in SuperMemo 8:

  1. The whole program was written anew from scratch in Borland's Delphi 1.0 using Delphi's Visual Component Library
  2. Greatly improved repetition spacing algorithm with: (1) possibility of using different forgetting indices for different items, (2) replacing E-factors with A-factors (absolute E-Factors) that define absolute difficulty of items (E-factors defined relative difficulty of items within a given database), (3) on the fly approximation of the matrix of optimal factors (no need for smoothing, no need for periodic approximation of the matrix with Miscellaneous : Approximation), (4) faster approximation of A-factors by keeping the record of A-factor vs. Grade and Grade vs. Forgetting index relationships
  3. Hierarchical knowledge structure
  4. True hypermedia: combination of text, graphics, sound, video, animation, hypertext, executables, scripting, and many more
  5. Navigation tools modeled on standard multimedia viewing, presentation and help systems
  6. Multimedia object registries for storing images, sound, video, etc. Supporting formats: BMP, GIF, WAV, and AVI.
  7. Template registries make it possible to quickly create items and topics designed according to a selected style
  8. On-line hints make it easy to understand the function of particular menu items and speed-buttons
  9. Number of items virtually limited by the memory of the computer (theoretically: up to 10 million items with 8 million hypermedia objects)
  10. ReadOnly and LearnOnly modes
  11. Interactive translation of knowledge system to other languages
  12. Simple translation of the program's interface to other languages
  13. Programmability via scripts and programmed components
  14. Possibility of changing the forgetting index of the entire hierarchy node
  15. Editable translation and phonetic transcription registries
  16. Random review in browsers, registries and in the element window
  17. Two-way history list with Back and Forward buttons
  18. Search and Replace in registries
  19. Instant translation and instant phonetic transcription on mouse move
  20. Option for testing repetition cycle at design time
  21. External multimedia files can be associated with components (e.g. to compile knowledge systems based on non-SuperMemo multimedia CD-ROMs)
  22. Releasing SM8OPT.DLL with all optimization procedures of Algorithm SM-8 used in SuperMemo
  23. Context-sensitive help (you can download SM8.HLP from this site).
  24. Tip of the Day on start-up

For more details see: SuperMemo 8 for Windows

SuperMemo 9 for Windows (1998-1999)

Most criticism voiced about SuperMemo 8 concerned its limitations introduced by the 16-bit nature of this application. Increasing popularity of Windows 95 made it possible to give up the 16-bit platform and remove many painful limitations of SuperMemo 8. Some of these included lack of: long filenames, texts longer than 256 characters, transparent texts and images, etc. SuperMemo 98 was developed in 32-bit Delphi 3.02 from Borland. 32-bit technologies also made it possible to dramatically speed up the application and its hypermedia functionality. SuperMemo 98 became the first stand-alone SuperMemo since 1995 that boasted a very high customer satisfaction. Indeed in recent surveys, the satisfaction ratings of SuperMemo 98 indicate that it is the most popular stand-alone SuperMemo ever! The dip in popularity of SuperMemo that occurred after 1995 was mostly blamed on increased complexity of the program upon introducing the knowledge tree and hypermedia paradigm. Only SuperMemo 98 was able to resolve this by introduction of new tools for managing complexity, including the three levels of difficulty

SuperMemo 99 released on October 4, 1999 may become one of the greatest breakthroughs in the history of SuperMemo ever. It extends the application of SuperMemo to the knowledge acquisition and selection step (SuperMemo 1.0 dealt only with knowledge retention, SuperMemo 8 dealt with knowledge representation while SuperMemo 99 deals with knowledge acquisition, representation and retention!). Although beta-testing of SuperMemo 99 did not indicate much user enthusiasm for the new solutions, the recognition of the reading list technologies may take more time and refinement of the used tools and techniques. For a detailed description of the reading list concept see: Reading the Internet

Here are the most important improvements brought forth in SuperMemo 98 and SuperMemo 99:

  1. 32-bit application (written in Delphi 3.0 and 4.0 respectively)
  2. Increased speed
  3. Long filenames
  4. Unlimited length of texts
  5. Introducing the concept of a reading list (SuperMemo can now be used to import electronic texts from the Internet and help the user in prioritizing the material, splitting it into manageable portions, converting it into selections and items or separate reading tasks)
  6. Introducing the concept of a tasklist (although tasklists are an underlying concept for reading list management, they can also be used in to-do list management)
  7. Tasklist manager for managing reading lists and tasklists
  8. Reading list management options for text and rich text components (queue extract, remember extract, task extract, queue cloze, remember cloze, etc.)
  9. Unlimited number of elements in the browser
  10. RTF support
  11. HTML support (including hyperlinks to other elements, registry text and images, external HTML files and files available from the Internet)
  12. OLE support (e.g. to include files from MS Word, Corel, MS Equation, Mind Manager, etc.)
  13. Transparent texts and images
  14. In-built simulation of the learning process
  15. New browser operations: sorting by columns, remember, forget, dismiss, final drill, etc.
  16. Question of the Day
  17. Learning in a single branch that can be resumed between sessions and branch rescheduling
  18. Midnight date shift delay for those who make repetitions after midnight
  19. New user interface based on four levels of difficulty: Beginner, Basic, Middle and Professional
  20. Manual inter-repetition interval adjustment
  21. Repetition ceiling to limit the inflow of new material
  22. One-step upgrade of files created with SuperMemo 8 (as well as import from SuperMemo 6 for DOS and SuperMemo 7 for Windows)

For more details see: SuperMemo 9 for Windows

SuperMemo 10.0 for Windows (2000)

The tenth major release of SuperMemo on DOS/Windows platform implemented support for incremental reading. As such, it can be considered the first SuperMemo that genuinely extended the optimization process from repetitions spacing and knowledge representation towards acquisition of knowledge from electronic sources. World Wide Web can now be considered the knowledge universe from which a student can direct the stream of knowledge towards the review process and ultimately into his or her memory. See: SuperMemo 10

SuperMemo 11.0 for Windows (2002)

SuperMemo 2002 extended incremental reading by harnessing the power of Internet Explorer 6.0 in processing HTML texts. The SuperMemo algorithm has been extended to enabled mid-interval review. Article references dramatically simplify context recovery in incremental reading. For more see: SuperMemo 11

SuperMemo 12.0 for Windows (2004)

SuperMemo 2004 provided further enhancements to incremental reading, improved Unicode support and made it possible to exchange data via XML. See: SuperMemo 12

SuperMemo 13.0 for Windows (2006)

SuperMemo 2006 focused on massive incremental reading. The priority queue makes it possible to increase the volume of learning and yet, paradoxically, increase the retention of most important facts and figures. SuperMemo 2006 also improved web import options, esp. from Wikipedia. It is also much stronger in importing and processing pictures. With Import : Files and Folders it extends incremental reading into all forms of incremental processing (not only for learning purposes). For less advanced users, SuperMemo 2006 brings auto-sort and auto-postpone that eliminate the hassles of material overload. See: SuperMemo 13

SuperMemo 14.0 for Windows (2008)

SuperMemo 14.0 introduced YouTube-based incremental video as well as tools for optimizing sleep and learning (originally known from SleepChart freeware). SuperMemo 14 also made major progress in expanding the set of tools needed for visual learning.

SuperMemo 15.0 for Windows (2011)

SuperMemo 15.0 is the fifth major rewrite of SuperMemo (and the first in 15 years). Now SuperMemo supports Unicode internally, which should make life easier for students of languages and for international users. As an extra bonus, SuperMemo code was simplified and made faster (esp. in processing texts). SuperMemo 15 also added dozens of new tools for incremental reading, incremental video, visual learning, and more. See: SuperMemo 15

SuperMemo 16.0 for Windows (2013)

SuperMemo 16 integrates all learning techniques in incremental learning. It is also much faster and reliable than earlier versions. See: What's new in SuperMemo 16.