1 / 13

Page Phase Time

Page Phase Time. Chao (Ray) Feng rayfeng@Microsoft.com @crazychao. Problems to Solve. Tells when a user, in his/her mind , considers a web page is “done”.

liv
Download Presentation

Page Phase Time

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Page Phase Time • Chao (Ray) Feng • rayfeng@Microsoft.com • @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 http://ppt.msn-dev.com/report/#/MetrixDetail/16085/

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

  5. Demo http://ppt.msn-dev.com Note: Page Phase Time is a Microsoft research project and this web site will be available until mid of Nov 2013.

  6. Demo • OReilly.com http://ppt.msn-dev.com/report/#/MetrixDetail/68853/

  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 substantialenough by checking the rendering transformation acceleration’s deviation • Record page load cycle into N screenshots (10 frames per second) • Calculate pixel changing velocity • V1, V2, V3, … Vn-1 (where Vi = Pixel change ratio of Screenshot i+1 and screenshot i) • Calculate pixel changing acceleration • a1, a2, a3, … an-2 (where ai = Vi+1 – Vi; if ai < 0, then ai = 0) • Scatter Plot acceleration numbers, and find outliers beyond 1 standard deviation • {A} = ∀{ai > [avg + σ(a)]} • 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. • *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 1st outlier. GoldenSection 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 http://en.wikipedia.org/wiki/Golden_ratio

  12. Algorithm – Finding “Key Phase” and “Key Phase Time” Key Phase • Get tagging areas of all detected phases (use Golden Section as default) • 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) • 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)]} • 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. • @crazychao for any feedback. • Thank you!

More Related