文件优先,本地优先,我对 File over App 理念的理解

File over App 讲了什么?

File over App 是 Steph Ango 在 2023 年中提出的观点(https://stephango.com/file-over-app)。Steph Ango 现在是 著名Markdown笔记工具 Obsidian 的 CEO。File over App 是指:所有 App 将来都可能消亡, 我们在App 上产生的数据不应该托付给这些 App, 而应该交给一些更加基础的形式保存,也就是「文件」这种形式。我们在 2060 年的信息应该也能在1960年的电脑上可以被读取,这样的话,信息才能保留更久,否则就会湮灭在历史长河中。

我个人非常认同这个观点,我觉得这是一个关于谁能掌握「用户数据」的重要话题。

文件存储便于用户掌握,胜于云端数据库存储

很多软件的数据存储在云端,诸如各种「云笔记」。云给我们带来了极大的方便(例如跨设备访问,多人协作),但它不是我们可以掌握的「文件」形式,数据被存放在不同的云端服务器上,多数情况下是某类数据库中。 App 数据库的数据不是用户直接掌握的,而是由 App 供应商掌握的。 极端情况下,App 供应商如果倒闭,如果也没有给大家提供导出下载的方式,我们的数据都会失去。这是最糟糕的情况。

文件是否公开格式,很重要

如果某个 App 的数据存放在一些加密或者专有格式的文件中,那么也不能算是用户掌握。 我拿着一个 名为 myData的加密 zip 文件,却没有密钥,虽然我实际持有这个文件,但是无法掌握里面的信息。 我还是需要依赖 App 供应商才能访问其中内容。

文件为长期目的服务,App是短暂的的手段

我个人的实践就是,重要的信息一定需要以文件形式存在我的本地。或者以文件形式存放在我信任的地方,例如外置硬盘或者dropbox上备份。 而一个时髦的App,或许能有效解决短期的问题,但如果有任何重要的产出,我一定会将结果转存为文件形式。 我们知道,人类文明的进步是因为知识代代相传,如果每个人(就像是每个 App)都将信息锁死在自己大脑内,并且带进坟墓,我们现在可能连石器时代都不如。 我们的碑文,石刻板,纸张书本,就是不同时代的「文件」。这些信息可以直接被访问,不需要某个特定的人来阅读,任何有眼睛的人都能看到。

文件 VS 数据库

File Over App 理念也招致了一些批评的声音。我观察下来,最主要的就是「反效率」的说法。

「反效率」观点认为:文件作为一种基础形式,保留信息的方式有限,也没有为检索等操作优化,效率远远低于数据库(或云端数据库)。

LogSeq (下图)是一款类似于Obsidian的本地文件优先的笔记工具(更像是 Outline 节点笔记)。目前他们团队也在考虑向数据库转型(在兼容文件的基础上),可能也是考虑到数据库形式的优越性。具体即参照他们的论坛:https://discuss.logseq.com/t/questions-about-the-upcoming-database-version/27108

单纯的文件形式 其索引效率以多人及协作问题(更新冲突,数据锁死等等),都远远落后于数据库的方式。所以, 很多人觉得数据库才是最好的解决方案,可以说是为了效率而牺牲某些掌控能力。

我个人倒是觉得,未来会有两者共存的方案。 实际运作时由某个数据库进行操作,但是所有操作的结果都以文件形式交给用户,像是一种凭证。用户可以根据这些凭证重构整个数据库。 假设以后出现了更先进的数据库技术,那么用户只要更换「驱动」就能利用手中的文件,将信息升级到更快更安全的引擎中。 也可以理解为,我可以无缝迁移到另一个 App 中。 那么 App,或某种技术的数据库即使死去,信息仍旧可以永存,而且逐渐积累变得更丰富,想想我们前面说的人类知识传承。

按文件导方式出给 App 分类

所以我很大程度是这样给笔记类 App 分类的,主要看他们对待用户数据的方式。

危险的黑洞 App

这种 App 不能导出数据,或者只能导出专有格式的数据。 这类 App 不能碰,这注定是要用户为它一起陪葬的。 因为没有信息可以 over App。

可以手工导出用户数据的 App

这里面又有很多种,有的可以导出,但很麻烦(比如: 之前说的 Apple Notes 哈哈),有的导出的格式虽然公开,但是会损失一些内容。例如一些画板工具转为Markdown输出,会损失很多视觉关联信息。但即使最好的导出,也需要依赖用户定时去操作,不是那种实时产生文件凭据的类型。 但总算用户多少是有可能将数据迁移到更好的地方去。

实时产生文件凭据的 App

Obsidian,LogSeq 都是这种类型的App。我们可以说这些 App 把笔记存放在了文件里面,也可以说,文件只是凭据,就像财务当中的原始凭证,我们只要掌握这些凭证就能重新构建账本,无论是在纸面上,还是电子记账。 从这个角度来说,我用的 Dropbox 或者 GoogleDrive 之类的工具也是一样的,它们会给我本地文件(作为凭证),而实际他们将信息存放在云端数据库,至于它们如何迭代数据库也好,甚至 App 不存在了也好,我们都可以运用手上的文件立刻重建出下一个同步服务。 想想看,从 Dropbox 迁移到 GoogleDrive,就是移动文件而已,甚至连移动都不需要,只要在新的 App 里重新指定同步文件夹的操作就可以了。

构建自己的系统

所有这些,其实我还是想说,我们用户应该掌握自己的数据。这也是 效率火箭 的宗旨之一。控制用户的数据是 很多App 的一种天然权力,尤其是 App 需要盈利的话,就更难主动放手。所以,我们还是要远离危险的「黑洞App」,好好珍惜「文件优先」的 App。我的很多想法,很大程度也是受到了 Steph Ango 「File Over App」的启发, 也希望 Obsidian 可以将这个理念将发扬光大(我个人是 Obsidian 的忠实用户,笔记从之前的纯文本文件和 Evernote 等迁移过来)。

2 Replies to “文件优先,本地优先,我对 File over App 理念的理解”

留下评论