笔记软件选择

ZhuYuanxiang 2020-05-01 00:00:00
Categories: Tags:

本文首发于windily的笔记软件选择,欢迎加入交流群: 825255377

目前市面上有着成百上千款各式各样的笔记软件,它们都很优秀。我们没办法在这逐个列出来进行比较,也没有必要,对于知识管理的笔记软件可以通过几个关键的指标进行衡量,进而作出选择。以下内容仅是我的个人看法,如有谬误,敬请指正。

商业化运营 vs 非商业化运营

这里的商业化运营指以盈利为主要目的的运营,和非商业化运营倾向性不同。

商业化运营的主要观点为:

  1. 开发软件本就有成本,不管是功能开发,运营推广都需要钱,软件不是天上掉下来的,不能让开发商只能为爱发电
  2. 钱可以让软件开发商更好的为用户服务: 包括开发新的功能,修复 bug,及时处理安全问题等

非商业化运营的主要观点为:

  1. 确实不能为爱发电,但你不能以裹挟用户来进行商业化。比如故意不开发完善的导出功能,必须联网使用,会员专属广告等。
  2. 有钱开发商也会摆烂,甚至会有相当离谱的操作,弃个人用户于不顾。
  3. 有钱也不会开发你想要的功能: 因为事实是个人用户的付费意愿是不强的,只有开发面向企业的软件才能获得巨额回报。
  4. 资本会裹挟笔记软件进行决策。

这个问题的核心是: 付费是否能让软件变得对个人用户更好?答案是不确定的。以下事实可以反证:

[!note] 关于收费策略调整 这种商业模式完全没有任何问题,但如知乎用户 王德福 所说:”先无害的传播,到了指定的用户规模再开始上商业模式,进行收割(划掉),收费。谁都不会觉得一个可能写着写着就没水的笔是好的书写工具,哪怕它写字的时候再流畅。“。 我只是想找一个稳定的个人笔记软件,而不是因为在软件上做太多笔记积重难返,不得不付费。非商业化运营加本地的笔记软件,至少在你下载下来那一刻,你的所有东西都将定格,永远属于你。

那么完全不需要商业化吗?也不是,开源项目放弃维护的也数不胜数。这个问题的重点我认为在于一个侧重点——是否以软件为主。开源社区摸索出了很多尊重软件的商业模式,比较普遍的就是核心功能完全免费,涉及到云服务的功能付费,且有私有部署方案。笔记软件有 Logseq,思源笔记,Obsidian ,Affine 等,非笔记软件有 Supabase,AppWrite,NextCloud 等都采用功能完全免费,可选付费云服务。除此之外,盈利还得靠运营,缺乏运营的商业模式,也将缩短软件的生命周期。

这种商业化和以商业化为目的的商业化主要区别在于:

  1. 不以盈利为主要目的: 软件核心功能全部免费,订阅服务付费是因为开发商需要承担云服务成本,也可不订阅自部署。这样一来,软件的收益极大程度上取决于软件本体的好坏以及云服务的质量。
  2. 软件本身不会故意捆绑用户: 作为一个半吊子软件开发者,我也会为了保证盈利做出一些很狗的抉择。比如免费后将功能收费,核心功能点收费,用户基数上来后收费,新功能收费,不能导出常见格式,加广告等。这样一来,开发商本就以盈利为主要目的,这些捆绑用户的操作很符合他们的利益。
  3. 软件生态被人诟病: 软件社区被一些商业公司较大概率做出一些很离谱的操作很常见。典型的情况如并不是该软件的忠实用户却运营和管理整个社区,直至社区失去活力;这里有一个相当具有代表性的例子——暴雪退出中国市场,这件事情的发生不亚于写了十几年的笔记毁于一旦,不存在任何转移数据的可能。当然,社区驱动的软件也并不是没这问题,比如 Rust 开发语言是纯社区驱动的,但在 Mozilla 宣布由于疫情压力进行组织调整,裁员约 250 人,其中就包括一些 Rust 项目和 Rust 社区的活跃成员,再加上 mod团队集体辞职 后续重组社区管理人员等问题,充分说明维持社区生态非常困难。但社区驱动可以将个人损失降低到最小,即使管理层倒了,rust 依旧重组了新的管理层,并延续社区驱动的初衷,这点是商业运营比较难做到的。

既然付费与否都不能 100% 确定软件会变得更好,那为啥不选择那些有理想主义情怀的非商业化软件呢?在最坏的情况下,非商业化软件有着最大的自由度,即使被恶心了损失也不会太多。

