供应商锁定的教训:消息传递
消息传递真的有那么复杂,以至于您需要在手机上安装五个不同的消息应用程序吗? 了解消息传递供应商锁定的原因。
供应商锁定最令人伤心的故事之一是消息传递的故事。 这个故事令人伤心的是,科技行业在过去二十年中不断重复同样的错误,构建相同的专有系统,而我们作为最终用户继续使用它们。 在本文中,我将回顾这些错误的一些历史,我们应该吸取但没有吸取的教训,以及我们现在所处的现代消息传递世界。 一路上,我将为我们陷入这种困境提供一些解释。
第一波浪潮我第一次接触即时通讯是在 1990 年代后期。 这是第一次互联网泡沫时代,似乎每家互联网公司都想成为门户网站——您浏览器的首页以及您体验网络和互联网其余部分的镜头。 这些门户网站中的每一个都创建了自己的即时通讯工具,作为群聊室的分支,例如 AOL Instant Messenger (AIM)、Yahoo Chat 和 MSN 聊天等等。 它们中每一个的目标都很简单:因为您必须向提供商注册帐户才能与您的朋友聊天,一旦某个服务拥有了足够多的朋友,您肯定会跟上,这样您就不会被排除在外。
我的朋友最终使用了 ICQ,所以我也使用了。 与其他一些不同,ICQ 没有相应的门户网站或互联网服务。 它只专注于即时通讯。 这项服务风靡一时,在一段时间内,它是人们使用的主要即时通讯工具,除非他们已经与来自其互联网门户的另一个 IM 服务捆绑在一起。
与当时的某些其他服务不同,ICQ 的优点在于,它没有费力地掩盖其 API 并阻止未经授权的客户端。 这意味着出现了相当多的 Linux ICQ 客户端,它们运行良好。 其他平台的 Linux 客户端也出现了,但似乎每年总有一两次,您可以指望停机一周或更长时间,因为上游消息传递网络决定更改 API 以尝试阻止未经授权的客户端。
专有 API网络为什么要阻止未经授权的客户端? 很简单:即时通讯网络始终与趋势有关。 今天,您是流行的 IM 网络,然后第二天,其他人出现了。 由于 IM 网络严格控制了客户端,这意味着作为用户,您必须确保您的所有朋友都在该网络上拥有帐户。 如果一个新的网络突然出现并想参与竞争,它首先要做的是让用户更容易切换。 这意味着提供与现有 IM 网络的兼容性,以便您可以拉取现有的好友列表并与您的朋友聊天,并知道最终他们中的一些人可能会转移到这个新网络。
1990 年代后期和 2000 年代初期都是这些主要提供商之间猫捉老鼠的游戏。 像我这样的 Linux 用户最终感受到了这场战斗带来的痛苦,因为我们经常使用多协议聊天客户端,如 Pidgin 和 Bitlbee,它们使用 libpurple 库,允许您从单个界面与多个聊天网络对话。 拥有像这样的通用消息传递应用程序很方便,但这也意味着,时不时地,当大型科技供应商更改其协议以相互锁定对方时,您的一些朋友会离线一两周。 在某个时候,一位聪明的开发人员会找到一种解决方法,该方法会进入 libpurple,您将恢复正常。
最终,其中一个平台会失去太多用户,并且该 IM 网络将离线。 今天,滚动浏览受支持的 libpurple 网络列表,就像阅读专有即时通讯墓地一样。 当然,在这一切过程中,一种通用的消息传递协议出现在舞台上,并且在某个时刻,似乎这些专有网络的糟糕旧时代已经结束。
这是什么乱七八糟的?即时通讯世界是一团糟,由不兼容的专有网络组成,然后有一天,一个聊天客户端出现了,它承诺永远解决所有问题:Jabber。 与其他 IM 网络不同,Jabber 的优势在于它是自由软件,并使用名为 XMPP 的开放 IM 协议。 除了 XMPP 是开放协议之外,它还有另一个优势。 它是去中心化的。 使用 XMPP,您不再需要担心将您的所有朋友转移到最终会关闭的专有聊天网络。 具有一些系统管理技能的人员可以建立自己的 XMPP 网络,这些网络可以与所有其他现有的 XMPP 网络通信。
消息传递不是火箭科学。 经过所有工程努力,这些专有 IM 网络似乎并没有进行太多创新。 最终,他们都只是重新发明相同的 IM 轮子——使用新的界面发送文本、图像和文件。 有了 Jabber 和 XMPP,就有了通用的、跨平台的和免费的 IM 网络。 所有基本问题都一劳永逸地解决了,开发人员可以专注于使用 XMPP 插件添加新的和有用的聊天功能,而不是再次重新发明轮子。 例如,OTR(Off the Record)插件为 XMPP 消息添加了强大的加密、身份验证、不可否认性和完美的前向保密性。
有一段时间,XMPP 看起来将要起飞,并成为 IM 的新的默认跨平台标准,我们将不再需要担心专有公司进来重新发明轮子,只是为了将用户锁定在他们的平台上。 事实上,即使是 Google 在首次创建 GChat 时也使用了 XMPP,这意味着它只是另一个 XMPP 网络——您可以使用任何 Jabber 客户端与 GChat 用户通信。 可悲的是,这种开放消息传递标准的时代注定不会持久,可以说,手机开启了专有 IM 锁定的全新时代。
只要文本,女士每个人口袋里都出现手机,这催生了一个新的时代和消息传递平台。 您不再需要担心将好友添加到您的好友列表,您只需要知道某人的手机号码,就可以通过 SMS 向他们发送消息。 起初,由于在数字键盘上打字的限制,SMS 很短,语法被截断,但随着时间的推移,手机开始包含物理或虚拟键盘,SMS 很快成为向其他人发送即时消息的首选方式。 后来,协议得到扩展,MMS 允许您发送图像以及文本。
SMS 作为通用消息传递平台只有一个真正的问题,这个问题导致了专有 IM 网络的新时代——手机提供商对 SMS 收费。 每个提供商提供不同的计划和费率,有些按 SMS 收费,有些则像对待通话分钟一样对待 SMS,计划中包含不同的等级,如果您超过限制,则收取超额费用。
一旦配备数据计划的智能手机开始成为常态,这些按流量计费的 SMS 计划就为专有供应商提供了机会,将庞大的 SMS 用户市场转移到他们的平台上。 怎么做? 通过在手机上提供即时通讯应用程序,这些应用程序接管了您的默认 SMS 应用程序。 然后,如果您和您的朋友碰巧都使用相同的 IM 程序,消息将通过供应商的网络而不是 SMS 发送,从而为您节省 SMS 费用。 当然,那时您将有动力说服您的所有朋友使用相同的 IM 应用程序,我们将回到桌面客户端的情况。
在 Android 上,这引发了 SMS 应用程序的战斗。 在浏览器战争中,每个人都想成为默认的桌面浏览器,而在 SMS 战争期间,每个人都在他们的手机应用程序套件中包含一个 SMS 应用程序,目的是在安装时成为默认的 SMS 应用程序。 与桌面 IM 客户端一样,目标是相同的:通过说服您使用他们的应用程序和网络,您也将带上您的朋友。 一旦您和您的朋友都使用相同的应用程序,您就被锁定了,因为与从 SMS 切换不同,切换到另一个应用程序意味着要么带上您的所有朋友,要么退回到按流量计费的 SMS。 甚至 Google 也放弃了 GChat,并相继推出了一个又一个聊天网络,但似乎都没有成功。
与 Android 不同,iOS 上的 SMS 战争在开始之前就结束了。 因为 Apple 控制着 OS 和出现在 iPhone 上的应用程序,所以它可以确保自己的 iMessage 应用程序默认处理 SMS。 这对 Apple 来说还有一个额外的好处,即进一步将您锁定在硬件平台而不仅仅是应用程序,因为 iMessage 仅在 Apple 的 OS 上运行。 如果您的所有朋友都拥有 iPhone,他们将获得“免费”SMS。 切换到 Android 意味着您将不得不退回到按流量计费的 SMS。
即时通讯的当前状态所有这一切导致了即时通讯的当前状态:一团糟。 您的手机上有五个不同的应用程序,您根据想要与之交谈的人在它们之间切换。 当您确实想与某人交谈时,您必须记住您是使用 SMS、Signal、WhatsApp、iMessage、FB messenger、Twitter DM、Hangouts 还是任何其他消息传递应用程序与该人通信。
消息传递并不复杂。 我们在十多年前就解决了这个问题。 它是发送文本、表情符号和照片,也许是发送给群组,理想情况下具有端到端加密。 您的手机上有五个不兼容的消息传递应用程序,这不是由于技术限制,而是因为贪婪驱使公司无视兼容性,并为供应商锁定进行优化。 想象一下,您有五个不同的网络浏览器,您必须根据要访问的网站在它们之间切换。 如果这些公司得逞,您就会这样(而且这在很大程度上就是手机应用程序已经变成的样子)。
那么解决方案是什么? 解决方案是让人们意识到这种供应商锁定的问题,并让 FOSS 社区继续推动和使用开放的消息传递标准。 优秀的旧 XMPP 仍然存在,而且它有效,如果您想尝试更新的开放通信平台,还有 Matrix。 两者都为您想要的任何平台提供客户端,您也可以在多平台聊天客户端上找到它们。