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 rozpowszechniania i ewolucji rzeczywistej wydajności użytkowników. Do tej pory koncentrowaliśmy się na wskaźnikach wyrenderowania i wczytywania strony, np. First Contentful Paint (FCP) i Onload (OL), które pomogły nam zrozumieć, jak witryny są wizualne dla użytkowników. W wersji z czerwca 2018 r. eksperymentujemy z nowym wskaźnikiem skoncentrowanym na użytkownikach, który koncentruje się na interaktywności na stronach internetowych: Opóźnienie przy pierwszym działaniu (FID). Dzięki tym nowym danym lepiej zrozumiemy, jak elastyczne witryny reagują na opinie użytkowników.

Niedawno udostępniliśmy funkcję FID w Chrome w ramach wersji próbnej origin, co oznacza, że witryny mogą wyrazić zgodę na eksperymentowanie z tą nową funkcją platformy internetowej. Wartość FID będzie też dostępna w raporcie na temat użytkowania Chrome jako dane eksperymentalne, co oznacza, że będzie dostępna przez cały czas trwania badania origin w osobnej „eksperymentalnej” przestrzeni nazw.

Jak mierzy się FID

Czym dokładnie jest FID? Oto co definiuje się w poście na blogu z informacją o opóźnieniu przy pierwszym działaniu:

Opóźnienie przy pierwszej interakcji (FID) to czas od pierwszej interakcji użytkownika z witryną (tj. po kliknięciu linku, kliknięciu przycisku lub użyciu niestandardowego elementu sterującego z JavaScriptem) do momentu, w którym przeglądarka jest w stanie na to działanie zareagować.

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

To jak mierzenie czasu od dzwonka do drzwi do drzwi. Jeśli trwa to zbyt długo, powodów może być wiele. Na przykład może znajdować się daleko od drzwi lub nie może szybko ruszać. Strony internetowe mogą też zajmować się innymi zadaniami, a urządzenie użytkownika może działać wolniej.

Dane o FID w raporcie na temat użytkowania Chrome

Biorąc pod uwagę, że dane FID z jednego miesiąca pochodzą z milionów źródeł, znajdują się tam ogromne ilości interesujących wniosków do odkrycia. Spójrzmy na kilka zapytań, które pokazują, jak wyodrębnić te statystyki z raportu na temat użytkowania Chrome w BigQuery.

Zacznijmy od zapytania o odsetek szybkich operacji FID na developers.google.com. Można je zdefiniować jako takie, w którym czas FID jest krótszy niż 100 ms. Zgodnie z zaleceniami RAIL, jeśli opóźnienie wynosi co najmniej 100 ms, użytkownik powinien czuć się natychmiast.

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 pokazują, że 95% doświadczeń FID w tym źródle jest postrzeganych jako chwilowe. Świetnie, ale jak to wygląda w porównaniu ze wszystkimi źródłami 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% interfejsów FID trwa krócej niż 100 ms. W związku z tym strona developers.google.com jest powyżej średniej.

Teraz spróbujmy podzielić te dane, aby sprawdzić, czy występuje różnica między odsetkiem szybkiego FID na komputerach i urządzeniach mobilnych. Jedna z hipotezy zakłada, że urządzenia mobilne mają wolniejsze wartości FID, prawdopodobnie ze względu na wolniejszy sprzęt niż komputery stacjonarne. Jeśli procesor jest mniej wydajny, może być bardziej obciążany przez dłuższy czas, przez co FID może działać wolniej.

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 stacjonarne mają większą skumulowaną gęstość szybkich funkcji FID niż telefony i tablety. Poznanie przyczyn tych różnic, np. wydajności procesora, wymagałoby testów A/B wykraczających poza zakres Raportu na temat użytkowania Chrome.

Skoro wiemy już, jak sprawdzić, czy źródło ma szybkie działanie FID, przyjrzyjmy się kilku źródłom, które osiągają naprawdę dobre wyniki.

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

Seria filmów WebPageTest z witryny tajnylycanadian.com

To źródło ma 98% doświadczeń FID krótszych niż 100 ms. Jak to działa? Analizując sposób jego utworzenia w narzędziu WebPageTest, widzimy, że jest to dość rozbudowana strona WordPress, ale zawiera 168 KB kodu JavaScript, który wykonuje się na naszym laboratorium przez około 500 ms. Według archiwum HTTP nie jest to zbyt duży kod JavaScript, więc plasuje tę stronę na 28. centylu.

AWebPageTest kaskada tajnylycanadian.com

Różowy pasek o długości od 2,7 do 3,0 sekundy to faza Parse HTML. W tym czasie strona nie jest interaktywna i wygląda na niekompletną wizualnie (patrz „3,0 s” na pasku klatek powyżej). Po tym czasie wszystkie długie zadania wymagające przetworzenia są dzielone na kolejny wątek, by mieć pewność, że wątek główny pozostanie nieaktywny. Różowe linie w wierszu 11 pokazują, jak obsługa JavaScriptu przebiega w krótkich odstępach czasu.

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

WebPageTest — pasek z wtfast.com

To źródło ma 96% natychmiastowego interfejsu FID. Wczytuje 267 KB kodu JavaScript (38. percentyl w archiwum HTTP) i przetwarza go na maszynie laboratoryjnej przez 900 ms. Na pasku klatek widać, że renderowanie tła zajmuje około 5 sekund, a wyrenderowanie treści jeszcze około 2 sekund.

WebPageTest kaskada wtfast.com

Najciekawsze w wynikach, że nic nie jest interaktywne, gdy wątek główny jest zajęty od 3 do 5 sekund. To w rzeczywistości powolne działanie FCP strony polepsza wartość FID. Jest to dobry przykład tego, jak ważne jest przedstawianie wrażeń użytkownika za pomocą wielu rodzajów danych.

Zacznij przeglądać

Więcej informacji o FID znajdziesz w odcinku The State of the Web w tym tygodniu:

Dzięki wartości FID dostępnej w Raporcie na temat użytkowania Chrome możemy określić podstawę interakcji. Na podstawie tego punktu odniesienia możemy obserwować jego zmiany w kolejnych wersjach lub porównywać poszczególne źródła. Jeśli chcesz zacząć zbierać dane FID we własnej witrynie, zarejestruj się w okresie testowania origin, otwierając stronę bit.ly/event-timing-ot i wybierając funkcję Czas zdarzeń. No i oczywiście zacznij przeglądać zbiór danych, aby w ciekawy sposób poznać stan interaktywności w internecie. To są dane w wersji eksperymentalnej. Podziel się z nami swoją opinią i podziel się swoją analizą na grupie dyskusyjnej Raportu na temat użytkowania Chrome lub na Twitterze (@ChromeUXReport).