Czym są odmiany Chrome?

Mechanizm testowania nowych funkcji przeglądarki w Chrome

Być może znasz Odmiany Chrome, czyli testy terenowe Chrome, a może nawet wewnętrzny kryptonim Chrome Finch.

Wszystkie te nazwy noszą tę samą nazwę: mechanizm testowania nowych funkcji lub zmian w przeglądarce Chrome albo ChromeOS – systemu operacyjnego Chrome działającego na Chromebookach.

Do czego służą odmiany Chrome?

Odmiany Chrome umożliwiają aktywowanie nowej funkcji, dezaktywowanie którejś z nich lub wypróbowanie zmiany w jednej z nich w przypadku podzbioru użytkowników.

Nie wszystkie funkcje Chrome są wprowadzane za pomocą mechanizmu odmian Chrome. Zespół Chrome może jednak używać Odmian Chrome, gdy musimy zachować szczególną ostrożność przy wprowadzaniu zmian lub gdy istnieje ryzyko, że zmiana może wpłynąć na skuteczność w nieoczekiwany sposób. „Zmiana” może oznaczać poprawę wydajności kodu Chrome, aktualizację wyglądu lub działania przeglądarki, a nawet modyfikację interfejsu JavaScript API.

Odmiany Chrome mogą też posłużyć do weryfikacji hipotezy dotyczącej zmiany lub aktualizacji. Na przykład w przypadku pewnej części użytkowników w grupie Odmiany Chrome próbowaliśmy dostosować parametry protokołu sieciowego QUIC, by przyspieszyć działanie Chrome w rzeczywistych warunkach sieciowych.

Odmiany Chrome mogą pojawiać się też w przypadku korzystania z wersji próbnych źródła Chrome. Domyślnie funkcja testowania origin jest włączona na wszystkich stronach, które podają prawidłowy token wersji próbnej, ale w niektórych przypadkach do kontrolowania aktywacji funkcji używane są odmiany Chrome. Oznacza to, że funkcja testowania origin może być niedostępna dla niektórych użytkowników, nawet jeśli odwiedzają stronę, która zawiera prawidłowy token wersji próbnej. Informacje o odsetku użytkowników kwalifikujących się do aktywacji funkcji testowania origin są dostępne w dokumentacji i aktualizacjach dotyczących każdej wersji próbnej origin.

Jak działają odmiany Chrome?

Co 30 minut na komputerze lub urządzeniu mobilnym albo przy każdym uruchomieniu przeglądarka wysyła żądanie do backendu Chrome, aby pobrać plik konfiguracji odmian Chrome, nazywany plikem wyjściowym odmian. Inaczej mówiąc, mamy do dyspozycji specjalny serwer, który dostarcza odmiany Chrome. Chrome wysyła żądanie HTTPS do serwera, a w odpowiedzi serwer przesyła instrukcją skompresowaną.

Informacje o przeglądarce i systemie operacyjnym przekazywane do backendu Odmian Chrome; materiał wyjściowy Odmian Chrome trafiający do przeglądarki, który zawiera wartość początkową.

Gdy Chrome na urządzeniu kontaktuje się z backendem odmian Chrome, by pobrać plik instalacyjny, poda Ci też informacje o wersji Chrome i systemie operacyjnym, w którym ona działa. Plik zwracany przez backend Odmiany Chrome jest używany do włączania i wyłączania funkcji oraz określania odmian funkcji.

Na podstawie danych z pliku wyjściowego i zapisanego lokalnie pliku wyjściowego losowego Chrome losowo przypisze przeglądarkę do grupy odmian. Inaczej mówiąc, plik wyjściowy randomizacji w połączeniu z plikiem wyjściowym z backendu wersji Chrome może służyć do aktywowania lub dezaktywowania funkcji w przeglądarce w przypadku określonego podzbioru użytkowników. Przeglądarka na urządzeniu śledzi, do której grupy odmian należy.

Wdrażanie funkcji i kanały Chrome

Jednym z najważniejszych zastosowań odmian Chrome jest stopniowe wprowadzanie zmian lub nowych funkcji w określonym odsetku klientów Chrome. Ma to kluczowe znaczenie w przypadku złożonych aplikacji, takich jak Chrome, z których korzystają miliardy użytkowników, a także tysiące typów urządzeń na różnych platformach, a miliony aplikacji i stron internetowych obsługują dziesiątki różnych języków.

Podczas korzystania i testowania Chrome Canary, deweloperska i beta uzyskuje cenne opinie. Za pomocą odmian Chrome możemy włączać i wyłączać funkcje w dowolnym z tych kanałów wersji. Najczęściej korzystają z nich programiści i inni specjaliści. Użytkownicy wersji stabilnej Chrome korzystają z Chrome na odmienny sposób i w większej liczbie przypadków, dlatego zawsze musimy weryfikować wersję stabilną. Dzięki temu możemy rozwiązywać problemy, które pojawiają się podczas normalnego korzystania z przeglądarki. Inżynierowie Chrome nie zawsze są w stanie przewidzieć, jak prawdziwi użytkownicy zareagują na zmiany i nowe funkcje na dużą skalę.

Odmiany Chrome to kluczowy mechanizm, który to umożliwia. Umożliwia sprawdzanie wykorzystania i danych dotyczących stabilnej wersji Chrome z aktywną lub dezaktywowaną funkcją. Mierząc wpływ zmian wprowadzonych w wersji stabilnej Chrome, możemy dostarczać najlepsze możliwe funkcje i tworzyć lepszą przeglądarkę nawet przy złożonych kompromisach.

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

