Czym są odmiany Chrome?

Mechanizm testowania nowych funkcji przeglądarki Chrome

Być może wiesz już o odmianach Chrome, testach funkcjonalnych Chrome, a nawet o wewnętrznej kryptonimie „Chrome Finch”.

Są to nazwy jednego z tych samych elementów: mechanizm testowania nowych funkcji lub zmian w przeglądarce Chrome lub Chrome OS, czyli systemu operacyjnego Chrome działającego na Chromebookach.

Do czego służą odmiany Chrome?

Odmiany Chrome pozwalają aktywować nową funkcję, dezaktywować funkcję lub wypróbować zmiany w funkcji u niektórych użytkowników.

Nie wszystkie funkcje Chrome wprowadza się dzięki mechanizmowi Odmiany Chrome. Zespół Chrome może jednak używać odmian Chrome, gdy trzeba zachować szczególną ostrożność przy wprowadzaniu zmian lub gdy istnieje ryzyko, że zmiana wpłynie na wydajność w nieoczekiwany sposób. „Zmiana” może oznaczać poprawę wydajności kodu Chrome, zmianę wyglądu lub działania przeglądarki, a czasem nawet modyfikację interfejsu JavaScript API.

Odmiany Chrome mogą też służyć do weryfikowania hipotezy dotyczącej zmiany lub aktualizacji. Na przykład w przypadku pewnego odsetka użytkowników w grupie Odmiany Chrome próbowaliśmy dostosować parametry protokołu sieciowego QUIC, by przeglądarka Chrome działała szybko w rzeczywistych warunkach sieciowych.

Odmiany Chrome mogą też występować podczas korzystania z testów origin Chrome. Domyślnie funkcja testowania origin jest włączona na wszystkich stronach, które podają ważny token próbny. W niektórych przypadkach Odmiany Chrome służą do sterowania aktywacją funkcji. Oznacza to, że funkcja testowania origin może być niedostępna dla niektórych użytkowników, nawet jeśli odwiedzają stronę zawierającą prawidłowy token próbny. Informacje o odsetku użytkowników kwalifikujących się do aktywacji funkcji testowania origin są udostępniane w dokumentacji i aktualizacjach dotyczących poszczególnych wersji próbnych.

Jak działają Odmiany Chrome?

Co 30 minut (na komputerze lub urządzeniu mobilnym) albo przy każdym uruchomieniu Chrome przeglądarka wysyła do backendu Chrome żądanie pobrania pliku konfiguracji odmian Chrome nazywanego początkiem. Innymi słowy, istnieje dedykowany serwer do dostarczania odmian Chrome. Chrome wysyła do serwera żądanie HTTPS, a serwer odpowiada za pomocą skompresowanego delta pliku wyjściowego.

Informacje o przeglądarce i systemie operacyjnym trafiają do backendu Odmiany Chrome; są to dane wyjściowe przeglądarki z elementem początkowym randomizacji.

Gdy Chrome na urządzeniu kontaktuje się z backendem odmian Chrome, aby uzyskać plik wyjściowy, przekazuje też informacje o wersji i systemie operacyjnym, w którym działa. Plik zwrócony przez backend Odmian Chrome służy do włączania funkcji, wyłączania funkcji lub określania ich odmian.

Chrome wykorzystuje dane z pliku wyjściowego oraz lokalnie zapisanego ziarna losowości, aby losowo przypisać przeglądarkę do grupy odmian. Innymi słowy, dane wyjściowe randomizacji w połączeniu z plikiem wyjściowym z backendu Odmiany Chrome mogą służyć do aktywowania lub dezaktywowania funkcji w przeglądarce w przypadku określonej grupy użytkowników. Przeglądarka na urządzeniu śledzi, do której grupy odmian należy.

Wdrożenie funkcji i kanały Chrome

Jednym z najważniejszych zastosowań odmian Chrome jest stopniowe wdrażanie zmian i nowych funkcji dla określonego odsetka użytkowników. To niezbędne w złożonej aplikacji, takiej jak Chrome, z której korzystają miliardy użytkowników i tysiące typów urządzeń na wielu platformach oraz korzystające z dziesiątek różnych języków w milionach różnych aplikacji i witryn.

Chrome uzyskuje cenne opinie na temat użytkowania i testowania wersji Chrome w wersji Canary, deweloperskiej i beta. Za pomocą Odmian Chrome możemy aktywować lub dezaktywować funkcje w dowolnym z tych kanałów wersji. Są one jednak używane głównie przez programistów i innych specjalistów. Użytkownicy wersji stabilnej Chrome reagują na nią w inny sposób i w znacznie większym stopniu. Dlatego zawsze musimy przeprowadzać weryfikację na kanale stabilnym. Dzięki temu możemy wyeliminować problemy napotykane podczas normalnego używania przeglądarki. Inżynierowie Chrome nie zawsze są w stanie przewidzieć na dużą skalę, jak prawdziwi użytkownicy będą zareagować na zmiany i nowe funkcje.

Odmiany Chrome odgrywają tu kluczową rolę, ponieważ umożliwiają sprawdzanie użytkowania i danych dotyczących stabilnej wersji Chrome, gdy funkcja jest włączona lub wyłączona. Dzięki pomiarowi wpływu zmian w wersji stabilnej Chrome możemy oferować najlepsze funkcje i stworzyć lepszą przeglądarkę nawet wtedy, gdy kompromisy są złożone.