所以针对个人知识管理的笔记软件使用场景,尽可能选择那些非商业化运营的笔记软件可能会更好一点。

本地 vs 在线

这里的在线指数据只能存储在云端的软件,典型代表是 Notion

此处阐述这个问题的根基依然是个人知识管理中所描述的使用场景,即个人知识管理是一系列技能和工具的配合的系统。常见的需求包括网页剪藏,桌面效率工具的结合,其它软件的联动等,而在线笔记缺乏这样的先天因素,即使像 Notion 这样积极引入自动化服务和 API 联动,依然在扩展性上低本地软件一筹。以 ChatGPT 为例,Logseq 和 Obsidian 在 ChatGPT API 放开当日就有插件引入了该能力,并且个别插件如今接入了包括语音识别模型 Whisper,文生图 DALL·E 等,从对话到文本生成到文本重构到 PDF 摘要等不同展现形式。

在线具有的优点,除了能让用户更方便外,大都是有利于开发商的。况且类似 Logseq,思源,Trilium 这样的笔记软件还能自建,折腾一次,即可满足安全和方便两种需求。

综上,本地具有以下优点:

所以针对个人知识管理的笔记软件使用场景,尽可能选择那些本地的笔记软件可能会更好一点。

纯文本 vs 富文本

纯文本文档,就是没有任何文本修饰的,没有任何粗体,下划线,斜体,图形,符号或特殊字符及特殊打印格式的文本,只保存文本,不保存其格式设置。将所有的分节符、分页符、新行字符转换为段落标记。

纯文本笔记和富文本笔记之间的区别我并没有找到明确的定义,按上述说法,md 保存了格式设置,所见即所得进行了文本修饰,就不应该是纯文本,我也有点迷惑。按我自己的理解,给出一个定义:以人可读的形式存储的文档,将其称为纯文本文档。具体表现为,纯文本任何一个字符都被记笔记的人掌控,都是具有语义的,能被任意文本编辑软件打开;而富文本则是隐藏了底层细节,仅展示渲染后的结果,尽管底层数据也可以由 json 这样的文本文件实现,但并不是由记笔记的人掌控,也是人不可读的。

纯文本带来的主要优势为:

  1. 标准化和兼容性:比如 Markdown 标准化使用语法,在迁移性,跨应用协同上有着明显优势。即使电脑上什么软件都没装,控制台依然能打开该文件,且保持可读性
  2. 编辑效率:Vim,Emacs 这些以纯文本编辑著名的编辑器能大幅提升编辑效率
  3. 联动能力和扩展能力:因为是纯文本,可以配合很多软件,比如 git,typora,vscode,quicker 等,不是说富文本不能联动,而是联动起来往往需要更复杂的操作
  4. 笔记掌控能力:只要用户愿意,不会多一个字符少一个字符。因为纯文本格式本就少,只有富文本兼容纯文本的,没有纯文本兼容富文本的说法,富文本导出就只能丢失信息,纯文本导入富文本信息丢失得最少。

同时带来了很多缺点:

  1. 表达能力有限,实现不优雅:如果需要引入复杂格式,比如横向排版,多种颜色,批注,块引用等,需要引入一些肉眼难以处理的字符,这会破坏标准化和兼容性优势
  2. 附件处理提升用户心智压力:图片,视频,音频,pdf 等附件的嵌入,需要用户手动管理,即使借助图床,也需要动手能力
  3. 用户交互很难做:由于是直接控制文本,大多数情况下并不需要做用户交互。但对于键盘不敏感的人群来说,体验并不好。

这里需要注意:==纯文本和富文本并不和编辑体验强相关!!!== 编辑绝大部分人注重的是编辑可视化,但还有非常多的方面没有考虑到:

纯文本和富文本的唯一区别我认为在于:编辑即文本:纯文本的数据存储就是纯文本的,因此在复杂排版,可视化上,不可避免的引入一些内容外的字符。markdown 将这些字符限制在一个很狭小的范围,格式不要太多,够用就好。这就是格式和内容分离的初衷,也是很多纯文本笔记软件的设计哲学。富文本把内容之外的字符隐藏,不代表消失了,它会在该出现的时候出现,并且困扰你。纯文本则时时刻刻提醒你,适度引入格式字符。

