您可能聽過 Chrome 變體,有時也稱為 Chrome 現場測試,甚至是內部代號 Chrome Finch。
這些名稱指的都是同一件事:測試 Chrome 瀏覽器或 ChromeOS (Chromebook 執行的 Chrome 作業系統) 新功能或變更的機制。
什麼是 Chrome 變化版本?
Chrome 變化版本可讓 Chrome 為部分使用者啟用新功能、停用功能或試用功能變更。
並非所有 Chrome 功能都是透過 Chrome 變化版本推出。不過,Chrome 團隊可以在需要時使用 Chrome 變體。Chrome 變化版本可用於:
- 讓 Chrome 工程師特別留意特定變更。他們可能會發現瀏覽器效能有風險,或有其他疑慮。
- 驗證有關變更或更新的假設。舉例來說,我們修改了 Chrome 變體群組中部分使用者的 QUIC 網路通訊協定參數,讓 Chrome 在使用者實際的網路環境中運作得更快。
- 控管原始碼試用功能啟用情形。根據預設,只要網頁提供有效的試用權杖,就會啟用原始碼試用。但在某些情況下,即使使用者造訪提供有效試用權杖的網頁,也可能無法使用特定功能。
Chrome 變化版本如何運作?
在電腦或行動裝置上,瀏覽器每 30 分鐘或每次啟動 Chrome 時,都會向 Chrome 後端發出要求,以取得 Chrome 變體設定檔,也就是變體種子。我們提供專屬伺服器,用來提供 Chrome 變數種子。Chrome 會向伺服器發出 HTTPS 要求,伺服器則會以差異壓縮種子回應。
當裝置上的 Chrome 要求提供種子檔案時,Chrome 會提供版本號碼和執行的作業系統。Chrome 變化版本後端傳回的檔案可用於啟用功能、停用功能,或指定功能變化版本。
Chrome 會使用種子檔案中的資料,以及本機儲存的隨機化種子,將瀏覽器隨機指派至變體群組。裝置上的瀏覽器會追蹤所屬的變體群組。
功能發布和 Chrome 通道
Chrome Variations 最重要的用途之一,就是逐步將變更或新功能導入一定比例的 Chrome 用戶端。對於 Chrome 這類複雜的應用程式而言,這點至關重要。Chrome 有數十億使用者,在多個平台上有數千種裝置類型,使用數十種不同語言,存取數百萬個不同的應用程式和網站。
Chrome 會從 Chrome Canary 版、開發人員版和 Beta 版的使用情況和測試中,取得寶貴意見。我們可以使用 Chrome Variations,在任何發布管道中啟用或停用功能。不過,這些管道主要供開發人員和其他專家使用。
Chrome 穩定版的使用者與 Chrome 的互動方式不同,而且人數眾多,因此我們一律需要在穩定版上進行驗證。這樣我們就能解決正常瀏覽器使用時遇到的任何問題。Chrome 工程師無法預測實際使用者對大規模變更和新功能的反應。
Chrome 變化版本可檢查 Chrome 穩定版的用量和指標。 透過評估 Chrome 穩定版異動的影響,我們可以推出最佳功能,並打造更優質的瀏覽器,即使需要權衡的因素很複雜也一樣。
Chrome 工程師何時會使用 Chrome 變化版本?
Chrome 需要 Chrome 變體的主要原因有三項。
啟用新功能
如果新功能可能造成風險或影響效能,就特別適合使用 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://flags
頁面設定的旗標。或者,如果您從指令列執行 Chrome,可以使用 --enable-features
和 --disable-features
旗標設定 Chrome 變化版本。
--reset-variation-state
標記會強制重設目前用戶端的 Chrome 變化版本狀態。也就是說,用戶端可能會移至不同的 Chrome 變化版本群組。
企業專用 Chrome 變化版本
對於企業客戶,Chrome 也提供 Chrome 變化版本政策,可管理 Chrome 變化版本。建議您啟用 Chrome 變化版本,這樣 Chrome 就能快速提供重要安全性修正項目。