什麼是 Chrome 變化版本?

讓 Chrome 測試新瀏覽器功能的機制

您可能聽過 Chrome 變化版本或 Chrome 實測,甚至是內部產品代號 Chrome Finch,

無論是測試新功能或變更 Chrome 瀏覽器,或是 Chromebook 搭載的 Chrome 作業系統 (Chrome 作業系統),這些機制的名稱都相同。

Chrome 變化版本有哪些用途?

Chrome 變化版本可讓 Chrome 啟用新功能、停用功能,或嘗試變更部分功能。

Chrome 的所有功能並非透過 Chrome 變化版本機制導入。但是,每當我們必須特別謹慎進行變更,或有變更可能影響效能的某些部分,Chrome 團隊就能使用 Chrome 變化版本。「變更」可能會提升 Chrome 程式碼的效能、更新瀏覽器的外觀或功能,或有時甚至是 JavaScript API 的修改。

Chrome 變化版本也可用來驗證變更或更新的相關假設。例如,針對 Chrome 變化版本群組中的部分使用者,我們嘗試調整 QUIC 網路通訊協定參數,藉此加快 Chrome 在使用者實際網路條件中的運作速度。

如果使用的是 Chrome 的來源試用,另一個可能出現 Chrome 變化版本的部分。根據預設,所有提供有效試用權杖的網頁都會啟用來源試用功能,但在某些情況下,系統會使用 Chrome 變化版本來控制功能的啟用狀態。也就是說,某些使用者可能無法使用來源試用功能,即使他們造訪的是可提供有效試用權杖的頁面也一樣。在各來源試用的說明文件和更新中,您可以瞭解可以啟用來源試用功能的使用者比例。

Chrome 變化版本的運作方式

無論是電腦或行動裝置或行動裝置,瀏覽器每隔 30 分鐘,或每次啟動 Chrome 時,瀏覽器都會向 Chrome 後端發出要求,取得 Chrome 變化版本設定檔 (也就是所謂的「變化版本」)。也就是說,有專門的伺服器可提供 Chrome 變化版本種子。Chrome 會向伺服器發出 HTTPS 要求,而伺服器會以 delta-壓縮種子回應。

要前往 Chrome 變化版本後端的瀏覽器和作業系統相關資訊;Chrome 變化版本會在瀏覽器上產生隨機種子。

裝置上的 Chrome 連線至 Chrome 變化版本後端取得種子檔案時,也會提供 Chrome 版本和執行作業系統的相關資訊。Chrome 變化版本後端傳回的檔案可用來開啟功能、關閉功能,或指定地圖項目的變化版本。

Chrome 會使用種子檔案中的資料和儲存在本機的隨機種子,將瀏覽器隨機指派到變化群組。也就是說,隨機挑選的種子結合 Chrome 變化版本後端提供的種子檔案,可以用來啟用或停用瀏覽器的部分功能。在您的裝置上,瀏覽器會追蹤所屬的變化版本群組。

功能推出作業和 Chrome 版本

對 Chrome 變化版本來說,其中一個最重要的用途是,向部分使用者逐步推出變更或新功能。若是 Chrome 這類複雜的應用程式,不僅有數十億名使用者,由於應用程式提供多種平台的數千種裝置,而對於數百萬個不同的應用程式和網站,也得使用數十種不同語言,因此這點格外重要。

Chrome 使用 Chrome Canary、開發人員版和 Beta 版測試時,會獲得寶貴的意見回饋。我們可以利用 Chrome 變化版本,在任一發布版本中啟用或停用功能。不過,這些管道主要供開發人員和其他專家使用。Chrome 穩定版的使用者與 Chrome 的互動方式不同,而且互動人數也更多,所以我們一律必須使用穩定版進行驗證。這可讓我們解決正常使用瀏覽器時遇到的問題。Chrome 工程師可能無法大規模預測實際使用者對於變更和新功能的反應。

