我挺早就看到了 Ink&Switch 实验室《Local-first software》 ,但是文章较长一直无人翻译;最近看到 zxch3n.com 翻译,现将此长文推荐给大家。
本刊在早期推荐过本文作者之一,也是 Ink&Switch 实验室合伙人 Adam Wiggins 的系列文章《making computers better》,大体上觉得计算机革命还远未发生,他们选择了一些方向去加速革命的发生。
所谓云,只是别人的电脑。
计算机是人类有史以来最重要的创造性工具之一。软件已经成为我们完成工作的方式,也是工作的储存库。为了追求更好的工具,我们将许多应用程序转移到云端。云计算软件在许多方面都优于“老式”软件:它提供了可协作的、永远最新的应用程序,可以从世界任何地方访问。我们不再担心我们正在运行的软件是什么版本,或某个文件在哪台机器上。
然而,在云中,数据的所有权属于服务器,而不是用户,因此我们成了自己数据的借用者。在云应用中创建的文件注定会在这些服务的创建者不再维护它们时消失。云服务是无法长期保存的。没有网站时光机可以恢复一个没落的网络应用。互联网档案馆不能保存你的谷歌文档。
当你在制作某样东西时投入了大量的创造性精力和努力,你往往会对它有很深的情感依恋。如果你从事创造性工作,这体会或许不陌生。
在进行创造性工作的过程中,你通常会产生文件和数据:文档、演示文稿、电子表格、代码、笔记、图纸等等。你会希望保留这些数据:供将来参考和激发灵感,将其纳入作品集,或者仅仅是存档,因为你为它感到骄傲。这种「拥有」的感受是很重要的,因为创造性的表达是非常个人化的东西。
云应用在这方面是有问题的。虽然他们让你在任何地方访问你的数据,但所有的数据访问都必须通过服务器,而且你只能做服务器让你做的事情。从某种意义上说,你对这些数据没有完全的所有权--而云供应商拥有。
是否是个两难的选择?
- 云计算给了我们协作,但老式的应用程序给了我们所有权。
- 难道我们不能同时拥有这两个世界的优点吗?
在 《Local-first software》中, Ink&Switch 实验室为未来的软件探索了一条新的发展道路。展示了用户有可能保留对其数据的所有权和控制权,同时也受益于云相关的功能:无缝协作和从任何地方访问。核心在于 Ink&Switch 实验室 提出了《Local-first software》 的7个期望,同时来评测当前的技术是否能完全满足,最终尝试找到 CRDTs,并做了一些实验尝试。
| 技术 | 1. 即刻加载 | 2. 多端同步 | 3. 网络只是一种可选项 | 4. 无缝协作 | 5. 长期可用 | 6. 安全性和隐私性 | 7. 你保留最终的所有权和控制权 |
|---|---|---|---|---|---|---|---|
| 文件和邮件附件 | ✓ | - | ✓ | ✗ | ✓ | - | ✓ |
| Google Docs | - | ✓ | - | ✓ | - | ✗ | - |
| Trello | - | ✓ | - | ✓ | - | ✗ | ✗ |
| ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | |
| Dropbox | ✓ | - | - | ✗ | ✓ | - | ✓ |
| Git+GitHub | ✓ | - | ✓ | - | ✓ | - | ✓ |
| Web apps(瘦客户端) | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ |
| Thick client(胖客户端) | ✓ | - | ✓ | ✗ | - | ✗ | ✗ |
| Firebase, CloudKit, Realm(BaaS) | - | ✓ | ✓ | - | ✗ | ✗ | ✗ |
| CouchDB | - | - | ✓ | ✗ | - | - | - |
| CRDTs | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
✓ 表示技术符合理想,-表示部分符合理想,而 ✗ 表示不符合理想。
最值得注意的是被称为无冲突复制数据类型(CRDTs)的分布式系统算法系列。
CRDTs 是在 2011 年从学术计算机科学研究中出现的。
它们是通用的数据结构,就像哈希图和列表一样,但它们的特殊之处在于,它们从一开始就支持多用户。
每个应用程序都需要一些数据结构来存储其文档状态。
- 如果你的应用程序是文本编辑器,其核心数据结构是构成文档的字符数组。
- 如果你的应用程序是电子表格,数据结构是一个包含文本、数字或引用其他单元格的公式的单元格矩阵。
- 如果它是矢量图形应用程序,数据结构是一个图形对象的树,如文本对象、矩形、线和其他形状。
- 如果你正在建立单用户应用程序,你将使用模型对象、哈希图、列表、记录/结构等在内存中维护数据结构
- 如果你正在建立协作的多用户应用程序,你可以把这些数据结构换成 CRDTs。
这里顺带可以听一期播客节目,V2EX 站长 livid 正在从事的事情 IPFS 技术;
他们都有一个相同的出发点:创作的产权问题如何被重新思考和对待。
推荐:
