Presentation is loading. Please wait.

Presentation is loading. Please wait.

Page Phase Time Chao (Ray)

Similar presentations

Presentation on theme: "Page Phase Time Chao (Ray)"— Presentation transcript:

1 Page Phase Time Chao (Ray) Feng @crazychao

2 Problems to Solve  Tells when a user, in his/her mind, considers a web page is “done”. -Not relying on Browser Events (e.g. Onload), Network Timing (e.g. TTLB), Above Fold Time (a.k.a. AFT), any pre-defined thresholds of pixel changes on the screen, or pre-defined UI element injection/tracking  Measures PLT for modern web pages that are being dynamic in rendering.  Platform/Browser/Device independent performance measurement method that can be universally applied

3 Amazon Product Page Onload: 4.7 second 0 second1.7 second1.8 second2.2 second4.1 second

4 A more dynamic web page Page Phase Time4 Phase 0 Phase 1 Phase 2 Phase 3 Phase 4

5 Demo Note: Page Phase Time is a Microsoft research project and this web site will be available until mid of Nov 2013.

6 Demo 

7 Page Phase Time (PPT)  A performance measurement methodology that measures performance based on user perception, by intelligently categorizing a whole page load cycle into major phases, that represent meaningful rendering changes.  How: analyze screenshots or video captures

8 Algorithm – Categorizing Phases  Principle: To detect visual changes that are substantial enough by checking the rendering transformation acceleration’s deviation 1.Record page load cycle into N screenshots (10 frames per second) 2.Calculate pixel changing velocity -V 1, V 2, V 3, … V n-1 (where V i = Pixel change ratio of Screenshot i+1 and screenshot i) 3.Calculate pixel changing acceleration -a 1, a 2, a 3, … a n-2 (where a i = V i+1 – V i ; if a i < 0, then a i = 0) 4.Scatter Plot acceleration numbers, and find outliers beyond 1 standard deviation -{A} = ∀ {a i > [avg + σ(a)]} 5.Filtering out adjacent outliers

9 Algorithm – Categorizing Phases

10 What If We Only Need ONE Number?  Key Phase Time -- the first time that golden section (or similar area*) has most substantial content rendered among all phases.golden section  *Similar area includes center, center top, center right, etc.

11 Algorithm – Finding “Key Phase” and “Key Phase Time”  Principle: Get pixel changing velocity of golden section areas among all phase, and find the 1 st outlier. Golden Section Why choose Golden Section? Web page or any UI design is an art. Artist will always follow this rule of beauty which has impact on human beings for at least 2,400 years. See

12 Algorithm – Finding “Key Phase” and “Key Phase Time” Key Phase 1.Get tagging areas of all detected phases (use Golden Section as default) 2.Calculate *phase* pixel changing velocity -V1, V2, V3, … Vn-1 (where Vi = Pixel change ratio of tag i and tag i-1; for i=1, use first phase’s tagging area to compare with a blank image) 3.Find first outliers beyond 1 standard deviation. The corresponding image is called “image tag”. The corresponding phase will be “Key Phase” and corresponding timing will be “Key Phase Time” -Image Tag = First {ai > [avg + σ(a)]} 4.If the “image tag” found is a blank image (or with only 1 color), loop step 1~3 with other potential tagging area like center, center top, center left, center right, etc.

13 Summary  Page Phase Time is a Platform/Browser/Device independent algorithm, and solves the dynamic web page PLT measurement issue. You may try it with any web page or even mobile apps.  Refer to PPT blog post on O’Reilly for more information.PPT blog post  @crazychao for any feedback. @crazychao  Thank you!

Download ppt "Page Phase Time Chao (Ray)"

Similar presentations

Ads by Google