上个月，我有幸参加了在波特兰举行的 [IndieWebCamp](http://indiewebcamp.com/)，这是一次 BarCamp 风格的会议，技术人员聚在一起集思广益，讨论如何帮助人们拥有和控制自己的在线身份。

所谓的独立网络运动是开源和标准运动的精神表亲，其根源在于对数字自由的渴望，主要来自威胁限制和侵犯普通互联网用户在线存在的垄断。它需要采取切实可行的手段来保护这种存在，无论是从功能还是数据的角度来看，防止或破坏任何一家公司对个人在线身份的控制。

这是一场发人深省的运动，原因有很多，尤其是因为它发现自己在风中尖叫，可以这么说。随着社交网络的激增，大多数互联网用户越来越多地将他们的数字生活交给专有服务，这些服务大多由私营公司（而且总是自私的）运营。这些用户不拥有他们发布到这些服务的身份和内容，这使他们免受模糊的服务条款及其应用的影响。如果公司关闭这些服务、不合要求地重新设计它们或未能改进它们，他们也无法继续享受这些服务（至少以同样的方式）。然而，只有一小部分用户主动担心这些问题，而且通常只有在他们因帐户停用、持续停机、审查、隐私泄露或关键设计缺陷而受到困扰时。

独立网络运动有一种道德基调，而不仅仅是坚持用户应该控制自己的在线身份，以避免与服务提供商发生冲突。支持者认为，互联网需要保持其去中心化的性质，并抵制权力的合并，以免技术进步受到阻碍，数据丢失、被囤积或损坏，以及用户被集体剥夺权利。这里存在一种紧张关系，因为将用户视为[虚拟佃农](http://nomoresharecropping.org/) 的私营公司显然对当今网络上发生的大部分进步负有责任，并且他们的服务使每个人（包括技术文盲）都可以更轻松地在线参与。

在参加会议时，独立网络运动面临两个特别的挑战给我留下了深刻的印象。第一个与确定普通互联网用户的相关且可识别的需求有关，以更好地控制他们的在线身份。独立网络支持者对专有服务提出了不同数量的有效投诉，每项投诉都有自己的优点，但没有一个投诉本身会被主流受众视为一个巨大的、紧迫的问题。

会议的主要组织者和我亲切的东道主 [Tantek Çelik](http://tantek.com/) 引用了 Twitter 和 Tumblr 等著名服务的停机时间作为去中心化的原因，以及所收购的服务有关闭的趋势。其他人则表示希望更轻松地导出和管理他们发布到服务的内容，以便可以在个人计算机上使用这些内容并在网络上的其他地方发布。对于其他人来说，这主要是个性化以及以更大的灵活性和流动性与众多在线服务及其各自的功能进行交互的能力的问题。

所有这些都是技术人员最能阐明的痛点，他们花时间去理解它们，但“正常人”也肯定能感受到。然而，这些问题似乎还不足以迫使数百万普通互联网用户采取具体措施来解决这些问题，至少在今天的解决方案中是这样。停机时间令人沮丧，但大多数人都会学会解决它；关闭的服务让忠实用户感到失望，但很可能由于大众不感兴趣而面临灭亡；大多数人不知道他们还想从他们使用的服务中得到什么，至少足以寻求替代解决方案。

这种自满情绪给独立网络运动中的人们提出的主要去中心化场景带来了一个关键的激励问题，其中用户（无论是早期采用者还是后期采用者）主动独立于任何专有服务来托管他们的身份和个人内容。这里的想法是，每个人都应该注册自己的[二级域名](http://en.wikipedia.org/wiki/Domain_name)并建立某种个人网站，就像我注册了markmhendrickson.com并在那里集中我的在线身份一样。该网站可以是简单的静态存在，也可以是足够先进的，可以与专有服务交换信息，以便可以与朋友或关注者进行交互。理论上，随着时间的推移，这些专有服务可能会被完全取消，独立的个人网站可以开始直接相互通信，以分布式、点对点的方式有效地将社交网络关系映射到互联网上。

除了迫使个人建立这些独立站点的营销挑战之外，还存在将这种分布式系统变为现实并使普通人能够参与其中的技术挑战。技术挑战一方面可以分为分散当前在集中式服务中发生的实时通信的基础设施问题（例如建立社交关系、将内容发布到流以及与该内容交互）。另一方面，存在在去中心化系统中设置每个用户并确保他们拥有参与所需的工具而不与任何单一提供商绑定的技术问题。

每个 IndieWebCamp 与会者在会议的第二天都致力于一个自己选择的项目，该项目将有助于该运动。我自己设计了一个工具，也许可以解决这一技术挑战的后半部分，同时也向主流用户传达为什么他们应该建立自己的域。我的项目主要是以用户为中心的，因为它推迟了许多去中心化的复杂工程决策，而是专注于激励用户克服他们默认的自满情绪并在自己的在线家园上取得突破。

我对该工具提出了几个主要要求：

- 它必须为用户简化注册域名和基本网络主机的过程，这两者都必须被视为商品并且可以随时替代。虽然用户不可能或不可行地真正拥有自己的域名和托管服务，但下一个最好的办法是通过抽象这些服务来最小化它们的差异化能力。

- 它必须自动化在新注册的域名和主机上设置初始网站或宅基地的过程，以及自动化稍后更新或扩展它的过程。虽然网站的软件必须完全由用户托管并开源以实现最大程度的控制，但该工具可以通过代码和数据推送持续提供帮助。

- 不能期望用户使用 FTP、命令行界面、文件系统或浏览器之外的任何其他技术，因为这样做会严重限制其可访问性。用户交互必须仅限于填写网络表单和单击内容。

- 需要尽可能减少使用该工具建立和维护宅基地的财务和时间负担。

- 不能要求用户重新输入其个人信息或手动上传他们已在其他地方共享的内容。

![宅基地工具初始用户体验线框图]()

上面的线框概述了该工具的初始用户体验。营销直接吸引了一个人的控制需求，因为这最终是用户期望在去中心化系统中获得的东西，它可能会引起潜在的恐惧，即他们当前的在线身份可能会混乱，而且这是一个足够模糊的主张，允许许多解决方案细节。

然后，该页面在控制个人在线身份的框架下解决了四个最容易识别的需求。获取个人 URL 可以让用户更轻松地向人们提供他们的在线信息；将精心策划的个人信息在 Google 上排名靠前，使用户可以控制人们在搜索其姓名时发现的有关他们的信息；将用户的所有社交网络配置文件列在一个地方可以使身份碎片化变得有序；从众多来源备份用户的在线内容可以让用户高枕无忧。底部列出其他人网站的区域旨在为这些主张提供社会验证。

首先，用户只需输入所需的 URL、电子邮件地址和密码（根据域名注册商的 API 检查所需的 URL，假设存在）。对其他值（例如用户名）的请求将被省略，因为稍后可以从用户那里收集这些值。这里的目标是让他们尽可能轻松地参与设置过程。

![服务连接步骤的线框图]()

输入此基本信息后，系统会提示用户将他们的新家园连接到任意数量的在线服务。连接后，每个服务的链接都会显示在用户的家园上。发布到它们的内容也可以被一次或连续地提取，以便重新显示或简单地备份在用户的家园上，具体取决于它是什么类型的服务。

例如，当用户连接他们的 Facebook 帐户时，他们可以选择将所有照片和状态更新自动重新发布到他们的家园。未显示的是简单备份这些但不重新发布它们的可能选项。通过与这些服务中的任何一个连接，该工具还可以自动确定用户的姓名、肖像以及要在宅基地上显示的任何其他详细信息。

![域名支付步骤线框图]()

最后的设置步骤包括实际支付所需的 URL，并假设该工具可以安排免费托管。模型的这一部分并没有太多充实，但基本上，一旦用户选择了他们喜欢的支付方式，页面就会显示适当的表单。

![生成的宅基地简介页面的线框]()

结果是一个个人资料页面与您在大多数社交网站上找到的页面没有太大不同，但托管在用户自己的域上，并且包含来自各种来源的有关用户的信息。他们的服务资料以及他们的肖像和个人简介显示在左侧，而他们决定导入其家园的内容则显示在右侧汇总。

这只是一个开始。有多种方法可以改进给定用户宅基地的设计和功能。布局和主题可以定制。用户可以添加将内容直接发布到他们的家园，然后将其联合到其他服务的功能。他们甚至可以开始与其他自耕农建立联系，将他们添加为朋友等，所有这些都由他们自己的 URL 引用。

也许甚至会出现一个开源生态系统，为核心软件包提供插件和其他修改，最终实现与专有服务相媲美的社交体验，包括提要、消息、标签等。这里的核心成就是让大量的人能够拥有独立的在线存在，并有可能在他们的在线生活中发挥越来越重要的作用。一旦有足够多的人这样做，在他们的家园之间编织一个独立的网络并将他们与任何特定公司的决策或命运隔离开来就会容易得多。