Thử nghiệm với thời gian phản hồi lần tương tác đầu tiên trong báo cáo trải nghiệm người dùng trên Chrome

Rick Viscomi
Rick Viscomi

Mục tiêu của Báo cáo trải nghiệm người dùng trên Chrome là giúp cộng đồng web hiểu được sự phân bố và sự phát triển của hiệu suất thực của người dùng. Cho đến nay, chúng tôi tập trung vào các chỉ số hiển thị và tải trang, chẳng hạn như Hiển thị nội dung đầu tiên (FCP) và Onload (OL), giúp chúng tôi hiểu được hiệu suất trực quan của trang web đối với người dùng. Bắt đầu từ bản phát hành tháng 6 năm 2018, chúng tôi sẽ thử nghiệm một chỉ số mới lấy người dùng làm trung tâm, tập trung vào khả năng tương tác của các trang web: Độ trễ đầu vào đầu tiên (FID). Chỉ số mới này sẽ giúp chúng tôi hiểu rõ hơn tác động của các trang web thích ứng đối với hoạt động đầu vào của người dùng.

FID gần đây đã được cung cấp trong Chrome dưới dạng bản dùng thử theo nguyên gốc, tức là các trang web có thể chọn tham gia thử nghiệm tính năng mới này trên nền tảng web. Tương tự, FID sẽ có trong Báo cáo trải nghiệm người dùng trên Chrome dưới dạng chỉ số thử nghiệm, tức là chỉ số này sẽ có sẵn trong thời gian chạy bản dùng thử theo nguyên gốc trong một không gian tên "thử nghiệm" riêng biệt.

Cách đo lường FID

Vậy chính xác thì FID là gì? Dưới đây là định nghĩa của thuộc tính này trong bài đăng trên blog về thông báo về Độ trễ đầu vào đầu tiên:

Độ trễ đầu vào đầu tiên (FID) đo thời gian kể từ khi người dùng tương tác lần đầu với trang web của bạn (tức là khi họ nhấp vào một đường liên kết, nhấn vào một nút hoặc sử dụng một chế độ điều khiển tuỳ chỉnh, dựa trên JavaScript) đến thời điểm trình duyệt thực sự có thể phản hồi với hoạt động tương tác đó.

Ảnh động cho thấy cách một luồng chính bận rộn làm chậm trễ phản hồi cho một tương tác của người dùng.

Việc này giống như đo thời gian từ khi ai đó bấm chuông cửa đến khi họ trả lời cửa. Nếu quá trình này mất nhiều thời gian, có thể có nhiều lý do. Ví dụ: có thể người đó đang ở xa cửa hoặc không thể di chuyển nhanh. Tương tự như vậy, các trang web có thể đang bận thực hiện công việc khác hoặc thiết bị của người dùng có thể bị chậm.

Khám phá FID trong Báo cáo trải nghiệm người dùng trên Chrome

Với dữ liệu FID trong 1 tháng từ hàng triệu nguồn gốc, đã có rất nhiều thông tin chi tiết thú vị để khám phá. Hãy xem xét một số truy vấn minh hoạ cách trích xuất những thông tin chi tiết này từ Báo cáo trải nghiệm người dùng trên Chrome trên BigQuery.

Hãy bắt đầu bằng cách truy vấn tỷ lệ phần trăm trải nghiệm FID nhanh cho developers.google.com. Chúng ta có thể định nghĩa trải nghiệm nhanh là trải nghiệm trong đó FID dưới 100 mili giây. Theo đề xuất RAIL, nếu độ trễ là 100 mili giây trở lên, người dùng sẽ cảm thấy trải nghiệm đó tức thì.

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'

Kết quả cho thấy 95% trải nghiệm FID trên nguồn gốc này được coi là tức thì. Điều đó trông có vẻ rất hay, nhưng so với tất cả nguồn gốc trong tập dữ liệu thì như thế nào?

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

Kết quả của truy vấn này cho thấy 84% trải nghiệm FID dưới 100 mili giây. Vì vậy, Developers.google.com ở mức trên trung bình.

Tiếp theo, hãy thử cắt lát dữ liệu này để xem có sự khác biệt giữa tỷ lệ phần trăm FID nhanh trên máy tính so với thiết bị di động hay không. Có một giả thuyết cho rằng thiết bị di động có giá trị FID chậm hơn, có thể là do phần cứng chậm hơn so với máy tính. Nếu CPU kém mạnh, CPU có thể bận hơn trong thời gian dài hơn và dẫn đến trải nghiệm FID chậm hơn.

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%
điện thoại 79,9%
máy tính bảng 76,48%

