HyperAI超神经
Back to Headlines

本地优先软件:实现数据所有权与无缝协作的双赢

3 days ago

本地优先软件:你数据的所有权,与云端无关 随着互联网的发展,我们现在可以便捷地在线协作。谷歌文档、Figma、Slack 和 Trello 等应用让远程工作变得简单,但这些应用程序也带来了新的问题。当我们投入大量创意努力创作某些东西时,往往会对其产生深厚的情感联系。数据的所有权和控制变得尤为重要。 然而,云应用程序将数据存储在第三方服务器上,导致用户对数据的实际拥有权被削弱。如果某个服务下线或不可用,用户将无法访问自己的数据。此外,服务器中的集中式数据库容易成为攻击目标,安全性和隐私性较差。因此,专业和创意工作者需要一种新类型的应用程序,既享有云端合作的好处,又能保持数据的所有权和控制,这就是本地优先软件(Local-first Software)。 本地优先软件的核心观点 我们提出了本地优先软件的七项理想标准: 快速响应:操作即时生效,无需等待服务器。 多设备支持:数据可以在不同设备间同步。 离线可用:即使没有网络连接也能继续工作。 无缝协作:支持细粒度的实时协作。 数据持久:即使公司不再维护,数据也应长期可用。 隐私安全:数据默认不被他人访问。 用户控制:用户完全掌握自己的数据。 现有技术对比 - 文件和邮件附件:传统文件格式如纯文本、JPEG 和 PDF 可以实现高速响应、离线可用和用户控制,但在多设备支持和实时协作方面存在明显不足。 - 网页应用:谷歌文档、Trello 等网页应用提供了出色的实时协作和多设备支持,但它们在离线可用、数据持久性和隐私保护方面表现不佳。 - 云存储同步服务:Dropbox、Google Drive 等工具在多设备支持和离线可用方面表现良好,但缺乏实时协作功能。 - Git 和 GitHub:Git 在本地存储主要副本,提供了优秀的历史记录和数据控制,但不支持细粒度的实时协作,对于非文本文件格式的支持较弱。 - 移动应用:一些本地存储数据的移动应用如Clue 和 Things 提供了良好的离线体验,但在多用户协作方面仍然存在问题。 - Backend-as-a-Service:Firebase、CloudKit 和 Realm 提供了多设备支持和离线功能,但这些问题在于数据默认存储在中央服务器,隐私性和数据持久性差。 CRDTs 技术 为了实现本地优先软件的愿景,我们实验室研究了一种新技术——无冲突复制数据类型(Conflict-free Replicated Data Types, CRDTs)。CRDTs 从学术研究中脱颖而出,能够自动合并多用户数据,无需担心冲突分辨率。它们可以同步细粒度的数据变更,支持细粒度的实时协作。 我们在实验中开发了三个基于 CRDTs 的原型应用,每个都针对不同的创意工作场景: Trellis:一个类似于 Trello 的看板应用,支持实时协作和离线编辑。 Pixelpusher:一个实时协作绘图应用,通过视觉方式解决冲突。 PushPin:一个混合媒体画布应用,支持复杂版本历史管理。 实验结果 - CRDT 技术可靠:用户可以离线工作并随时合并更改,体验流畅。 - 用户感觉良好:这些应用在离线状态下仍能正常工作,给予用户更多掌控感。 - 冲突处理简单:实际工作中很少遇到无法自动解决的冲突。 - 数据历史可视化重要:帮助用户理解文档变化过程。 - URL 共享机制有效:简单直观,用户易于接受。 - P2P 网络技术挑战大:尽管有潜力,但实现难度较高。 - 云服务器仍有作用:在发现、备份和计算方面可以辅助本地优先应用。 业内评价与公司背景 业内专家认为本地优先软件不仅提升了用户的控制权,还在数据持久性和安全性方面表现出色。这为专业和创意工作者提供了更可靠的工具,避免了云服务带来的潜在风险。例如,Ink & Switch 是一家专注于分布式系统和本地优先技术的实验室,其研究成果正在逐步推动这一领域的发展。

Related Links