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

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 mức độ 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. Cho đến nay, chúng tôi tập trung vào các chỉ số về lượt vẽ và tải trang như Lượt vẽ nội dung đầu tiên (FCP) và Lượt tải (OL). Các chỉ số này đã 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. 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 tính 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 về khả năng thích ứng của trang web với hoạt động đầu vào của người dùng.

Gần đây, FID đã được cung cấp trong Chrome dưới dạng một thử nghiệm gốc, nghĩa là các trang web có thể chọn 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 một chỉ số thử nghiệm, nghĩa là chỉ số này sẽ có trong thời gian thử nghiệm nguồn gốc trong một không gian tên "thử nghiệm" riêng.

Cách đo lường FID

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

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

Điều này giống như việc đo lường thời gian từ khi nhấn chuông cửa của ai đó đế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 đó ở 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 một tháng từ hàng triệu nguồn gốc, bạn đã có thể khám phá được nhiều thông tin chi tiết thú vị. Hãy xem một vài 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 có 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 đó có vẻ rất tốt, nhưng nó so sánh như thế nào với tất cả các nguồn 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. Vì vậy, Developers.google.com ở mức trên trung bình.

Tiếp theo, hãy thử cắt dữ liệu này để xem liệu có sự khác biệt nào 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. 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, thì CPU đó có thể bận rộ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 độ tích luỹ cao hơn về trải nghiệm FID nhanh so với các kiểu dáng điện thoại và máy tính bảng. Để hiểu lý do dẫn đến những khác biệt này (ví dụ: hiệu suất CPU), bạn cần thử nghiệm A/B ngoài phạm vi 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

Dải 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 để họ làm được điều này? Sau khi 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á nặng về hình ảnh nhưng có 168 KB JavaScript thực thi trong khoảng 500 mili giây trên máy trong phòng thí nghiệm của chúng tôi. Theo HTTP Archive, đây không phải là một lượng JavaScript lớn, giúp trang này nằm trong 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 luôn ở trạng thái yên tĩnh. Các đường màu hồng trên hàng 11 minh hoạ cách công việc JavaScript được phân bổ theo các đợt nhanh chóng.

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 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 tế là tốc độ chậm của FCP của trang này làm 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 Trạng thái của web tuần này:

Việc có FID trong Báo cáo trải nghiệm người dùng trên Chrome cho phép chúng tôi thiết lập đường cơ sở về 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 sự thay đổi của đường cơ sở này trong các bản phát hành trong tương lai hoặc đo điểm chuẩn cho từng nguồn gốc. Nếu bạn muốn bắt đầu thu thập FID trong các phép đo tại chỗ của trang web của riêng mình, hãy đăng ký dùng thử phiên bản gốc bằng cách truy cập vào bit.ly/event-timing-ot rồi chọn tính năng Đo lườ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 này để 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 gửi ý kiến phản hồi và chia sẻ 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 Chrome hoặc @ChromeUXReport trên Twitter.