在现代的笔记软件中,富文本和纯文本都在进化。Joplin,早期思源,Logseq,Obsidian 等曾就执着于纯文本,而 Tana,Appflowy,Affine,思源等新兴笔记软件似乎并没有执着于纯文本了。相反,纯文本成了少数的存在,并不是纯文本不行,毕竟 Vim,Emacs 这些发展了几十年不仅仅是编辑器的软件都能称之为互联网老古董了依然在焕发活力,而是由于设计哲学不符合相当一部分人的需求。

纯文本能实现的东西,富文本都能实现,但魔改的难度提升了,相反,富文本能实现的,纯文本可能不会实现得非常优雅,但修改起来容易很多。对于绝大多数用户来说,选择编辑体验符合自己的偏好的笔记软件可能更好一点。不然使用纯文本的批判使用富文本的玩得花里胡哨的,富文本的批判使用纯文本的改个颜色字号都费劲。说得太多可能适得其反,总结一下这二者的选择——只能试试

对于知识管理而言,我的个人意见是推荐纯文本,所谓自律即自由,在记笔记领域,可能也存在纯文本即自由

笔记形式

笔记形式有二个很明显的阵营以及一个很奇特的阵营:

这里值得一提的是大纲流,这种笔记的用法是 DailyNote 的实践,相比与文档流,有统一的笔记粒度,轻量,结合双链能起到很好的聚类效果。对于新手来说可能很不习惯,但这种笔记形式有很多独到之处,值得学习。

笔记形式确定了,以后可能就很难更改了。即使软件提供导入工具,但由于笔记形式的独特性,很难没有信息损失的导入到新笔记里。手写白板流更不用说了,其高度自由的表现形式,目前还没有什么好办法呈现在其它笔记里。

平台支持

这个特性一方面指移动端,PC 端,Web 端,另一方面指 MacOS,Windows,Linux。跨端在某种程度上意味着自由,可以随时更换操作系统或者硬件的自由。

同时跨平台越多,越方便,如今快节奏的生活,移动端的收集功能是 PC 端很难替代的。

社区生态

好的社区生态能少走不少弯路,老人带新人,即使软件有很多门槛也能解决 。随着加入的人越来越多,会有许多正面收益,包括但不限于:

  1. 社区分享:教程,笔记,讨论等
  2. 软件稳定:用的人越多,跑路越轻松,因为总有大牛写脚本,写软件帮人跑路,比如这个 heptabase完美导出。甚至可能的话,会有大牛会接替维护这个软件或者重新开发该软件。
  3. 功能强大:用的人越多,有着不同需求的人也越多,对于高扩展性的软件,总有一些无私风险的人 ,为社区填砖加瓦。即使这些需求非常离谱和看起来没啥卵用。比如在笔记软件里玩游戏 ObsiDOOM ,五秒不打字,就把笔记删了 dangerzone-writing-plugin

对于社区生态来说,没办法给出一个准确排名,但按照使用人数及热度来说,好的社区生态大致如下,排名部分先后:

总结

个人笔记软件应选择非商业化运营的,可本地的,尽可能跨端的,有着符合自己编辑体验的且满足自己笔记需求的笔记形式,生态强大的软件。

所有软件都是优秀的,上述提到的特性都是软件设计的权衡。不可能同时商业化运营和非商业化运营 (目的不同),也不可能同时本地和在线 (在线这里指数据只能存在云端),更不可能同时纯文本和富文本 (同时支持实现就非常不优雅)。用这些软件就得接受这些设计哲学,才能体验达到最佳的体验。

这里列出如今比较热门的笔记软件,仅列举本人体验过的,可能有所出入,敬请指正:

笔记软件 关键字
Vim/NeoVim 高门槛,非商业,开源,本地,纯文本,强生态
Emacs/Org mode 高门槛,非商业,开源,本地,纯文本,强生态
Logseq 非商业,开源,本地 + 在线,纯文本,大纲笔记
思源 非商业,开源,本地 + 在线,富文本
Obsidian 非商业,闭源,本地,纯文本,强生态
Joplin 非商业,开源,本地,纯文本
Notion 商业,闭源,在线,富文本,强生态
Wolai 商业,闭源,在线,富文本
Flowus 商业,闭源,在线,富文本
RoamResearch 商业,闭源,在线,富文本 (存储为 json),大纲笔记
Tana 商业,闭源,在线,富文本,大纲笔记
AppFlowy 非商业,开源,本地,富文本,待发育
Affine 非商业,开源,本地 + 在线,富文本,待发育
trilium 非商业,开源,本地,富文本
OneNote 商业 (新版合入 office365),闭源,本地 + 在线,富文本
Heptabase 商业,闭源,在线,富文本