重要!本文的最新版本见《SuperMemo的发展》。
SuperMemo不只是管理已学材料复习的软件。多年来,它加入了大量额外功能,成为无可争议的世界最佳自学工具。新的方案不断加入、改进或移除,直到程序形成目前的样子。参见《截图导览》。
以下是SuperMemo软件开发史上最重要的发展时间线:
- 1985年:提出第一个间隔重复算法。
- 1987年:第一个计算机应用,DOS版SuperMemo 1.0。
- 1989年:第一个基于可变最优间隔函数的算法,DOS版SuperMemo 4.0。
- 1991年:运用遗忘曲线绘制加快学习,DOS版SuperMemo 6.0。
- 1993年:可用声音与图像表述知识,Windows版SuperMemo 7.2。
- 1995年:知识树与超媒体,Windows版SuperMemo 8,代号Genius 1.0。
- 1999年:加入阅读列表,SuperMemo 99。
- 2000年:加入渐进阅读,SuperMemo 2000。
- 2002年:基于HTML的渐进阅读,SuperMemo 2002。
- 2004年:渐进阅读“机器”,SuperMemo 2004。
- 2006年:优先级队列,SuperMemo 2006。
- 2008年:渐进视频,SuperMemo 2008。
- 2011年:完整Unicode支持,SuperMemo 15。
- 2013年:渐进学习,SuperMemo 16。
纸质SuperMemo,1985年
1985年5月提出的第一个SuperMemo算法,不需要计算机!它用复习间隔表,计算整页问答之间的复习间隔。详情见《不用计算机使用SuperMemo》。
DOS版SuperMemo的非商业版本,1987—1989年
SuperMemo的第一个计算机实现,由方法作者Piotr Wozniak于1987年12月编写。它基于DOS平台,使用Borland的Turbo Pascal 3.0,只有几个简单功能:添加问答对、执行复习。以下是SuperMemo作者在1991年进入商业领域前编写的版本:
- SuperMemo 1,1987年12月:第一个SuperMemo计算机实现,免费分发给波兹南理工大学的计算机科学学生。
- SuperMemo 2,1988年7月:同一程序,包含少量改进与错误修复,使用Turbo Pascal 4.0重新编译。最重要的是,1991年它成为第一个免费发布的SuperMemo,通过学术互联网传播到世界各地。
- SuperMemo 3,1988年10月:第一个按当年标准具有专业外观的SuperMemo,从头编写,采用当时在DOS用户中日渐流行的下拉菜单。用户能够创建多个不同名称的知识库。
- SuperMemo 4,1989年2月:第一个采用可变最优间隔函数的SuperMemo,具有汇编语言编写的快速搜索功能。1989年,要取得这种速度,这是唯一办法。
- SuperMemo 5,1989年10月:以最优因子矩阵,即O因子矩阵,为基础计算最优间隔的新方法。重要改进包括:重置已记条目的选项,对应SuperMemo 99中的Forget;以及在条目窗口显示下次复习日期。1993年,SuperMemo 5进入公有领域,随后在全球免费软件用户中广受欢迎,后来被DOS版SuperMemo 6超越。
详情见《早期非商业SuperMemo版本》。
SuperMemo 6.0,1991年5月至1993年5月
DOS版SuperMemo 6.0使用Turbo Pascal 6从头编写,是第一个在商业公司框架内、由方法作者及SuperMemo World创始人Piotr Wozniak指导开发的SuperMemo。它也是第一个销量超过一万份的SuperMemo,此前销售SuperMemo 2和5的尝试基本不成功。为全部最优因子绘制遗忘曲线的想法,大幅增强了算法的理论有效性。现在可以可验证地证明,对于特定知识保持水平,算法能给出最优重复间隔。因此,此后算法改进,只需加快初始记忆模型向最优模型的收敛。SuperMemo 6入围1992年Software for Europe竞赛,使SuperMemo进入公众视野,摆脱了“仅适合封闭技术群体的复杂软件”形象,成为20世纪90年代初波兰最畅销的软件之一。1995年1月,SuperMemo 6进入公有领域,此后可从全球多个共享软件网站和光盘中获取。即使1997年SuperMemo 8出现后,许多用户仍忠于老而可靠的DOS版本。SuperMemo 6最重要的改进如下:
- 新的优化技术,为各个难度类别和复习次数绘制遗忘曲线。
- 用户自定义遗忘指数,用于控制学习速度。
- 复习日历,可以编辑安排在特定日期的条目。
- 按月和按年的复习日历。
- 新的过程参数:平均复习次数、平均遗忘次数、平均间隔、平均E因子、要求及实测遗忘指数、保持率、平均复习时间、工作量等。
- “查找(Find)”扩展为支持“替换(Replace)”。
- 浏览模式中的“复制条目(Duplicate Item)”选项。
- 知识库条目上限从一万提高到六万。
- 浏览模式中的“安排条目(Schedule item)”,用于记忆选中的未学条目,对应SuperMemo 99中的Remember。
- Mercy选项,用于均匀分配积压条目,例如在休假中断之后。
- 可以通过KBD文件重新定义键盘代码。
- 软件包附带免费的Font Designer。
更多细节见《DOS版SuperMemo 6》,涵盖6.0至6.7。
Windows版SuperMemo 7.0,1993年1月至1995年3月
SuperMemo 7.0是1993年初波兰少数Windows应用之一。虽然最初很难与SuperMemo 6竞争,但到1995年,它已经成为最受欢迎的SuperMemo,截至1996年底销量超过三万份。1993年,它成为最早使用声音和位图图形的波兰应用之一。1994年中,又成为第一个以光盘发行的波兰Windows软件。SuperMemo 7.0获得的奖项太多,无法在此列尽。1994和1995年,《PC World Komputer》读者两次把它评为最受欢迎的波兰软件。在非法软件市场,它也是最热衷被复制的软件之一,排名甚至超过整个Microsoft套件:
- 整个程序使用Windows版Borland Pascal 7.0,从头编写,采用Object Windows Library应用框架。
- 新增知识库文件管理选项:删除、重命名、复制、移动知识库,以及Cut drills,移除安排为最终练习的条目。
- 通过多个程序实例,同时使用多个知识库。
- 编辑窗口加入Image菜单,可创建最多六万张与条目关联的图像。
- 编辑窗口加入Audio菜单,可录制和播放最多六万个与条目关联的声音文件。
- Future Reps参数,估计某个条目未来30年内所需的复习次数。
- 加入全屏条目浏览器,例如全部、未学、已记忆、积压、难以掌握的条目等。
- 引入leech,即拖慢学习过程的顽固条目概念。可以按E因子、遗忘次数和间隔筛出顽固条目,并浏览或随机复习它们。
- 通过File菜单的最近列表,快速打开最近使用的五个知识库之一。
- 启动SuperMemo时,自动打开上次使用的知识库。
- 记忆条目时,可以任意选择第一次间隔。
- 集成工具包,包括Recover、Reset、Transfer、Sort、Export text、Import text、Export SM6、Import audiovisual files、Cross-section、SetUp等。
- Lexicon与Audio Lexicon,可即时访问知识库中的单词和音频短语。通过Build Lexicon及用户定义的筛选文件,也能为自建知识库建立词典。
- 面向未来的Mercy,例如在假期前完成假期内安排的全部复习。
- 通过Spell-Pad进行拼写练习。
- 在光盘发行的Advanced English中加入Phonetic Lexicon,可以通过音标搜索英语单词。
- 编辑窗口的Previous或Back选项,可访问最近查看的最多五十个条目。
- 浏览器中的“Move→Randomize”,可以打乱浏览器内容,例如随机重排最终练习队列。
- “Browser→Random test”,可以对浏览器中的条目进行随机测试。
- 两种菜单模式:默认的简单模式,以及专业模式。
更多细节见《Windows版SuperMemo 7》,涵盖7.0至7.5。
Windows版SuperMemo 8.0,1997年5月
1995至1997年,SuperMemo World为SuperMemo研究新的超媒体范式,最初作为独立产品线发行,代号Genius。最重要的是,Genius摆脱了早期版本的问答限制,所有条目或元素,都可以由文字、声音、图片等各种组件自由组成。其次,它引入知识层级,让知识能组织成知识树,即目录窗口。Genius最初仅作为Video English、Cross Country等光盘内容的超媒体外壳发行。很长一段时间,它未能赢得SuperMemo 7忠实用户的喜爱。直到1997年5月,才决定把Genius作为独立自学工具发布,名为SuperMemo 8。这是第一个通过互联网在全球开展测试的SuperMemo,也是第一个同时作为光盘内容Deine Chancen和独立应用发布的版本。1997年6月,它又成为第一个可从互联网下载的商业SuperMemo。SuperMemo 8的后续版本,都会先通过互联网发布独立应用,然后再为传统分发渠道开发光盘版本。
SuperMemo 8主要新增功能如下:
- 整个程序使用Borland Delphi 1.0和Delphi的Visual Component Library,从头编写。
- 大幅改进复习间隔算法:(1)不同条目可以采用不同遗忘指数;(2)以A因子,即绝对E因子,替代E因子,定义条目的绝对难度,而E因子定义的是知识库内的相对难度;(3)实时近似最优因子矩阵,不再需要平滑,也不再需要用“Miscellaneous→Approximation”定期近似矩阵;(4)通过记录A因子与评分、评分与遗忘指数的关系,更快近似A因子。
- 层级化知识结构。
- 真正的超媒体,结合文字、图形、声音、视频、动画、超文本、可执行文件、脚本等。
- 参照标准多媒体查看、演示和帮助系统的导航工具。
- 多媒体对象注册表,用于保存图片、声音、视频等,支持BMP、GIF、WAV和AVI格式。
- 模板注册表,可以快速创建符合选定样式的条目与主题。
- 即时提示,便于理解具体菜单项和快捷按钮的功能。
- 条目数量实际上只受计算机内存限制;理论上,最多一千万个条目,配八百万个超媒体对象。
- ReadOnly和LearnOnly模式。
- 交互式地把知识系统翻译为其他语言。
- 简便地把程序界面翻译为其他语言。
- 通过脚本和可编程组件实现可编程性。
- 可以更改整个层级节点的遗忘指数。
- 可编辑的翻译和音标注册表。
- 在浏览器、注册表及元素窗口中随机浏览。
- 带Back和Forward按钮的双向历史列表。
- 在注册表中查找和替换。
- 鼠标移动时即时翻译、即时显示音标。
- 在设计时测试复习周期的选项。
- 外部多媒体文件可与组件关联,例如利用非SuperMemo多媒体光盘建立知识系统。
- 发布SM8OPT.DLL,其中包含SuperMemo所用SM-8算法的全部优化过程。
- 上下文相关帮助,可从本网站下载SM8.HLP。
- 启动时显示每日提示。
更多细节见《Windows版SuperMemo 8》。
Windows版SuperMemo 9,1998—1999年
对SuperMemo 8的大多数批评,涉及16位应用带来的限制。Windows 95日益普及,让开发者能够放弃16位平台,消除许多令人困扰的限制,例如不支持长文件名、超过256字符的文本,以及透明文字和图像等。SuperMemo 98使用Borland后来改名Inprise的32位Delphi 3.02开发。32位技术还大幅加快了应用及其超媒体功能。SuperMemo 98成为自1995年以来,第一个客户满意度很高的独立SuperMemo版本。近期调查的满意度评级甚至显示,它是有史以来最受欢迎的独立SuperMemo!1995年后出现的受欢迎程度下滑,主要被归因于引入知识树和超媒体范式后,程序复杂度上升。直到SuperMemo 98通过新的复杂度管理工具,包括三个难度级别,才解决这一问题。
1999年10月4日发布的SuperMemo 99,可能成为SuperMemo历史上最大的突破之一。它把SuperMemo的应用扩展到了知识获取与选择阶段:SuperMemo 1.0只处理知识保持,SuperMemo 8处理知识表述,而SuperMemo 99同时处理获取、表述和保持!虽然测试没有显示用户对新方案有多热情,但阅读列表技术得到认可,可能需要更长时间,以及对工具和技巧的进一步完善。关于阅读列表概念的详细描述,见《阅读互联网》。
以下是SuperMemo 98与99带来的最重要改进:
- 32位应用,分别使用Delphi 3.0和4.0编写。
- 速度提高。
- 长文件名。
- 文本长度不再受限。
- 引入阅读列表概念:可以从互联网导入电子文本,帮助用户确定优先级、拆成可管理的小段,再转换为选段、条目或单独阅读任务。
- 引入任务列表概念。任务列表虽是管理阅读列表的基础,也可以用于待办管理。
- 任务列表管理器,用于管理阅读列表和任务列表。
- 为纯文本和富文本组件提供阅读列表管理选项,包括queue extract、remember extract、task extract、queue cloze、remember cloze等。
- 浏览器元素数量不再受限。
- 支持RTF。
- 支持HTML,包括链接到其他元素、注册表文本和图像、外部HTML文件,以及互联网上的文件。
- 支持OLE,例如加入MS Word、Corel、MS Equation、Mind Manager等软件的文件。
- 透明文字和图像。
- 内置学习过程模拟。
- 新的浏览器操作:按列排序、记住、遗忘、忽略、最终练习等。
- 每日问题。
- 在单个分支中学习,可在会话之间继续;以及分支重新安排。
- 为午夜后复习的人,提供午夜换日延迟。
- 新的四级难度界面:初学、基础、中级、专业。
- 手动调整复习间隔。
- 复习上限,用于限制新材料流入。
- 一步升级SuperMemo 8创建的文件,也支持从DOS版SuperMemo 6和Windows版SuperMemo 7导入。
更多细节见《Windows版SuperMemo 9》。
Windows版SuperMemo 10.0,2000年
DOS/Windows平台的第十个主要版本实现了渐进阅读支持。因此,可以把它视为第一个真正把优化过程,从复习间隔和知识表述,扩展到从电子来源获取知识的SuperMemo。现在,万维网可以被视为一个知识宇宙,学习者可以从中把知识流引向复习过程,最终送入记忆。参见《SuperMemo 2000》。
Windows版SuperMemo 11.0,2002年
SuperMemo 2002借助Internet Explorer 6.0处理HTML文本的能力,扩展了渐进阅读。算法也扩展为支持间隔中途复习。文章引用大幅简化了渐进阅读中恢复语境的工作。更多内容见《SuperMemo 2002的新功能》。
Windows版SuperMemo 12.0,2004年
SuperMemo 2004进一步增强渐进阅读,改进Unicode支持,并支持通过XML交换数据。参见《SuperMemo 2004的新功能》。
Windows版SuperMemo 13.0,2006年
SuperMemo 2006聚焦大规模渐进阅读。优先级队列可以扩大学习量,同时,看似矛盾地,提高最重要事实和数据的保持率。它还改进网页导入选项,尤其是维基百科导入,也增强了图片导入与处理能力。通过“Import→Files and Folders”,渐进阅读扩展为各种渐进处理形式,不仅用于学习。对于经验较少的用户,自动排序与自动推迟,消除了材料过载的麻烦。参见《SuperMemo 2006的新功能》。
Windows版SuperMemo 14.0,2008年
SuperMemo 14.0引入基于YouTube的渐进视频,以及优化睡眠与学习的工具,这些工具最初来自免费软件SleepChart。它还在扩展视觉学习所需工具方面取得重大进步。
Windows版SuperMemo 15.0,2011年
SuperMemo 15.0是SuperMemo第五次重大重写,也是15年来的第一次。现在,内部支持Unicode,让语言学习者和国际用户更方便。额外的好处是,代码更简单、运行更快,尤其是文本处理。它还为渐进阅读、渐进视频、视觉学习等加入数十种新工具。参见《SuperMemo 15的新功能》。
Windows版SuperMemo 16.0,2013年
SuperMemo 16把全部学习技术整合到渐进学习中,速度和可靠性也远高于早期版本。参见《SuperMemo 16的新功能》。