Case study: SuperMemo 98 implementation in Delphi 3

Pawel Ksiezyk, Borland Poland, Oct 7, 1998

New article by Dr. Piotr Wozniak: The true history of spaced repetition
This text is provided courtesy of Inprise Corporation. This is one of case studies on successful Delphi implementations first presented at Borland Delphi Conference, Oct 7, 1998, Warsaw, Poland, organized by Borland Poland for Delphi developers

Do you know what Polish computer product that was first reviewed in Byte International? Do you know what was the first Polish finalist of Software for Europe Competition, 1992? If you think it was SuperMemo, you are right. SuperMemo is the best known Polish software product in the world.

SuperMemo is a universal education application. To learn effectively you have to regularly refresh the learned material. SuperMemo schedules repetitions of material in intervals that depend on the student's performance. A single repetition is scheduled at a moment when a selected probability of recall is expected. Consequently, the learning time is minimized for achieving a constant knowledge retention. It is often quoted that SuperMemo makes it possible to memorize 3000 words of a foreign language in a month with a daily working time of 30 minutes.

The idea of the algorithm for memorizing the learning material dates back to 1982. In 1987, the first version of SuperMemo was created. It implemented the basic repetition algorithm. Originally, the program was written in Turbo Pascal 3. In 1991, Piotr Wozniak and Krzysztof Biedalak set up a company, SuperMemo World, which focused on selling and developing new versions of SuperMemo.

Before 1995, new versions were written in varieties of Borland Pascal. While considering the implementation of an advanced hypermedia release of SuperMemo for Windows, the difficult job of choosing the appropriate programming tool faced the designers of SuperMemo. Comparison tests were run on Borland Pascal 7, Borland C++ and Visual C++ in late 1994. The main problem to overcome was the difficulty to generate a modern graphic user interface. It was then when the first version of Delphi was announced and scored all points needed to be selected as the perfect tool for developing the new SuperMemo.

About 70-80 thousand copies of various versions of SuperMemo have been sold, and the program became immensely popular in Poland as well as in a number of countries abroad. The program received a prestigious Product of the Year 1997 award by PC Kurier. Earlier versions also received the Reader's Choice awards by PC World Komputer (1994 and 1995). SuperMemo made learning languages a breeze

"If we did not use SuperMemo, we would have to stay with the old primitive knowledge representation paradigms. Only Delphi made it possible to develop a large and reliable hypermedia application within the limited financial and personnel resources"

Piotr Wozniak
President of SuperMemo World and the main author of the SuperMemo method

"The appearance of Delphi in 1995 was our winning lottery ticket and truly saved the company and made it possible to reach a completely new level of quality and competitiveness"

Piotr Wozniak

The newest version of SuperMemo was implemented in six months using Delphi 3. It was released on September 28, 1998. Among a number of new authoring features, it is about four times faster than its predecessor. In large part, the credit goes to the new 32-bit optimizing Delphi compiler