Bereksperimen dengan Penundaan Input Pertama di Laporan UX Chrome

Tujuan Laporan Pengalaman Pengguna Chrome adalah membantu komunitas web memahami distribusi dan evolusi performa pengguna yang sebenarnya. Hingga saat ini, fokus kami adalah pada metrik pemuatan halaman dan paint seperti First Contentful Paint (FCP) dan Onload (OL), yang telah membantu kami memahami performa situs secara visual bagi pengguna. Mulai dari rilis Juni 2018, kami bereksperimen dengan metrik baru yang berfokus pada pengguna dan berfokus pada interaktivitas halaman web: First Input Delay (FID). Metrik baru ini akan memungkinkan kami lebih memahami seberapa responsif situs terhadap input pengguna.

FID baru-baru ini tersedia di Chrome sebagai uji coba origin, yang berarti situs dapat memilih untuk bereksperimen dengan fitur platform web baru ini. Demikian pula, FID akan tersedia di Laporan UX Chrome sebagai metrik eksperimental, yang berarti akan tersedia selama durasi uji coba origin dalam namespace "eksperimental" yang terpisah.

Cara FID diukur

Jadi, apa sebenarnya FID? Berikut adalah definisinya dalam postingan blog pengumuman First Input Delay:

Jeda Input Pertama (FID) mengukur waktu dari saat pengguna pertama kali berinteraksi dengan situs Anda (yaitu saat mereka mengklik link, mengetuk tombol, atau menggunakan kontrol kustom yang didukung JavaScript) hingga saat browser benar-benar dapat merespons interaksi tersebut.

Animasi yang menunjukkan bagaimana thread utama yang sibuk menunda respons terhadap interaksi pengguna.

Cara ini seperti mengukur waktu sejak bel pintu seseorang membunyikan bel pintu hingga dia menjawab pintu. Jika memerlukan waktu lama, mungkin ada banyak alasan. Misalnya, mungkin orang tersebut berada jauh dari pintu atau mungkin dia tidak dapat bergerak dengan cepat. Demikian pula, halaman web mungkin sedang sibuk melakukan pekerjaan lain atau perangkat pengguna mungkin lambat.

Mempelajari FID di Laporan UX Chrome

Dengan data FID satu bulan dari jutaan origin, sudah ada banyak insight menarik yang dapat ditemukan. Mari kita lihat beberapa kueri yang menunjukkan cara mengekstrak insight ini dari Laporan UX Chrome di BigQuery.

Mari kita mulai dengan membuat kueri untuk persentase pengalaman FID cepat untuk developers.google.com. Kita dapat menentukan pengalaman cepat sebagai pengalaman dengan FID kurang dari 100 md. Sesuai rekomendasi RAIL, jika penundaan adalah 100 md atau lebih baik, penundaan tersebut akan terasa seketika bagi pengguna.

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'

Hasilnya menunjukkan bahwa 95% pengalaman FID pada origin ini dianggap instan. Tampaknya sangat bagus, tetapi bagaimana perbandingannya dengan semua origin dalam set data?

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

Hasil kueri ini menunjukkan bahwa 84% pengalaman FID kurang dari 100 milidetik. Jadi, developers.google.com berada di atas rata-rata.

Selanjutnya, mari kita coba mengelompokkan data ini untuk melihat apakah ada perbedaan antara persentase FID cepat di desktop dan seluler. Salah satu hipotesisnya adalah perangkat seluler memiliki nilai FID yang lebih lambat, mungkin karena hardware yang lebih lambat dibandingkan dengan komputer desktop. Jika CPU kurang bertenaga, mungkin akan lebih sibuk dalam waktu yang lebih lama dan menyebabkan pengalaman FID menjadi lebih lambat.

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
desktop 96,02%
telepon 79,90%
tablet 76,48%

Hasilnya menguatkan hipotesis kami. Desktop memiliki kepadatan pengalaman FID cepat yang lebih tinggi daripada faktor bentuk ponsel dan tablet. Untuk memahami alasan perbedaan ini, misalnya performa CPU, diperlukan pengujian A/B di luar cakupan Chrome UX Report.

Setelah kita melihat cara mengidentifikasi apakah origin memiliki pengalaman FID yang cepat, mari kita lihat beberapa origin yang berperforma sangat baik.

Contoh 1: http://secretlycanadian.com

Strip film WebPageTest dari secretlycanadian.com

Origin ini memiliki 98% pengalaman FID di bawah 100 milidetik. Bagaimana cara melakukannya? Dengan menganalisis cara pembuatannya di WebPageTest, kita dapat melihat bahwa ini adalah halaman WordPress dengan banyak gambar, tetapi memiliki JavaScript 168 KB yang dijalankan dalam waktu sekitar 500 milidetik di mesin lab kami. Menurut HTTP Archive, jumlah JavaScript ini tidak terlalu banyak, sehingga halaman ini berada di persentil ke-28.

Waterfall AWebPageTest untuk secretlycanadian.com

Batang merah muda yang berlangsung selama 2,7 hingga 3,0 detik adalah fase Parse HTML. Selama waktu ini, halaman tidak interaktif dan tampak tidak lengkap (lihat "3,0 dtk" pada setrip film di atas). Setelah itu, tugas panjang apa pun yang perlu diproses akan dipecah untuk memastikan thread utama tetap tidak aktif. Garis merah muda di baris 11 menunjukkan cara kerja JavaScript yang tersebar dalam burst cepat.

Contoh 2: https://www.wtfast.com

Strip film WebPageTest dari wtfast.com

Asal ini memiliki pengalaman FID instan 96%. Halaman ini memuat JavaScript sebesar 267 KB (persentil ke-38 di HTTP Archive) dan memprosesnya selama 900 md di mesin lab. Filmstrip menunjukkan bahwa halaman memerlukan waktu sekitar 5 detik untuk mewarnai latar belakang dan sekitar 2 detik lagi untuk mewarnai konten.

Waterfall WebPageTest dari wtfast.com

Yang paling menarik dari hasilnya adalah tidak ada konten interaktif yang terlihat saat thread utama sibuk antara 3 dan 5 detik. Sebenarnya, lambatnya FCP halaman ini yang meningkatkan FID. Ini adalah contoh yang baik tentang pentingnya menggunakan banyak metrik untuk mewakili pengalaman pengguna.

Mulai jelajahi

Anda dapat mempelajari FID lebih lanjut di episode The State of the Web minggu ini:

Dengan tersedianya FID di Laporan UX Chrome, kami dapat menetapkan dasar pengukuran pengalaman interaktivitas. Dengan menggunakan dasar pengukuran ini, kita dapat mengamati perubahannya dalam rilis mendatang atau melakukan benchmark pada setiap origin. Jika Anda ingin mulai mengumpulkan FID dalam pengukuran kolom situs Anda sendiri, daftar ke uji coba origin dengan membuka bit.ly/event-timing-ot dan pilih fitur Penentuan Waktu Peristiwa. Dan tentu saja, mulai menjelajahi set data untuk mendapatkan insight menarik tentang status interaktivitas di web. Ini masih merupakan metrik eksperimental, jadi beri kami masukan dan bagikan analisis Anda di grup diskusi Chrome UX Report atau @ChromeUXReport di Twitter.