Chrome 變化版本是協助解決這個問題的重要機制,因此您可以透過啟用或停用功能檢查 Chrome 穩定版的使用情形和指標。只要評估變更對 Chrome 穩定版的影響,我們就能提供最優異的功能,並建構更優質的瀏覽器,即使優缺點也很複雜。

Chrome 工程師會在何時使用 Chrome 變化版本?

Chrome 需要 Chrome 變化版本的原因有 3 個。

啟用新功能

對於任何可能具有特定風險,或可能影響效能的項目,使用 Chrome 變化版本可以控管新功能的啟用情形。

Chrome 變化版本可讓我們向部分使用者推出新功能。接著,Chrome 工程師就能檢查效能差異,或查看變化版本群組的其他類型的意見回饋。

停用功能

Chrome 變化版本可在安全機制下關閉功能,但這種情況很少發生。

舉例來說,新的網路功能可能會遭到阻斷服務攻擊。Chrome 變化版本可用來快速關閉某項功能,因為 Chrome 變化版本設定每 30 分鐘就會下載一次,並在每次重新啟動 Chrome 時啟用設定。相較之下,如果更新 Chrome 並等待新版本推送到數十億使用者,速度會更快。

嘗試變更地圖項目

最後,您可以使用 Chrome 變化版本來驗證變更和更新。舉例來說,我們可以調整「Chrome 離線恐龍」遊戲的難度,讓互動過程更有趣。

Chrome 的變化版本也可以用來研究新功能的長期影響。方法是使用 Chrome 變化版本機制,針對一小部分的使用者保留功能 (可能不超過 1%)。如要檢查僅在一段時間內才會顯示的變更和副作用,不妨使用「區隔劃分群組」

區隔對於使用者介面變更可能特別重要,因為這類群組很有可能與全新功能互動,但長期下來的行為可能不同。

舉例來說,我們在 Chrome 中推出相片挑選工具,但這項功能暫時保留給一小部分的使用者,以便比較結果。我們將全新的 Android 相片挑選工具提供給更多使用者,並最初發現群組在網路上分享的圖片數量大幅增加。然而,在我們出現區隔劃分變化版本後的六個月內,用量升幅大幅下降。這是因為新版相片挑選工具開放使用,建議網站在檔案輸入元素中加入「Accept」屬性,讓所有使用者都能享有更優質的體驗。

如何使用 Chrome 變化版本進行驗證?

如果啟用改善 Chrome 功能和效能的設定 (chrome://settings/syncSetup?search=improve),Chrome 就能使用使用者指標分析 (UMA) 機制,自動監控指標並將指標傳送至 Chrome 後端。您可以在 chromestatus.com/metrics 查看 Chrome 的匿名使用統計資料範例,例如使用 CSS 屬性或 HTML 或 JavaScript 功能的網頁載入百分比。

Chrome 變化版本特別適合用來比較一組使用者的統計資料。舉例來說,您可以為部分使用者啟用某項功能,但 Chrome 可以比較每個群組的指標。這些指標可能包括記憶體用量、頁面載入時間或瀏覽器功能使用情形。這可讓 Chrome 工程師比較已開啟功能、已關閉功能的使用者或不同功能變化版本的使用者,比較效能或其他指標。

Chrome 變化版本欄位試驗

特徵的每組變化版本稱為研究或「實測」,且每個變化版本都有固定的時間長度。某項功能的研究結束後,凡是納入非預設行為群組的使用者,都會套用該功能的預設 Chrome 設定:啟用或停用。

大多數由 Chrome 變化版本控管的功能都會對應至可透過 chrome://flags 頁面設定的標記。此外,如果您透過指令列執行 Chrome,可以使用 --enable-features--disable-features 旗標設定 Chrome 變化版本。

適用於企業的 Chrome 變化版本

如果是企業客戶,Chrome 也提供 Chrome 變化版本政策來管理 Chrome 變化版本。當然,建議保持啟用 Chrome 變化版本,讓 Chrome 快速提供重大安全性修正項目。

瞭解詳情