Eksperymentowanie z opóźnieniem przy pierwszym działaniu w raporcie na temat wygody użytkowników Chrome

Raport na temat użytkowania Chrome ma pomóc społeczności internetowej w zrozumieniu rozkładu i ewolucji wydajności wśród prawdziwych użytkowników. Do tej pory skupialiśmy się na wskaźnikach wyrenderowania i wczytywania stron, takich jak pierwsze wyrenderowanie treści (FCP) i Onload (OL), które pomogły nam zrozumieć, jak wizualnie działają strony dla użytkowników. Od czerwca 2018 r. testujemy nowe dane zorientowane na użytkownika, które skupiają się na interaktywności stron internetowych: opóźnieniu przy pierwszym działaniu (FID). Dzięki temu nowemu wskaźnikowi będziemy mogli lepiej zrozumieć, jak strony internetowe responsywne reagują na dane wprowadzane przez użytkowników.

Niedawno udostępniliśmy w Chrome FID w ramach testowania origin, co oznacza, że witryny mogą eksperymentować z tą nową funkcją platformy internetowej. Podobnie FID będzie dostępny w raporcie na temat użytkowania Chrome jako dane eksperymentalne, co oznacza, że będzie dostępny przez cały okres testów w ramach osobnego przedrostka „experimental”.

Jak mierzony jest wskaźnik FID

Czym dokładnie jest identyfikator FID? Oto definicja tego parametru w artykule z ogłoszeniem o opóźnieniu przy pierwszym działaniu:

Opóźnienie przy pierwszym działaniu (FID) mierzy czas, jaki upływa od pierwszej interakcji użytkownika z Twoją witryną (np. kliknięcia linku, przycisku lub użycia niestandardowego elementu sterującego JavaScript) do chwili, w której przeglądarka jest w stanie na to działanie zareagować.

Animacja pokazująca, jak zajęty wątek główny opóźni odpowiedź na interakcję użytkownika.

To jak mierzenie czasu od momentu naciśnięcia dzwonka do momentu otwarcia drzwi. Może to być spowodowane wieloma czynnikami. Może na przykład być daleko od drzwi lub nie może szybko się poruszać. Podobnie strony internetowe mogą być zajęte wykonywaniem innych zadań lub urządzenie użytkownika może być wolne.

Analiza wskaźnika FID w raporcie na temat użytkowania Chrome

Dzięki miesiącowi danych FID z milionów źródeł mamy już do odkrycia mnóstwo interesujących informacji. Przyjrzyjmy się kilku zapytaniom, które pokazują, jak wyodrębnić te statystyki z raportu na temat UX Chrome w BigQuery.

Zacznijmy od sprawdzenia odsetka szybkich reakcji FID na developers.google.com. Możemy określić, że FID jest krótszy niż 100 ms. Zgodnie z zaleceniami RAIL, jeśli opóźnienie wynosi 100 ms lub więcej, powinno ono być natychmiastowe.

SELECT
  ROUND(SUM(IF(fid.start < 100, fid.density, 0)), 4) AS fast_fid
FROM
  `chrome-ux-report.all.201806`,
  UNNEST(experimental.first_input_delay.histogram.bin) AS fid
WHERE
  origin = 'https://developers.google.com'

Wyniki wskazują, że 95% doświadczeń związanych z FID w tym pochodzeniu jest postrzeganych jako natychmiastowe. Wygląda to naprawdę dobrze, ale jak wypada na tle wszystkich źródeł w zbiorze danych?

SELECT
  ROUND(SUM(IF(fid.start < 100, fid.density, 0)) / SUM(fid.density), 4) AS fast_fid
FROM
  `chrome-ux-report.all.201806`,
  UNNEST(experimental.first_input_delay.histogram.bin) AS fid

Wyniki tego zapytania wskazują, że 84% wartości FID jest krótsze niż 100 ms. Oznacza to, że developers.google.com jest powyżej średniej.

Następnie podzielimy te dane, aby sprawdzić, czy istnieje różnica między odsetkiem szybkich FID na komputerach a na urządzeniach mobilnych. Jedna z hipotez mówi, że urządzenia mobilne mają wolniejsze wartości FID, prawdopodobnie ze względu na wolniejszy sprzęt w porównaniu z komputerami stacjonarnymi. Jeśli procesor jest słabszy, przez dłuższy czas może być bardziej obciążony, co powoduje wolniejsze działanie FID.

