[Lan Xie Notes] Improving User Perceived Page Load Time Using Gaze (NSDI 2017)

2017-11-11

Posted by 谢澜

用户在浏览网页时,网页的加载时间(PLT)是一个衡量用户体验的重要目标。然而,传统的评价指标,如OnLoad、Speed Index却不能反映用户的对于网页是否加载完成的真实感受。因此,本文提出了 用户感知的网页加载时间 (uPLT) 一主观指标,并用user study证明了该主观指标和传统的客观指标存在着差异。其次,本文提出了一种提高uPLT的网页加载方法WebGaze,该方法对于统计上用户比较关注的区域会先加载、对于用户不关注的区域后加载,以降低uPLT。实验比较了另外三种方法和WebGaze的性能,结果表明,WebGaze可以很大程度上降低uPLT,提高用户体验。


Key Points

1. Problem

To improve user-perceived page load time (uPLT), the objects in the page can be loaded prioritized. WebGaze encodes the intuition that loading “important” objects sooner improves user experience.

2. Challenges

  • Scalability: personalizing the page load for each user according to their gaze does not scale to a large number of users. (规模性的问题,对所有用户的个性化网页加载不好实现)
  • Deployability: performing on-the-fly optimizations based on eye gaze is infeasible since page loads are short-lived and the gaze tracker hardware may not be available with every user. (实时性和可部署性问题)

3. Main Idea

1) The gaze user study shows that most users are drawn to similar objects on a page. They divide the page into visuallt distinctive areas (regions) and define the collective fixation of a region as the fraction of users who fixate their gaze on the region.

2) Then, they uses the HTTP/2 Server Push mechanism to prioritzie loading objects on the page that exhibit high degree of collective fixation.

Benifits: WebGaze does not require gaze tracking on-the-fly or require that every user participates in gaze tracking, as long as enough users participate to estimate the collective fixation.

4. Page Load Metrics

There are several metrics to measure Page Load Time (PLT).

OnLoad: It is estimated as the time between when the page is requested and when the On-Load event is fired by the browser. The OnLoad event is fired when all objects (including the unvisible parts and the About-the-Fold (AFT) content) on the page are loaded.

Speed Index: It is defined as the average time for all AFT content to appear on the screen. However, it does not take into account the relative importance of the content.

uPTL: It is the time between the page request until the time the user ‘perceives’ that the page is loaded. Thus, prioritizing regions with high colective fixation can improve uPLT.

5. uPLT User Study

The process of the user study is:

  1. The page load process is captured as videos to conduct repeatable experiments. The web is randomly selected from Alexa. For the network condition, they consider DSL, WiFi-like and 3G-like.
  2. When the user views the web page loading process, he can press a key on the keyboard to report their perceived page load time. (with user-interaction calibration)

Conclusion: their analysis shows that traditional PLT metrics do not correlate well with uPLT, rendering the effect of existing optimizations on user experience unclear.

6. Gaze Tracking

Conclusion: (1) Several regions have high collective fixation, and (ii) there is a significant number of regions that are relatively unimportant to the users.

7. WebGaze Design and Architecture

WebGaze is based on the intuition that prioritizing the loading of the regions with high collective fixation can improve uPLT.

The process is:

  1. To identify which Web objects to prioritize, they use a simple heuristic: if a region has a collective fixation of over a prioritization threshold (0.7), then the objects in the region will be prioritized.
  2. The system identifies dependencies of each object to be prioritized, and considers these dependent objects for prioritization as well.
  3. WebGaze uses HTTP/2’s Server Push functionality to implement the prioritization.

8. WebGaze Evaluation

Compare with (all videos): 1) Default 2) Push-All 3) Klotski (high utility and visible)

User study: They conduct pairwise comparisons of uPLT (page load using WebGaze and using one of the three alternatives).

Experimental results:

  1. Overall: On an average, WebGaze improves uPLT 17%, 12% and 9% over Defult, Push-All, and Klotski respectively. In about 10% of the cases WebGaze does worse than Default and Push All in terms of uPLT. In about 17% cases, WebGaze is worse than Klotski.
  2. Case Study: When WebGaze Performs Better: 1) Compare WebGaze with Push-All, they find that Push-All delays critical object loads and users see long delays for even the First Paint. Therefore, Push-All tends to increase uPLT. 2) The uPLT improvement compared to Klotski comes from content-aware prioritization. Because, in Klotski, ATF objects are pushed based on whether they will be delivered within 5 seconds. This may not correlate with the objects that the user is interested in.
  3. Case Study: When WebGaze Performs Worse: In these cases, compared with Klotski, WebGaze sends more data (in Bytes) than Klotski does. WebGaze pushed too much data causing bandwidth contention.
  4. Case Study: When WebGaze Performs the Same: This means Server Push did not change performance which indicates that the default page itself is well optimized.