编者按:如何让智能设备更为便利地嵌入进我们的生活?本文作者Eyal Keren在“Feature Flags Will Be the Great Enabler of the Connected World”一文中向我们讲述了“特征标记”的概念,其是一种无须更改和重新部署代码就能够改变软件功能的方法,目的是在软件运行时提高软件行为的灵活性。
“互联世界”一词暗含人类的某种崇高期待。如果你是第一次听说这种说法,是否觉得它是一种模糊不清又雄心勃勃的表达。而当我们开始了解这个词的真正含义时,就会发现自己正在接触那些真正令人兴奋的概念。
我们谈论个人电脑和无处不在的移动设备等话题的热情已经稍减。如今我们谈论的是 “智慧城市”这样既宏观又有趣的话题,以及对包括农业在内等低技术含量领域的关注。人们正在把机器智能编织进生活的肌理中。
如果我们试着理解“互联世界”及其基础逻辑,就会发现那些被人们频繁提及的趋势。2018年对互联世界产生重大影响的科技变革包括:
区块链
大数据
人工智能
这些关键性技术变革将会对其他一些还称不上是技术变革的变化产生影响。同时,也有一些我们无法预测的技术变革出现。我想“特征标记”就是其中一例,我们甚至应该将其放在首要位置。
*feature flags,特征标记。在软件中,“特征”即指提供某种价值的功能块,“标记”即指一个或多个用来储存二进制值的比特。由之,“特征标记”即围绕软件某个功能的if语句,其是一种无须更改和重新部署代码就能够改变软件功能的方法,目的是在软件运行时提高软件行为的灵活性。
显而易见,这种假设很大胆。为了阐述我的观点,我需要讲一个故事。因此,与其我们谈论着智能城市或是农场设备,不如从家这个微观视角入手。
自从X10通讯协议(是家庭自动化的电子设备之间的通讯协议)成熟以来,我一直是家庭自动化爱好者。然而随着家庭自动化市场的发展,产品更加商业化,花样也更是层出不穷。在我家中有许多智能设备,其中需要重点提及的是:
控制温度的Nest恒温器(Google制造)。
智能灯泡(GE制造)
一个控制一切的中心(Hub)(Wink制造)
能够按指令调整灯光和温度的Echo(亚马逊制造)
这4个来自不同供应商的产品通过4款手机应用为我提供家庭自动化服务。其实手机上为此安装的软件已经够多了。这些设备都有物理固件、一款用于交互的应用,还可能有一些基于云的后端支持。
一个高度互联的世界可能有许多麻烦
目前而言,我的这些设备运转良好。所以,我在下文提及的那种噩梦般的场景纯粹是假设式的。
我们假设,灯泡由于某种问题开始过热,并产生烟雾。需要说明,我只是一位普通用户,并非抱定终身成为家庭自动化爱好者和技术专家的人。
我选择将所有的灯关掉,并换上普通的白炽灯或者是LED灯。出了这样的事我该认为是谁的问题呢?可能是我不小心碰坏了什么设施。我也可能会指责智能中心、移动应用,甚至是Echo,是它下指令让灯打开。“Alexa,我只是让你把灯打开,不是让你把房子烧掉。”
当我向设备制造商们提出维修服务时,情况会变得更糟。灯泡制造商指责是智能中心发送了错误指令。Hub告诉我说是灯泡制造商的问题。没有一个人认为问题出在自己身上,虽然最后总会有一方来承担责任。
可以想象,一个为别人的错误承担责任的供应商该多么委屈。而随着互联世界的逐渐兴起,用户完全掌控体验可能性的日子已经一去不返。
在互联世界里,你需要信任那些由未知商品为你搭建的智能合作服务
一个家庭自动化中心,从某种意义上来说,就像一个物理插件架构,它被安装在充满同行和竞争对手的用户世界中。
只要家中的自动化设备遵循某种协议,就能使其接入家庭自动化中心,由它发送和接收命令。但是你能保证它只会乖乖听你的话打开和关闭灯具,而不在密谋统治整个世界吗?我想你也不能完全保证。
你需要具备防范那些有问题的合作者的能力。
就当前情况而言,我们的主要应对之道可能是相互指责。我们手忙脚乱地修补这个软件,希望有关方推出更新版本,无论如何最后将这件事情解决掉。但是一旦我们认真思考这个问题,就会发现以上策略只不过是“饮鸩止渴”。
如果你理解这一概念的逻辑,就会知道它十分具有战术意义。你能够在软件中设置一个有条件性的逻辑,就像那些调动电灯打开与闭合那样的if条件一样。
这一点特征标记能够做到。但是它的功能不止于此。特征标记能够通过功能标记管理功能实现更广泛的以产品为中心的策略。我们可以完全决定是否将某项功能设置为开始状态还是关闭状态。当然我们还可以设置暗启动(dark launches),发布金丝雀版本(canary releases)、服务迁移(service migrations)和其他服务。我们可以做到无缝衔接。
让我们再次回到家庭这个世界中,我们可以通过收回过度的信任而享受更加有控制的生活。你可以让自己的应用保护那些与特征标记有关的协作。这使你能够在任何时候、以任何原因,在不重新调整任何软件的情况下关闭协作服务。你只需要登录到一个版面,再轻点几下鼠标就足够了。
现在,让我们再次想象一下装有自动化中心的家庭场景。
如果你发现灯泡过热并冒着烟,就可以立即采取行动。你可以关闭家庭内部所有设备的功能。停止远程灯光控制,当供应商们打开应用程序查看原因时,你将提供一些解释。“由于有关安全问题的报告,我们禁用了这个设备,我们将在固件更新后重新启用。”
如果是这样,事情就变得好多了。你会在晚上睡个好觉。因为你不需要依赖于各种智能商品,也不会令事情变得一团糟。
如果我们不再将视野限制在家庭范围内,就会发现我们会面对更多潜在的危险。在家中,我们可以拔掉这些设备插头,用不带多少智能功能的设备替代那些智能灯泡和恒温器。
但是,当以智能设备为基础的智能城市逐渐成型时,我们就无法再采取这种方法。一旦发生了不尽如人意的情况,那么问题就会从“给人生活带来不便”升级为某种令人担忧的灾难。但是无论如何,人们需要解决的问题是一样的。
因此,像区块链、人工智能和大数据这样的大趋势的确会推动互联世界的到来,而反身性将需要与世界互联的你与那个在互联世界遇到麻烦的你彼此隔离。虽然这一问题尚不迫切,但是却也同样重要。特征标记将成为推动互联世界进一步实现的解决点。
原文地址:readwrite.com