提个复习功能的实现想法,能显著增加思源卖点,且可快速实现

笔记为什么需要复习功能

如何快速实现

本着无必要勿增实体的原则,以及 D 和 V 稀缺的精力,我认为:

方案是:

综上,其实就是增加一个可自选内容块范围的漫步笔记功能,即可实现基本的复习效果,增加产品卖点,吸引更多学生党和学习者的关注。至于其他的遗忘曲线,卡片格式等功能,等以后时间充裕后再添加即可。

为什么想要提这个建议

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • yuyuyuyu
    订阅者

    D 大现在好像在专注于修 bug,缩减需求,特性提议都没有回复了

  • archblue
    订阅者

    非常赞同,笔记要定时复盘才有记忆效果。我在想用 sql 语法能不能实现个简单的随机回顾?难点是如何做成问答形式

  • Clouder
    订阅者

    如果只是文中提到的功能,随机漫游(随机抽取显示)、挖空,利用 sql 嵌入块和第三方主题已经可以实现了,自选内容块范围通过 sql 筛选属性也很好操作。当然显示上还是依赖嵌入块的样式。

    Anki 的灵魂在于 Spaced Repetition 也就是间隔复习算法,而不是随机调取。随机调取是很简单的,但效果相比之下就差很多了。而 Spaced Repetition 实现起来比较复杂,恐怕 D 大近期是不会考虑的。

    2 回复
  • wesley
    作者

    正因为 spaced repetition 比较复杂,所以我觉得可以先把容易实现的功能加上,至少能先用起来。

    间隔复习其实可以根据自己对知识掌握的情况自行把控,不用严格按遗忘曲线。每次都整体回忆,熟悉的内容直接点击随机切走就行了,不会花很多时间。如果已经确信这部分内容不用再复习,或者不需要再记忆(比如考试结束),从收藏库里移走就行了。

  • wesley
    作者

    利用 sql 等自行解决的话,我的担心点在于,如果我通过这种形式自己制作好复习计划,后续如果官方推出这个功能,我制作的复习计划能否迁移呢?二者能否兼容呢?开发者要考虑兼容问题是否也是增加了工作量呢?假如我整理好了几百个知识点,后续又要重新一个个编辑,也是不小的工作量。(技术小白,说错轻喷 😁)

    1 回复
  • Clouder
    订阅者

    如果是后续兼容问题的话,可以希望官方开放相应的 API 接口,这样自行实现的数据格式也可以自行写工具迁移过去。还是相当于用户自行迁移,但利用科技进行自动化操作。(题外话,我觉得现代人可以考虑或多或少学习一些编程,对日常生活帮助不小。)

    随机切走长期来看是非常低效的,举一个我自己的例子,我现在 Anki 中卡片情况是这样:

    image.png

    image.png

    绝大多数的内容我都是熟悉的,如果用随机切换,我需要切换 20 次才能得到一次有效的操作。当然在学习期这个比例会相应下降,但只要总数量上来了,基本上操作效率都很难超过 20%. 如果你的知识库中已经掌握的知识占比为 A%,那么无效操作就占了 (1-A)%.

    在 Anki 中,这些 Mature 的卡片的周期都是以月为单位的。用固定间隔的话,很难想象要如何兼顾学习中的卡片与已经成熟的卡片。然而我们依然不能确信我们已经完全掌握了这些卡片,因为以月为周期的大时间跨度上,总是会有遗忘,因此删除也是不可接受的。(在对准确率要求较低的情况下倒是可以考虑的。)


    Anki 的一大痛点就是复习的卡片太多了,本来是可以通过延长周期来缓解的。但在限定的时间内保持对特定知识的高准确度掌握的要求下,周期也不能太长,所以就非常有压迫感。


    先能用起来的话,用现存的随机漫游的嵌入块 SQL 就可以了。

    SELECT * FROM blocks where id in (select block_id from attributes where name = 'custom-review') ORDER BY random() LIMIT 1
    

    然后对着块编辑 review 属性,内容随便写就可以了。LIMIT 1 可以改为自己想要的数字。

    一个比较好的实践是对着容器块打属性,比如标题、超级块。列表也是可以的。

    1 回复
  • wesley
    作者

    大佬太厉害了,获益匪浅,向你学习 👍

请输入回帖内容 ...