当一个产品需要处理音乐、心率或个人记录时,我们首先想到的不是“怎样把数据收集起来”,而是“这些数据是否真的需要离开用户的设备”。
对大多数个人工具来说,答案往往是不需要。
本地优先是一种产品边界
本地优先不只是技术架构,也是一种对产品边界的判断。我们只处理完成核心功能所必需的信息,并尽量在设备上完成计算、索引与保存。
这样做意味着我们无法依赖服务端快速补救所有问题,也不会拥有一份可以随时分析的用户行为数据库。但它迫使我们把功能做得更明确,把默认设置做得更可靠。
更快,也更可靠
数据不需要在网络中往返,很多操作就可以立即完成。即使没有网络,音乐仍然可以播放,历史趋势仍然可以查看,便签仍然可以编辑。
本地处理也减少了外部服务故障对产品的影响。一个个人工具应当在用户需要它时工作,而不是等待另一个系统恢复正常。
隐私不应该成为高级功能
我们不希望用户为了保护自己的数据去理解一长串设置。更好的方式是把隐私放进产品默认行为里:不必要的数据不收集,敏感数据不上传,能在本地完成的事情就在本地完成。
这并不代表所有产品都必须完全离线。同步、备份与跨设备体验仍然很有价值,但它们应该是清楚、可控并符合用户预期的选择。
接下来仍然会坚持
本地优先有时会让开发更慢,但也让我们更清楚自己正在做什么。对迷岛来说,这不是一句宣传语,而是一条会持续影响功能取舍的产品原则。
把数据留在用户手里,也把选择权留在用户手里。