2023 的 Roam Research 怎么样了?

2023 的 Roam Research 怎么样了?

Published
February 12, 2023
Updated
Last updated February 13, 2023
Description
总结一下两年来,Roam Research 的变化以及现状。
Progress
Author
Feng Kaiyu
💡
为什么要写这篇博文:
  1. 上次写相关内容以来,它也加入了一些新的功能,想要记录并分享给大家我自己的体验。
  1. 目前国内用户主要使用开源非线性笔记工具(LogSeq、Obsidian 等),如果你采用类似的笔记方式,可能会好奇到目前为止, Roam Research 的生态怎么样。

价格

作为闭源商业项目,Roam Research 依然是月费 $15 或年费 $165 的昂贵收费。毕竟,2020 年有很多直接买断五年的 Believer 用户。目前的定价估计考虑到了「不能影响这部分用户的利益」的问题。
更雪上加霜的是,目前 Roam Research 关闭了 Sholarship 的申请。(这个申请方式曾经可以申请到免费的使用机会)
  • 其文档中删除了相关的内容。
  • 原有的报名表单已经关闭。
另外近两年,也没有关于 Roam Research 的融资消息;目前大环境对其唱衰的声音还是远大于其他工具(比如在 Reddit 或者 HN 上)。
 

性能有大提升

Roam Research 的性能曾是饱受诟病的问题之一。在 2022 年之前,我每次打开笔记需要大约一分钟甚至以上的等待时间。而在去年年初,Roam Research 的团队开始优化这一个问题。目前,我的笔记能够在大约 5 秒左右打开。其他部分的使用(比如查看 Graph Overview)也没有遇到性能问题。
另外,Alexander RinkTfT Performance: Roam Research 中对 Roam Research 进行了基本的性能测试。TfT Performance: Interim Results 记录了横评结果,基本结论是:Roam Research 确实在相同架构的笔记工具中(Craft、LogSeq)有较好的性能。
补充:今天发现了这篇文章,Obsidian, Logseq, RoamReseach and others. Which tool to choose? | by Dmitry Korzhov | UX Planet。其中提到了对 Logseq 的评价:
Logseq and RoamResearch style apps, but very inferior. With a large amount of documents it starts to hang and the search works very badly. Recently the guys released Sync (like Obsidian) for beta testing — I tried it, nothing special.
不过最近我在使用 Roam Research 的时候,发现整个浏览器在特定情况下可能会冻住。目前我还没有办法找到这背后的问题或是规律。(应该是插件问题)
 

多了一些新功能(相比于上一篇博客撰写时)

客户端

在大家的催促下,Roam Research 提供了基于 Electron 的客户端(也包括移动端)。Roam Research 官方对其改动很少,这也就意味着客户端和网页端基本没有区别。(而且没有办法使用浏览器插件了)
其实 ,Roam Research 很早就提供了 PWA 版本。对于这种面向文本的笔记工具,其网页版已经提供了足够丰富的响应式功能。因此对于我来说,我更倾向于使用原生的网页或者 PWA。当然,唯一有点膈应的一点就是,Web 端会继承 Chrome 的一些快捷键,有时候会干扰到正常使用。

端到端加密

端到端加密会将所有文本在用户侧进行加密(密钥由用户提供),以保证存储在服务器上的内容无法被任何人解密。
端到端加密非常适合担心信息泄漏的用户。当然,代价就是一旦你忘记了丢失了密钥,这些内容将永远无法恢复。

插件商店(Roam Depot)

作为 SPA,Roam Research 提供了基于 JS 的 Web 端接口,称为 Roam Alpha API。因此,其插件的使用通过加载 JS 片段来实现。
Roam Research 的技术栈采用了 Clojure 和 Datomic,所有文档数据均以元组的形式只读存储在数据库中。当用户访问页面时,整个数据库会加载到用户的浏览器中,然后本地进行查询。查询的语法采用 Datalog。 (更多细节可以阅读 Deep Dive Into Roam's Data Structure - Why Roam is Much More Than a Note-Taking App)
这种设计的优点在于:
  1. 用户查询数据是在本地进行,效率高。
  1. Datomic 的存储结构更好地反应类似于图的数据结构。
  1. Datalog 功能强大,可以进行很复杂的查询。(代价是语法也更复杂)
 
[<e-id> <attribute> <value> <tx-id> ] ... [4 :block/children 5 536870917] [4 :block/children 9 536870939] [4 :block/uid "01-19-2021" 536870916] [4 :node/title "January 19th, 2021" 536870916] [5 :block/order 0 536870917] [5 :block/page 4 536870918] [5 :block/parents 4 536870918] [5 :block/refs 6 536870920] [5 :block/string "check [[Projects]]" 536870919] [5 :block/uid "r61dfi2ZH" 536870917]
Datomic 的元组数据结构
[:find ?e-id :where [?e-id :block/uid "r61dfi2ZH"]]
使用 Datalog 查询数据库
以上的查询能力,也通过 Roam Alpha API 提供给了用户和插件开发者。
最早,Roam Research 通过 https://roamjs.com/ 来提供这些插件的 host 服务以及用户手动安装、配置的说明。(是的,非常原始。需要通过 JS 代码来配置插件)值得注意的是,当时已经有不少付费的插件存在。
2022 年年中,Roam Research 团队推出了官方的插件商店——Roam Depot,解决了插件的安装问题。目前,大部分样式和插件已经迁移到 Roam Depot。
notion image

值得称赞的地方

  • 并非完全所见及所得。修改的部分就是纯文本,因此能够非常自如地控制格式。
  • 创新性强。Roam Research 可以说是开起了网状笔记工具的时代。即使是最近才出现的 Tana,其 Supertags 也是基于 Roam Research 的 Attributes Table 的概念而延续的。(当然我倒是希望 Roam Research 官方能继续优化一下 Attributes 的能力
  • 用起来给人一种安心的感觉。比如其 UI 设计很简单,也很好用。其同步也非常稳定好用
  • Roam Research 从设计上就考虑到了知识库协作的问题。比如,Roam Research 的每一个 Graph(类似于 Workspace)都是一个全局唯一的名称,这为跨工作区引用提供了基础。

问题

最严重的问题当然是昂贵(当然,可能从美国的购买力来说,价格已经很良心了)。在竞品 LogSeq 提供免费的本地知识库的情况下,Roam Research 并没有开放此权限。
另一个有争议的地方是,Roam Research 的开发进度比较慢。相比于依托开源社区而选择更激进策略的 Obsidian、LogSeq,Roam Research 更像是一个不慢不急的长者,稳但是慢。可能这就是不同的商业模式带来的产品特性的区别。
Reddit 上的一个总结很有意思:
Roam isn't a bad choice, but it's probably currently the worst choice overall.