您可能聽說過 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 變化版本最重要的用途之一,就是逐步將變更或新功能推送至部分 Chrome 用戶。這對 Chrome 這類複雜的應用程式而言至關重要,因為 Chrome 擁有數十億名使用者,並在多個平台上提供數千種裝置,以及數十種不同的語言,可用於數百萬個不同的應用程式和網站。
Chrome 會透過 Chrome Canary、開發人員版和 Beta 版的使用和測試,取得寶貴的意見回饋。我們可以使用 Chrome 變化版本,在任何發布版本中啟用或停用功能。不過,這些管道主要供開發人員和其他專家使用。
Chrome 穩定版使用者與 Chrome 的互動方式不同,而且人數更多,因此我們必須在穩定版中進行驗證。這麼做可讓我們解決在一般瀏覽器使用過程中遇到的任何問題。Chrome 工程師無法準確預測實際使用者對變更和新功能的反應。
Chrome 變化版本可讓您檢查 Chrome 穩定版的使用情形和指標。透過評估 Chrome 穩定版中變更的影響,我們就能提供最佳功能,並打造更優質的瀏覽器,即使權衡取捨複雜也無妨。
Chrome 工程師何時會使用 Chrome 變化版本?
Chrome 需要 Chrome 變化版本,主要有三個原因:
啟用新功能
對於可能在某種程度上較具風險,或可能影響效能的任何內容,使用 Chrome 變化版本來控制新功能的啟用情形,特別實用。
Chrome 變化版本可讓我們向部分使用者提供新功能。接著,Chrome 工程師就能檢查成效差異,或查看變化版本群組的其他類型意見回饋。
停用功能
雖然很少發生,但 Chrome 變化版本可做為安全機制來關閉功能。
舉例來說,新的網路功能可能會遭受拒絕服務攻擊。由於 Chrome 變化版本設定會每 30 分鐘下載一次,且每次重新啟動 Chrome 時都會啟用設定,因此可使用 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 能快速提供重要安全性修正項目。