Tuesday, January 5, 2016

What is the best way in 2016 to file a web platform feature request?

What is the best way in 2016 to file a web platform feature request? I'll just go ahead and write it down here and then can paste it elsewhere.

Visual completeness event

An event emitted on a browser some time after the browser determined using some heuristic that the page was visually complete. In practice this should expose https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index to the web platform.

It is important that visual completeness counts all cross origins resources in including iframes. There should also be visual completeness events per iframe and available to the parent frame.

It is not important the event arrives timely. E.g. a browser could delay processing until a good time if it retains necessary data and it would even be OK if the event was only produced at a certain sample rate.

Problem this is solving
There is currently not a single mechanism on the web platform for measuring how fast something loads that could be used as a trustworthy metric to assess how slow or fast something is. One can use the load event, but it is not a proxy for user perception and it is very easy to cheat (let it fire early and do all the work after).
To my knowledge the only thing one can do right now to measure the impact of an iframe is to measure time between animation frames while a resource is loading, which is a super rough proxy for the amount of CPU it is using.

I'm sure there are many problems with this, including timing attacks, information leaks and lack of a robust heuristic, but I think it is time anyway to get our act together and create a web exposed metric for website load time.

Patrick Meenan
https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index