Chrome potrzebuje odmian Chrome z 3 głównych powodów.

Aktywuj nową funkcję

Korzystanie z odmian Chrome w celu zapewnienia kontroli nad aktywowaniem nowych funkcji jest szczególnie przydatne w przypadku działań, które mogą być bardziej ryzykowne lub które mogą wpływać na wydajność.

Odmiany Chrome umożliwiają nam udostępnianie nowej funkcji wybranej grupie użytkowników. Inżynierowie Chrome mogą następnie sprawdzić różnice w wydajności lub zapoznać się z innymi rodzajami opinii z grupy odmian.

Dezaktywacja funkcji

Odmiany Chrome mogą stanowić zabezpieczenia do wyłączania funkcji, choć zdarza się to rzadko.

Na przykład nowa funkcja sieciowa może stać się celem ataku typu DoS. Odmiany Chrome pozwalają szybko wyłączyć taką funkcję, ponieważ konfiguracja odmian jest pobierana co 30 minut, a ustawienia są aktywowane po każdym ponownym uruchomieniu Chrome. Z kolei aktualizowanie Chrome i oczekiwanie na udostępnienie nowej wersji wśród miliardów użytkowników byłoby znacznie wolniejsze.

Wypróbuj zmiany funkcji

Odmiany Chrome mogą też służyć do weryfikowania zmian i aktualizacji. Moglibyśmy na przykład dostosować poziom trudności gry z dinozaurem w Chrome, aby cała interakcja była przyjemniejsza.

Odmiany Chrome można też wykorzystać do badania długoterminowego wpływu nowych funkcji. Jest to możliwe dzięki mechanizmowi Odmiany Chrome, który blokuje funkcje u niewielkiej części użytkowników – może do 1% lub mniej. Grupa wstrzymania może być przydatna do sprawdzania zmian i efektów ubocznych, które stają się widoczne dopiero z czasem.

Grupa izolacyjna może być szczególnie ważna w przypadku zmian interfejsu, w których użytkownicy prawdopodobnie będą wchodzić w interakcje z nową funkcją, ale w dłuższej perspektywie mogą działać inaczej.

Na przykład wprowadziliśmy w Chrome selektor zdjęć, ale funkcja ta była tymczasowo niedostępna dla niewielkiego odsetka użytkowników, aby porównać wyniki. Udostępniliśmy nowy selektor zdjęć na Androidzie do dużej części naszych użytkowników i odnotowaliśmy znaczny wzrost liczby zdjęć udostępnianych w internecie przez tę grupę. Jednak w ciągu 6 miesięcy, kiedy stosowaliśmy tę metodę, zaobserwowaliśmy znaczny wzrost wykorzystania. Wynikało to z faktu, że nowy selektor zdjęć zachęcał witryny do dodawania atrybutu „Akceptuję” do elementów wejściowych plików, co zwiększyło wygodę wszystkich użytkowników.

Jak odmiany Chrome są używane do weryfikacji?

Jeśli włączone jest 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 znanego jako analiza danych o użytkownikach (UMA). Przykładowe anonimowe statystyki użytkowania Chrome znajdziesz na stronie chromestatus.com/metrics. Są to na przykład procent przypadków wczytania stron z wykorzystaniem usługi CSS albo funkcji HTML lub JavaScript.

Odmiany Chrome są szczególnie przydatne do porównywania statystyk jednej grupy użytkowników. Na przykład dana funkcja może zostać włączona tylko u niektórych użytkowników, a Chrome może porównywać dane dotyczące poszczególnych grup. Wskaźniki te mogą obejmować wykorzystanie pamięci, czasy wczytywania strony i wykorzystanie funkcji przeglądarki. Dzięki temu inżynierowie Chrome mogą porównywać wydajność i inne dane dotyczące użytkowników, którzy mają włączoną funkcję, użytkowników, którzy mają ją wyłączoną, oraz użytkowników z różnymi wariantami funkcji.

Testy funkcjonalne odmian Chrome

Każdy zestaw odmian danej funkcji jest nazywany badaniem lub testem funkcjonalnego, a każda z nich ma stały czas trwania. Po zakończeniu badania danej funkcji wszyscy użytkownicy, którzy należą do grupy zachowań innych niż domyślna, otrzymują domyślne ustawienie Chrome dotyczące tej funkcji: włączone lub wyłączone.

Większość funkcji, które mogą być kontrolowane przez Odmiany Chrome, odpowiada flagom, które można ustawić na stronie chrome://flags. Jeśli uruchamiasz Chrome z wiersza poleceń, możesz też skonfigurować odmiany Chrome za pomocą flag --enable-features i --disable-features.

Flaga --reset-variation-state wymusza zresetowanie stanu odmian Chrome w przypadku bieżącego klienta. Oznacza to, że klient może przejść do różnych grup odmian Chrome.

Odmiany Chrome Enterprise

W przypadku klientów biznesowych Chrome udostępnia też zasady ChromeVersions do zarządzania odmianami Chrome. Oczywiście zalecamy pozostawienie włączonych odmian Chrome, aby umożliwić szybkie dostarczanie ważnych poprawek bezpieczeństwa.

Więcej informacji