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 testów 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 obszaru nazw „eksperymentalny”.

Jak mierzony jest wskaźnik FID

Czym dokładnie jest identyfikator FID? Oto definicja tego parametru w poście na blogu poświęconym zapowiedzi opóźnienia 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 główny wątek opóźnia 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

Dane FID z 1 miesiąca pochodzące z milionów źródeł to już całkiem pokaźna ilość 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 zapytania o odsetek szybkich FID-ów na stronie developers.google.com. Możemy zdefiniować szybkie działanie jako takie, w którym FID jest krótszy niż 100 ms. Zgodnie z zaleceniami RAIL, jeśli opóźnienie wynosi 100 ms lub mniej, działanie powinno być dla użytkownika 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 wolniejsze komponenty sprzętowe w porównaniu z komputerami stacjonarnymi. Jeśli procesor jest mniej wydajny, może być bardziej obciążony przez dłuższy czas, co spowoduje 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. Aby zrozumieć, dlaczego występują te różnice (np. wydajność procesora), trzeba przeprowadzić testy A/B wykraczające poza zakres raportu na temat UX w 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 ma 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 niekompletnie (patrz „3,0 s” na pasku filmowym 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 szybko wykonywane są zadania JavaScript.

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

Pasek zdjęć wtfast.com w WebPageTest

To źródło ma 96% doświadczeń z błyskawicznym FID. Ładuje 267 KB kodu JavaScript (38. percentyl w archiwum HTTP) i przetwarza go przez 900 ms na maszynie laboratoryjnej. Pasek filmu pokazuje, że renderowanie tła zajmuje około 5 sekund, a treści – kolejne 2 sekundy.

Kaskada WebPageTest dla wtfast.com

Najciekawszą rzeczą w wynikach jest to, że podczas gdy wątek główny jest zajęty przez 3–5 sekund, nie jest widoczne nic interaktywnego. To właśnie wolne działanie FCP na tej stronie poprawia FID. To dobry przykład znaczenia stosowania wielu wskaźników do oceny wygody użytkowników.

Zacznij przeglądać

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

Dzięki FID w raporcie na temat UX 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 swojej stronie, zarejestruj się w ramach testów wersji próbnej, korzystając z witryny 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.