Kết quả này chứng thực giả thuyết của chúng tôi. Máy tính có mật độ trải nghiệm FID nhanh tích luỹ cao hơn so với kiểu dáng của điện thoại và máy tính bảng. Để hiểu lý do có những sự khác biệt này, chẳng hạn như hiệu suất CPU, sẽ cần tiến hành thử nghiệm A/B bên ngoài phạm vi của Báo cáo trải nghiệm người dùng trên Chrome.

Giờ đây, khi đã biết cách xác định xem một nguồn gốc có trải nghiệm FID nhanh hay không, hãy cùng xem một số nguồn gốc hoạt động rất hiệu quả.

Ví dụ 1: http://secretlycanadian.com

Cuộn phim WebPageTest của secretlycanadian.com

Nguồn gốc này có 98% trải nghiệm FID dưới 100 mili giây. Họ làm điều đó như thế nào? Phân tích cách xây dựng lớp này trong WebPageTest, chúng ta có thể thấy rằng đây là một trang WordPress có nhiều hình ảnh nhưng có 168 KB JavaScript có thể thực thi trong khoảng 500 mili giây trên máy tính của chúng tôi. Theo HTTP Archive, đây không phải là quá nhiều JavaScript, khiến trang này được đặt ở phân vị thứ 28.

Thác nước AWebPageTest của secretlycanadian.com

Thanh màu hồng kéo dài từ 2,7 đến 3 giây là giai đoạn Phân tích cú pháp HTML. Trong thời gian này, trang không tương tác và có vẻ như không đầy đủ về mặt hình ảnh (xem phần "3.0" trong cuộn phim ở trên). Sau đó, mọi tác vụ dài cần được xử lý sẽ được chia nhỏ để đảm bảo luồng chính vẫn hoạt động. C��c đư��ng màu hồng trên hàng 11 minh hoạ cách hoạt động của JavaScript được trải rộng trong các gói nhanh.

Ví dụ 2: https://www.wtfast.com

Cuộn phim WebPageTest của wtfast.com

Nguồn gốc này mang đến trải nghiệm FID 96% tức thì. Trình thu thập thông tin tải 267 KB JavaScript (phân vị thứ 38 trong Lưu trữ HTTP) và xử lý mã trong 900 mili giây trên máy tính trong phòng thí nghiệm. Cuộn phim cho thấy trang mất khoảng 5 giây để vẽ nền và thêm khoảng 2 giây để vẽ nội dung.

Thác nước WebPageTest của wtfast.com

Điều thú vị nhất về kết quả là không có nội dung tương tác nào hiển thị trong khi luồng chính đang bận từ 3 đến 5 giây. Thực ra FCP của trang này chậm nên đã giúp cải thiện FID. Đây là một ví dụ hay về tầm quan trọng của việc sử dụng nhiều chỉ số để thể hiện trải nghiệm người dùng.

Bắt đầu khám phá

Bạn có thể tìm hiểu thêm về FID trong tập tuần này của Trạng thái web:

Khi có FID trong Báo cáo trải nghiệm người dùng trên Chrome, chúng tôi có thể thiết lập cơ sở cho các trải nghiệm tương tác. Bằng cách sử dụng đường cơ sở này, chúng ta có thể quan sát thấy sự thay đổi của mô hình này trong các bản phát hành sau này hoặc đo điểm chuẩn các nguồn gốc riêng lẻ. Nếu bạn muốn bắt đầu thu thập FID trong các phép đo trường trên trang web của riêng mình, hãy đăng ký dùng thử theo nguyên gốc bằng cách truy cập bit.ly/event-timing-ot và chọn tính năng Event Timing. Và tất nhiên, hãy bắt đầu khám phá tập dữ liệu để có những thông tin chi tiết thú vị về trạng thái tương tác trên web. Đây vẫn là một chỉ số thử nghiệm, vì vậy vui lòng chia sẻ ý kiến phản hồi của bạn và chia sẻ thông tin phân tích của bạn trên nhóm thảo luận về Báo cáo trải nghiệm người dùng trên Chrome hoặc @ChromeUXReport trên Twitter.