Kiedy inżynierowie Chrome używają odmian Chrome?

Odmiany Chrome powinny być dostępne w Chrome z trzech głównych powodów.

Aktywowanie nowej funkcji

Korzystanie z Odmian Chrome w celu zapewnienia kontroli nad aktywacją nowej funkcji jest szczególnie przydatne w przypadku elementów, które mogą być bardziej ryzykowne lub mogą mieć wpływ na wydajność.

Odmiany Chrome pozwalają nam udostępnić nową funkcję części użytkowników. Następnie inżynierowie Chrome mogą sprawdzić różnice w wydajności lub zapoznać się z innymi typami opinii od grupy wariantów.

Dezaktywowanie funkcji

Odmiany Chrome mogą pełnić funkcję zabezpieczenia przed wyłączeniem funkcji, chociaż zdarza się to bardzo rzadko.

Na przykład nowa funkcja sieciowa może stać się celem ataku typu DoS. Odmiany Chrome umożliwiają szybkie wyłączenie takich funkcji. Konfiguracja Odmiany Chrome jest pobierana co 30 minut, a ustawienia są aktywowane przy każdym ponownym uruchomieniu Chrome. Z kolei zaktualizowanie Chrome i oczekiwanie na rozpowszechnianie nowej wersji wśród miliardów użytkowników będzie znacznie wolniejsze.

Próbowanie zmian w funkcji

Odmiany Chrome mogą również służyć do sprawdzania zmian i aktualizacji. Możemy na przykład dostosować poziom trudności gry z dinozaurem w Chrome offline, aby interakcja była przyjemniejsza.

Odmian Chrome można też używać do badania długoterminowego wpływu nowych funkcji. W tym celu stosuje się mechanizm Odmiany Chrome, który ogranicza funkcje u niewielkiej części użytkowników, do 1%. Grupa blokad może być przydatna do sprawdzania zmian i efektów ubocznych, które stają się widoczne dopiero z upływem czasu.

Grupa odizolowana może być szczególnie ważna w przypadku zmian interfejsu, gdy użytkownicy z dużym prawdopodobieństwem będą wchodzić w interakcję z nową funkcją, ale w dłuższej perspektywie mogą działać inaczej.

Na przykład udostępniliśmy selektor zdjęć w Chrome, ale tymczasowo wstrzymaliśmy tę funkcję u niewielkiego odsetka użytkowników, aby porównać wyniki. Udostępniliśmy nowy selektor zdjęć na Androidzie wielu użytkownikom i na początku odnotowaliśmy znaczny wzrost liczby obrazów, które grupa udostępnia w internecie. Jednak w ciągu 6 miesięcy, w którym występowała różnica polegająca na izolacji, zaobserwowaliśmy znaczny spadek wykorzystania. Było to spowodowane faktem, że dostępność nowego selektora zdjęć zachęciła witryny do dodania atrybutu Accept do elementów wejściowych plików, co zapewniło większą wygodę wszystkim użytkownikom.

Do czego służą odmiany Chrome?

Jeśli włączysz ustawienie pomagające w ulepszaniu funkcji i działania Chrome (chrome://settings/syncSetup?search=improve), Chrome może automatycznie monitorować i wysyłać dane do backendu Chrome za pomocą mechanizmu analizy danych o użytkownikach (UMA). Przykłady anonimowych statystyk użytkowania Chrome, w tym procent wczytań stron wykorzystujących właściwość CSS lub funkcję HTML lub JavaScript, znajdziesz na stronie chromestatus.com/metrics.

Odmiany Chrome są szczególnie przydatne do porównywania statystyk jednej grupy użytkowników z innymi. Na przykład daną funkcję można włączyć tylko dla niektórych użytkowników, a Chrome może porównywać dane dla każdej grupy. Mogą one obejmować wykorzystanie pamięci, czas wczytywania stron lub wykorzystanie funkcji przeglądarki. Dzięki temu inżynierowie Chrome mogą porównywać wydajność i inne dane na temat użytkowników, którzy mają włączoną daną funkcję, użytkowników, którzy mają ją wyłączoną, i użytkowników z różnymi wariantami funkcji.

Testy funkcjonalne odmian Chrome

Każdy zestaw odmian cech jest nazywany badaniem lub testem funkcjonalnym i każda z nich ma stały czas trwania. Po zakończeniu badania nad daną funkcją wszyscy użytkownicy, którzy należą do grupy zachowań innych niż domyślna, otrzymają domyślne ustawienie Chrome: włączone lub wyłączone.

Większość funkcji, którymi można sterować za pomocą odmian Chrome, ma flagę, którą można ustawić na stronie chrome://flags. Jeśli uruchamiasz Chrome z wiersza poleceń, możesz użyć flag --enable-features i --disable-features, aby skonfigurować odmiany Chrome.

Odmiany Chrome Enterprise

Użytkownicy korporacyjni Chrome mogą też udostępnić zasady ChromeChrome do zarządzania odmianami Chrome. Oczywiście zalecamy pozostawienie włączonych odmian Chrome, bo dzięki temu będzie ona mogła szybko wprowadzić niezbędne poprawki zabezpieczeń.

Więcej informacji