Cơ chế để Chrome thử nghiệm các tính năng mới của trình duyệt
Có thể bạn đã nghe nói về Biến thể của Chrome hoặc Bản dùng thử tại chỗ của Chrome – hay thậm chí có thể có tên mã nội bộ là Chrome Finch.
Tất cả các tên này đều có cùng một nội dung: cơ chế kiểm thử các tính năng hoặc thay đổi mới đối với trình duyệt Chrome, hoặc đối với ChromeOS, hệ điều hành Chrome chạy trên Chromebook.
Các biến thể của Chrome dùng để làm gì?
Tính năng Biến thể của Chrome cho phép Chrome kích hoạt một tính năng mới, huỷ kích hoạt một tính năng hoặc thử thay đổi một tính năng cho một nhóm nhỏ người dùng.
Không phải mọi tính năng trong Chrome đều được giới thiệu bằng cơ chế Biến thể của Chrome. Tuy nhiên, nhóm Chrome có thể sử dụng Biến thể của Chrome bất cứ khi nào chúng tôi cần đặc biệt thận trọng về việc thực hiện thay đổi hoặc khi có nguy cơ thay đổi có thể ảnh hưởng đến hiệu suất theo cách chúng tôi không mong đợi. "Thay đổi" có thể là nâng cao hiệu suất trong mã của Chrome, cập nhật giao diện hoặc chức năng của trình duyệt hay thậm chí đôi khi là sự sửa đổi đối với API JavaScript.
Bạn cũng có thể dùng Biến thể của Chrome để xác thực giả thuyết về một thay đổi hoặc một bản cập nhật. Ví dụ: đối với một tỷ lệ phần trăm người dùng trong nhóm Biến thể của Chrome, chúng tôi đã thử điều chỉnh các tham số giao thức mạng QUIC (QUIC) để tăng tốc độ của Chrome trong điều kiện mạng thực của người dùng.
Một vấn đề khác mà bạn có thể gặp là Biến thể của Chrome là khi bạn làm việc với các bản dùng thử theo nguyên gốc của Chrome. Theo mặc định, tính năng dùng thử theo nguyên gốc sẽ được bật trên tất cả các trang cung cấp mã dùng thử hợp lệ. Tuy nhiên, trong một số trường hợp, Biến thể của Chrome sẽ được dùng để kiểm soát việc kích hoạt một tính năng. Điều này có nghĩa là tính năng bản dùng thử theo nguyên gốc có thể không được cung cấp cho một số người dùng nhất định, ngay cả khi họ truy cập vào một trang cung cấp mã thông báo dùng thử hợp lệ. Thông tin về tỷ lệ người dùng đủ điều kiện kích hoạt tính năng bản dùng thử theo nguyên gốc sẽ được cung cấp cùng với tài liệu và thông tin cập nhật cho mỗi bản dùng thử theo nguyên gốc.
Biến thể của Chrome hoạt động như thế nào?
Cứ 30 phút trên máy tính hoặc thiết bị di động hoặc mỗi lần bạn khởi động Chrome, trình duyệt sẽ gửi một yêu cầu tới phần phụ trợ của Chrome để lấy tệp cấu hình Biến thể của Chrome, còn được gọi là gốc biến thể. Nói cách khác, có một máy chủ chuyên biệt để cung cấp hạt giống cho Biến thể của Chrome. Chrome gửi một yêu cầu HTTPS đến máy chủ và máy chủ phản hồi bằng một hạt giống được nén delta.
Khi Chrome trên thiết bị của bạn kết nối với phần phụ trợ Biến thể của Chrome để lấy tệp gốc, Chrome cũng sẽ cung cấp thông tin về phiên bản Chrome và hệ điều hành mà thiết bị đang chạy. Tệp mà phần phụ trợ Biến thể của Chrome trả về dùng để bật các tính năng, tắt tính năng hoặc chỉ định các biến thể của một tính năng.
Chrome sử dụng dữ liệu trong tệp gốc và tệp gốc ngẫu nhiên được lưu trữ cục bộ để chỉ định ngẫu nhiên trình duyệt cho một nhóm biến thể. Nói cách khác, bạn có thể dùng tệp khởi đầu ngẫu nhiên (kết hợp với tệp gốc trong phần phụ trợ Biến thể của Chrome) để kích hoạt hoặc huỷ kích hoạt các tính năng trong trình duyệt đối với một nhóm nhỏ người dùng. Trình duyệt trên thiết bị của bạn theo dõi xem trình duyệt thuộc nhóm biến thể nào.
Triển khai tính năng và các kênh Chrome
Một trong những cách sử dụng quan trọng nhất đối với Biến thể của Chrome là từng bước thực hiện các thay đổi hoặc tính năng mới cho một tỷ lệ phần trăm ứng dụng Chrome. Điều này rất quan trọng đối với một ứng dụng phức tạp như Chrome, nền tảng có hàng tỷ người dùng, với hàng nghìn loại thiết bị trên nhiều nền tảng, sử dụng hàng chục ngôn ngữ cho hàng triệu ứng dụng và trang web.
Chrome nhận được ý kiến phản hồi có giá trị từ việc sử dụng và thử nghiệm trong Chrome Canary, Dev và Beta. Chúng tôi có thể sử dụng Biến thể của Chrome để kích hoạt hoặc huỷ kích hoạt các tính năng trong bất kỳ kênh phát hành nào này. Tuy nhiên, các kênh đó chủ yếu được các nhà phát triển và các chuyên gia khác sử dụng. Người dùng Chrome chính thức tương tác với Chrome theo cách khác và với số lượng lớn hơn nhiều, vì vậy, chúng tôi luôn cần xác thực trên Kênh chính thức. Điều này cho phép chúng tôi giải quyết mọi sự cố gặp phải trong quá trình sử dụng trình duyệt bình thường. Không phải lúc nào các kỹ sư của Chrome cũng dự đoán được cách người dùng thực sẽ phản ứng với các thay đổi và tính năng mới trên quy mô lớn.
Biến thể của Chrome là một cơ chế quan trọng giúp thực hiện việc này, giúp bạn có thể kiểm tra mức sử dụng và chỉ số của Bản ổn định của Chrome khi một tính năng được kích hoạt hoặc huỷ kích hoạt. Bằng cách đo lường tác động của các thay đổi trong Bản ổn định của Chrome, chúng tôi có thể cung cấp các tính năng tốt nhất có thể và xây dựng một trình duyệt tốt hơn – ngay cả khi sự đánh đổi là rất phức tạp.
Các kỹ sư Chrome sử dụng Biến thể của Chrome khi nào?
Có ba lý do chính mà Chrome cần các Biến thể của Chrome.
Kích hoạt tính năng mới
Việc sử dụng Biến thể của Chrome để cung cấp quyền kiểm soát việc kích hoạt một tính năng mới đặc biệt hữu ích đối với bất kỳ hành vi nào có thể tiềm ẩn nhiều rủi ro hơn hoặc có thể ảnh hưởng đến hiệu suất.
Biến thể của Chrome giúp chúng tôi cung cấp một tính năng mới cho một nhóm nhỏ người dùng. Sau đó, kỹ sư Chrome có thể kiểm tra sự khác biệt về hiệu suất hoặc xem xét các loại ý kiến phản hồi khác từ nhóm biến thể.
Tắt tính năng
Bạn có thể dùng Biến thể của Chrome làm cơ chế an toàn để tắt một tính năng, mặc dù điều này hiếm khi xảy ra.
Ví dụ: một tính năng kết nối mạng mới có thể bị tấn công từ chối dịch vụ. Bạn có thể sử dụng Biến thể của Chrome để tắt nhanh một tính năng như vậy, vì cấu hình Biến thể của Chrome sẽ được tải xuống 30 phút một lần và các chế độ cài đặt sẽ được kích hoạt mỗi khi bạn khởi động lại Chrome. Ngược lại, việc cập nhật Chrome và chờ phiên bản mới được phổ biến cho hàng tỷ người dùng sẽ chậm hơn nhiều.
Thử các thay đổi đối với tính năng
Cuối cùng, bạn có thể dùng Biến thể của Chrome để xác thực các thay đổi và nội dung cập nhật. Ví dụ: chúng ta có thể tinh chỉnh độ khó của trò chơi khủng long ngoại tuyến trên Chrome để khiến hoạt động tương tác trở nên thú vị hơn.
Bạn cũng có thể sử dụng tính năng Biến thể của Chrome để nghiên cứu tác động lâu dài của các tính năng mới. Bạn có thể thực hiện việc này bằng cách sử dụng cơ chế Biến thể của Chrome để giữ lại các tính năng cho một tỷ lệ nhỏ người dùng, có thể là 1% hoặc ít hơn. Nhóm cách ly có thể hữu ích cho việc kiểm tra các thay đổi và tác dụng phụ chỉ hiển thị theo thời gian.
Nhóm cách ly có thể đặc biệt quan trọng đối với các thay đổi về giao diện người dùng, trong đó người dùng có khả năng tương tác với một tính năng khi còn mới mẻ, nhưng về lâu dài thì hành vi của tính năng đó có thể sẽ khác đi.
Ví dụ: chúng tôi đã ra mắt một công cụ chọn ảnh trong Chrome, nhưng tính năng này tạm thời không được cung cấp cho một tỷ lệ nhỏ người dùng để so sánh kết quả. Chúng tôi đã chuyển Công cụ chọn ảnh mới của Android cho tỷ lệ cao người dùng và bước đầu nhận thấy số lượng hình ảnh mà nhóm chia sẻ trên web tăng đáng kể. Tuy nhiên, trong 6 tháng mà chúng tôi có biến động về cách ngăn chặn, chúng tôi nhận thấy mức tăng về mức sử dụng giảm đáng kể. Lý do là công cụ chọn ảnh mới được khuyến khích các trang web thêm thuộc tính chấp nhận vào các phần tử đầu vào của tệp, nhờ đó mang lại trải nghiệm tốt hơn cho tất cả người dùng.
Biến thể của Chrome được sử dụng như thế nào để xác thực?
Nếu bạn bật chế độ cài đặt giúp cải thiện hiệu suất và các tính năng của Chrome (chrome://settings/syncSetup?search=improve
), thì Chrome có thể tự động theo dõi và gửi các chỉ số đến phần phụ trợ của Chrome, bằng cách sử dụng một cơ chế có tên là Phân tích chỉ số người dùng (UMA). Bạn có thể xem ví dụ về số liệu thống kê về việc sử dụng ẩn danh của Chrome tại chromestatus.com/metrics, chẳng hạn như tỷ lệ phần trăm lượt tải trang sử dụng thuộc tính CSS hoặc tính năng HTML hoặc JavaScript.
Biến thể của Chrome đặc biệt hữu ích khi so sánh số liệu thống kê của một nhóm người dùng với một nhóm người dùng khác. Ví dụ: một tính năng có thể được bật cho một số người dùng mà không phải cho những người dùng khác, và Chrome có thể so sánh chỉ số cho từng nhóm. Các chỉ số này có thể bao gồm mức sử dụng bộ nhớ, thời gian tải trang hoặc mức sử dụng một tính năng của trình duyệt. Điều này cho phép các kỹ sư Chrome so sánh hiệu suất hoặc các chỉ số khác giữa người dùng đã bật một tính năng, người dùng đã tắt tính năng này hoặc người dùng sử dụng các biến thể tính năng khác nhau.
Dùng thử các trường cho Biến thể của Chrome
Mỗi tập hợp biến thể cho một tính năng được gọi là một nghiên cứu hoặc thử nghiệm thực địa và mỗi tập hợp có thời lượng cố định. Sau khi nghiên cứu kết thúc một tính năng, bất kỳ người dùng nào thuộc nhóm hành vi không mặc định đều sẽ nhận được chế độ cài đặt mặc định của Chrome cho tính năng đó: bật hoặc tắt.
Hầu hết các tính năng mà các Biến thể của Chrome có thể kiểm soát đều tương ứng với một cờ mà bạn có thể đặt trên trang chrome://flags
. Ngoài ra, nếu chạy Chrome từ dòng lệnh, bạn có thể sử dụng cờ --enable-features
và --disable-features
để định cấu hình các Biến thể của Chrome.
Cờ --reset-variation-state
buộc đặt lại trạng thái Biến thể của Chrome cho ứng dụng hiện tại. Điều này có nghĩa là ứng dụng có thể di chuyển đến các nhóm Biến thể của Chrome.
Biến thể của Chrome dành cho doanh nghiệp
Đối với khách hàng là doanh nghiệp, Chrome cũng cung cấp chính sách ChromeVariants để quản lý các Biến thể của Chrome. Tất nhiên, bạn nên bật các Biến thể của Chrome để Chrome có thể nhanh chóng cung cấp các bản sửa lỗi bảo mật quan trọng.