互聯世界中,有比「特徵標記」一詞更為重要的嗎? | 人人都是產品經理

編者按:如何讓智能設備更為便利地嵌入進我們的生活?本文作者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

譯者:木木子,由36氪編譯組出品。編輯:郝鵬程。

譯文地址:https://36kr.com/p/5148948.html