Być może słyszeliście o Chrome Variations, które są też nazywane testami polowymi Chrome lub nawet wewnętrzną nazwą kodową Chrome Finch.
Wszystkie te nazwy odnoszą się do tego samego: mechanizmu testowania nowych funkcji lub zmian w przeglądarce Chrome lub w ChromeOS, czyli systemie operacyjnym Chrome, który działa na Chromebookach.
Co to są odmiany Chrome?
Odmiany Chrome umożliwiają aktywowanie nowej funkcji, jej dezaktywowanie lub wypróbowanie zmiany funkcji dla podzbioru użytkowników.
Nie wszystkie funkcje w Chrome są wprowadzane za pomocą odmian Chrome. Jednak zespół Chrome może korzystać z Chrome Variations w dowolnym momencie. Odmiany Chrome można używać do:
- Zezwalanie inżynierom Chrome na szczególną ostrożność podczas wprowadzania określonej zmiany. Mogą uważać, że działanie przeglądarki może być zagrożone lub że istnieją inne problemy.
- weryfikować hipotezy dotyczące zmian lub aktualizacji. Na przykład w przypadku procenta użytkowników w grupie Chrome Variations zmodyfikowaliśmy parametry protokołu sieciowego QUIC, aby przyspieszyć działanie Chrome w rzeczywistych warunkach sieciowych użytkowników.
- Kontrolować aktywację funkcji testowania wersji źródłowej. Domyślnie próby wersji próbnej są włączone na wszystkich stronach, które udostępniają prawidłowy token wersji próbnej. W niektórych przypadkach funkcja może być niedostępna dla niektórych użytkowników, nawet jeśli odwiedzą oni stronę z prawidłowym tokenem wersji próbnej.
Jak działają odmiany Chrome?
Co 30 minut na komputerze lub urządzeniu mobilnym albo za każdym razem, gdy uruchamiasz Chrome, przeglądarka wysyła żądanie do backendu Chrome, aby pobrać plik konfiguracji Chrome Variations, który jest nazywany dane zaczytania. Do udostępniania nasion w Chrome Variations służy specjalny serwer. Chrome wysyła żądanie HTTPS do serwera, a serwer odpowiada delta-skompresowanym ziarnem.
Gdy Chrome na Twoim urządzeniu skontaktuje się z serwerem, aby poprosić o plik początkowy, Chrome przekaże numer wersji i system operacyjny, na którym działa. Plik zwracany przez backend platformy Odmiany Chrome służy do włączania i wyłączania funkcji oraz do określania odmian funkcji.
Chrome używa danych z pliku zaczynów i z lokalnie przechowywanego zaczynu do losowania, aby losowo przypisać przeglądarkę do grupy wariantów. Przeglądarka na urządzeniu śledzi, do której grupy wariantów należy.
Wdrażanie funkcji i kanały Chrome
Jedną z najważniejszych zastosowań platformy Odmiany Chrome jest stopniowe wprowadzanie zmian lub nowych funkcji w przypadku określonego odsetka klientów Chrome. Jest to kluczowe dla złożonej aplikacji takiej jak Chrome, która ma miliardy użytkowników, tysiące typów urządzeń na wielu platformach, obsługuje dziesiątki różnych języków i miliony różnych aplikacji i witryn internetowych.
Chrome otrzymuje cenne opinie na podstawie korzystania z wersji Canary, deweloperskiej i beta. Za pomocą Chrome Variations możemy aktywować lub dezaktywować funkcje w dowolnym z tych kanałów wersji. Jednak te kanały są używane głównie przez programistów i innych specjalistów.
Użytkownicy wersji stabilnej Chrome korzystają z Chrome w inny sposób i w znacznie większej liczbie, dlatego zawsze musimy sprawdzać wersję stabilną. Pozwala nam to rozwiązywać problemy występujące podczas normalnego korzystania z przeglądarki. Inżynierowie Chrome nie zawsze mogą przewidzieć, jak użytkownicy zareagują na zmiany i nowe funkcje.
Odmiany Chrome umożliwiają sprawdzanie danych i statystyk dotyczących stabilnej wersji Chrome. Dzięki pomiarowi wpływu zmian w Chrome Stable możemy udostępniać najlepsze funkcje i tworzyć lepszą przeglądarkę, nawet jeśli kompromisy są złożone.
Kiedy inżynierowie z zespołu Chrome używają Chrome Variations?
Chrome potrzebuje wersji Chrome Variations z 3 głównych powodów.
Aktywowanie nowej funkcji
Korzystanie z odmian Chrome w celu uzyskania kontroli nad aktywacją nowej funkcji jest szczególnie przydatne w przypadku funkcji, które mogą być w jakimś stopniu bardziej ryzykowne lub mogą wpływać na wydajność.
Odmiany Chrome umożliwiają nam udostępnianie nowej funkcji podzbiorowi użytkowników. Inżynierowie Chrome mogą wtedy sprawdzić różnice w wydajności lub inne rodzaje informacji zwrotnych z grupy wariantowej.
Dezaktywowanie funkcji
Odmiany Chrome mogą służyć jako mechanizm bezpieczeństwa do wyłączania funkcji, chociaż dzieje się to rzadko.
Na przykład nowa funkcja sieci może stać się celem ataku typu DoS. Możesz szybko włączyć tę funkcję za pomocą Chrome Variations, ponieważ konfiguracja Chrome Variations jest pobierana co 30 minut, a ustawienia są aktywowane za każdym razem, gdy ponownie uruchamiasz Chrome.
Z kolei aktualizowanie Chrome i czekanie na rozpowszechnienie nowej wersji wśród miliardów użytkowników zajęłoby znacznie więcej czasu.
Testowanie zmian w funkcji
Odmiany Chrome można używać do sprawdzania zmian i aktualizacji. Możemy na przykład dostosować poziom trudności gry Dino w Chrome Offline, aby zwiększyć atrakcyjność interakcji.
Z Chrome Variations można też korzystać, aby badać długoterminowe skutki nowych funkcji. W tym celu używamy mechanizmu Chrome Variations, który pozwala wstrzymać funkcje dla niewielkiej grupy użytkowników, np. dla 1% użytkowników lub mniej. Grupa kontrolna może być przydatna do sprawdzania zmian i efektów ubocznych, które stają się widoczne dopiero z czasem.
Grupa wstrzymana może być szczególnie ważna w przypadku zmian w interfejsie, ponieważ użytkownicy prawdopodobnie będą korzystać z nowej funkcji, ale w dłuższej perspektywie mogą zachowywać się inaczej.
Na przykład wprowadziliśmy w Chrome selektor zdjęć, ale funkcja ta była tymczasowo wyłączona w przypadku niewielkiego odsetka użytkowników, aby można było porównać wyniki. Udostępniliśmy nowy selektor zdjęć na Androida dużej grupie użytkowników i na początku zaobserwowaliśmy znaczny wzrost liczby zdjęć udostępnianych przez tę grupę w internecie. Jednak w ciągu 6 miesięcy, w których mieliśmy wariant z zatrzymaniem danych, zauważyliśmy znaczny spadek wzrostu liczby użytkowników. Wynikało to z tego, że dostępność nowego selektora zdjęć zachęciła witryny do dodania atrybutu accept do elementów formularza przesyłania plików, co przełożyło się na lepsze wrażenia wszystkich użytkowników.
W jaki sposób platforma Odmiany Chrome służy do weryfikacji?
Jeśli włączysz ustawienie „Pomóż w ulepszaniu funkcji i działania Chrome” (chrome://settings/syncSetup?search=improve
), Chrome może automatycznie monitorować i przesyłać dane do backendu Chrome za pomocą analizy danych użytkownika (UMA).
Przykłady anonimowych statystyk dotyczących korzystania z Chrome znajdziesz na stronie chromestatus.com/metrics, np. odsetek wczytanych stron, które korzystają z właściwości CSS lub funkcji HTML lub JavaScript.
Zmiany w Chrome są szczególnie przydatne do porównywania statystyk jednej grupy użytkowników z inną. Na przykład funkcja może być włączona dla niektórych użytkowników, a nie dla innych, a Chrome może porównywać dane dla każdej grupy. Te dane mogą obejmować wykorzystanie pamięci, czas wczytywania strony lub korzystanie z funkcji przeglądarki. Umożliwia to inżynierom Chrome porównywanie wydajności lub innych danych między użytkownikami, którzy mają włączoną funkcję, wyłączoną funkcję lub różne wersje funkcji.
Testy w terenie
Każdy zestaw wariantów funkcji nazywa się badaniem lub testem, a każdy z nich ma określony czas trwania. Po zakończeniu badania wszyscy użytkownicy, którzy zostali uwzględnieni w niestandardowej grupie zachowań, otrzymają domyślne ustawienie Chrome dla danej funkcji: włączone lub wyłączone.
Większość funkcji, które można kontrolować za pomocą funkcji Chrome Variations, odpowiada flagom, które można ustawić na stronie chrome://flags
. Jeśli uruchamiasz Chrome z poziomu wiersza poleceń, możesz użyć flag --enable-features
i --disable-features
, aby skonfigurować odmiany Chrome.
Flaga --reset-variation-state
wymusza zresetowanie stanu odmian Chrome w przypadku bieżącego klienta. Oznacza to, że klient może przejść do innych grup odmian Chrome.
Odmiany Chrome dla firm
W przypadku klientów biznesowych Chrome udostępnia też zasady dotyczące odmian Chrome, które umożliwiają zarządzanie odmianami Chrome. Zalecamy pozostawienie włączonych odmian Chrome, aby Chrome mógł szybko dostarczać kluczowe poprawki zabezpieczeń.