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 phối và sự phát triển của hiệu suất thực tế của người dùng. Đến nay, chúng tôi tập trung vào các chỉ số vẽ và tải trang như Hiển thị nội dung đầu tiên (FCP) và Onload (OL). Những chỉ số này đã giúp chúng tôi hiểu được hiệu quả hoạt động của trang web trực quan đối với người dùng. Kể từ bản phát hành tháng 6 năm 2018, chúng tôi đang thử nghiệm một chỉ số mới tập trung vào người dùng, tập trung vào khả năng tương tác của các trang web: Thời gian phản hồi lần tương tác đầu tiên (FID). Chỉ số mới này sẽ giúp chúng tôi hiểu rõ hơn cách trang web thích ứng hoạt động 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, có nghĩa là các trang web có thể chọn tham gia thử nghiệm với tính năng nền tảng web mới này. 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 một chỉ số thử nghiệm, nghĩa là FID sẽ có sẵn trong suốt 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à cách xác định thời gian này trong bài đăng trên blog thông báo về Thời gian phản hồi lần tương tác đầu tiên:

Độ trễ đầu vào đầu tiên (FID) đo thời gian 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 đường liên kết, nhấn vào nút hoặc sử dụng một chế độ điều khiển tuỳ chỉnh, hỗ trợ JavaScript) đến thời điểm trình duyệt thực sự có thể phản hồi lượt tương tác đó.

Ảnh động minh hoạ cách một luồng chính bận sẽ trì hoãn phản hồi cho một hoạt động tương tác của người dùng.

Việc này giống như đo thời gian từ khi nhấn chuông cửa cho đến khi họ trả lời cửa. Nếu việc này mất nhiều thời gian thì có thể có nhiều lý do. Ví dụ: có thể người đó ở xa cửa hoặc có thể họ không di chuyển nhanh được. Tương tự như vậy, các trang web có thể 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ể chạy 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 một tháng từ hàng triệu nguồn gốc, đã có rất nhiều thông tin chi tiết thú vị được khám phá. Hãy xem một vài truy vấn minh họa 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 của 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ể xác định trải nghiệm nhanh là trải nghiệm trong đó FID dưới 100 mili giây. Theo đề xuất của RAIL, nếu độ trễ từ 100 mili giây trở lên, người dùng sẽ cảm thấy 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 ở nguồn gốc này được coi là tức thì. Điều đó có vẻ thực sự tốt, nhưng nó so sánh như thế nào với tất cả điểm gốc trong tập dữ liệu?

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. Do đó, Developers.google.com ở trên mức trung bình.

Tiếp theo, hãy thử phân tách 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 trên thiết bị di động hay không. Một giả thuyết là 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 để bàn. Nếu CPU kém mạnh mẽ hơn, CPU này có thể sẽ hoạt động 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.90%
máy tính bảng 76.48%

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

Hiện tại, chúng ta đã 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 xem xét 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. Làm cách nào để thực hiện điều này? Phân tích cách tạo trang này trong WebPageTest, chúng ta có thể thấy rằng đây là một trang WordPress khá nhiều hình ảnh nhưng có 168 KB JavaScript, thực thi trong khoảng 500 mili giây trên máy phòng thí nghiệm của chúng tôi. Theo HTTP Archive thì trang này không nằm ở 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,0 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 được và có vẻ không hoàn chỉnh về mặt hình ảnh (xem "phiên bả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 rằng 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 theo loạt ảnh.

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

Cuộn phim WebPageTest của wtfast.com

Nguồn gốc này có 96% trải nghiệm FID tức thì. Trình phân tích cú pháp này tải 267 KB JavaScript (phân vị thứ 38 trong HTTP Archive) và xử lý trong 900 mili giây trên máy phòng thí nghiệm. Cuộn phim cho thấy trang mất khoảng 5 giây để vẽ nền và mất khoảng 2 giây nữa để 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ó gì tương tác thậm chí hiển thị trong khi luồng chính bận từ 3 đến 5 giây. Thực ra thì tốc độ FCP của trang này giúp cải thiện FID. Đây là một ví dụ điển hình 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:

Việc có FID trong Báo cáo trải nghiệm người dùng trên Chrome giúp chúng tôi thiết lập cơ sở về trải nghiệm tương tác. Khi sử dụng đường cơ sở này, chúng ta có thể quan sát sự thay đổi của nó 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 chỉ số đo lường trường trên trang web của riêng bạn, hãy đăng ký dùng thử theo nguyên gốc bằng cách truy cập bit.ly/event-timing-ot rồi chọn tính năng Thời gian sự kiện. Và tất nhiên, hãy bắt đầu khám phá tập dữ liệu để biết 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 và chia sẻ thông tin phân tích của bạn qua 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.