SELECT
  form_factor.name AS form_factor,
  ROUND(SUM(IF(fid.start < 100, fid.density, 0)) / SUM(fid.density), 4) AS fast_fid
FROM
  `chrome-ux-report.all.201806`,
  UNNEST(experimental.first_input_delay.histogram.bin) AS fid
GROUP BY
  form_factor
form_factor fast_fid
komputer 96,02%
telefon 79,90%
tablet 76,48%

Wyniki potwierdzają naszą hipotezę. Komputery mają większą kumulatywną gęstość szybkich doświadczeń FID niż telefony i tablety. Zrozumienie dlaczego tych różnic, np. wydajności procesora, wymagałoby testów A/B wykraczających poza zakres Raportu na temat użytkowania Chrome.

Teraz, gdy już wiesz, jak sprawdzić, czy pochodzenie ma szybkie FID, przyjrzyjmy się kilku źródłom, które działają naprawdę dobrze.

Przykład 1. http://secretlycanadian.com

Pasek zdjęć WebPageTest dla secretlycanadian.com

Ten adres źródłowy ma 98% FID poniżej 100 ms. Jak to osiąga? Analizując jej budowę w WebPageTest, widzimy, że jest to strona WordPressa z dużą liczbą obrazów, ale zawiera 168 KB kodu JavaScript, który wykonuje się na naszej maszynie laboratoryjnej w czasie około 500 ms. Według archiwum HTTP strona ta zawiera niewiele kodu JavaScriptu, co stawia ją na 28. poziomie w rankingu.

Kaskada AWebPageTest dla secretlycanadian.com

Różowy pasek od 2,7 do 3,0 sekund to faza analizowania kodu HTML. W tym czasie strona nie jest interaktywna i wygląda na niepełną wizualnie (patrz „3.0s” na serii zdjęć powyżej). Następnie wszystkie długie zadania, które wymagają przetworzenia, są dzielone, aby zapewnić, że wątek główny pozostanie w spoczynku. Różowe linie w wierszu 11 pokazują, jak kod JavaScript jest rozłożony w krótkich odstępach.

Przykład 2. https://www.wtfast.com

Pasek zdjęć WebPageTest dla wtfast.com

To źródło ma 96% doświadczeń z błyskawicznym FID. Wczytuje 267 KB kodu JavaScript (38 centyl w archiwum HTTP) i przetwarza go przez 900 ms na komputerze w module. Pasek filmu pokazuje, że strona potrzebuje około 5 sekund na wyrenderowanie tła i około 2 sekund na wyrenderowanie treści.

Kaskada WebPageTest dla wtfast.com

Najciekawsze w wynikach jest to, że gdy wątek główny jest zajęty przez 3–5 sekund, nie jest nawet widoczny żaden element interaktywny. To właśnie wolne działanie FCP na tej stronie poprawia FID. To dobry przykład tego, jak ważne jest używanie wielu danych do reprezentowania wrażeń użytkowników.

Zacznij przeglądać

Więcej informacji o FID znajdziesz w odcinku The State of the Web z tego tygodnia:

Dzięki FID w raporcie na temat użytkowania Chrome możemy ustalić podstawę do pomiaru interakcji. Na podstawie tej wartości bazowej możemy obserwować zmiany w przyszłych wersjach lub porównywać poszczególne źródła. Jeśli chcesz zacząć zbierać dane o czasie wczytywania na podstawie pomiarów polowych na własnej stronie, zarejestruj się w celu udziału w próbnej wersji usługi, klikając bit.ly/event-timing-ot i wybierając funkcję Czas wczytywania zdarzenia. I oczywiście zacznij eksplorować zbiór danych, aby uzyskać ciekawe informacje o stanie interakcji w internecie. Jest to nadal dane eksperymentalne, dlatego prześlij nam swoją opinię i dodaj analizę w grupie dyskusyjnej dotyczącej raportu na temat użytkowania Chrome lub na koncie @ChromeUXReport na Twitterze.