IRC log of webperf on 2016-09-23

Timestamps are in UTC.

01:40:49 [rniwa]
rniwa has joined #webperf
06:23:38 [yoav]
yoav has joined #webperf
06:33:10 [yoav]
yoav has joined #webperf
07:28:15 [yoav]
yoav has joined #webperf
07:35:56 [yoav]
yoav has joined #webperf
07:36:39 [cristi]
cristi has joined #webperf
07:43:25 [yoav]
yoav has joined #webperf
08:00:49 [Zakim]
Zakim has joined #webperf
08:01:15 [xiaoqian]
zakim, this is TPAC WebPerf WG Meeting
08:01:15 [Zakim]
got it, xiaoqian
08:04:31 [n8s]
n8s has joined #webperf
08:08:29 [plh]
plh has joined #webperf
08:10:16 [xiaoqian]
present+ igrigorik, toddreisteck, yoav, nolanlawson, rniwa, keiji, shubhie, xiaoqian, Nathan_Schloss, smaug
08:10:22 [xiaoqian]
chair: igrigorik
08:10:22 [rniwa]
rniwa has joined #webperf
08:10:27 [xiaoqian]
scribe: xiaoqian
08:11:45 [yoav]
yoav has joined #webperf
08:15:26 [xiaoqian]
Topic: Long Task API proposal
08:15:43 [smaug]
smaug has joined #webperf
08:16:03 [xiaoqian] -> Long Task proposal
08:16:57 [xiaoqian]
shubhie: entryType is going to be “longtask”
08:17:48 [xiaoqian]
yoav: if I have a iframe that taking a long task, I will just see the iframe loading?
08:17:52 [xiaoqian]
shubhie: right
08:18:34 [bz]
bz has joined #webperf
08:19:01 [xiaoqian]
smaug: Is there still possible security issue?
08:19:22 [xiaoqian]
shubhie: we got a detail privacy discussion section
08:19:41 [xiaoqian]
08:21:06 [xiaoqian]
rniwa: if you are the only one top-level, you don't have guarantee the long task have the iframe
08:21:53 [xiaoqian]
present+ Paul_Irish
08:22:03 [surma]
surma has joined #webperf
08:22:12 [xiaoqian]
keiji: you can tell if there is other tab opened
08:22:40 [xiaoqian]
s/you can tell/you can't tell
08:23:57 [xiaoqian]
smaug: you don't know other window or tab that running the process
08:24:19 [xiaoqian]
yoav: with high probability
08:24:40 [xiaoqian]
shubhie: we have some informal discussion about security
08:24:55 [xiaoqian]
igrigorik: we have two tabs opened, that share the same process
08:26:05 [xiaoqian]
keiji: if you have multiple tabs, you need the baseline, and see if it's moving or not
08:27:05 [xiaoqian]
nolanlawson: you can only succeed the attack if the task takes longer than 15ms
08:27:43 [xiaoqian]
yoav: the end goal of this reporting API is that there would be 0 long tasks
08:28:40 [xiaoqian]
igrigorik: if there's an iframe, with a unload, which include only JS, is it still the same attack?
08:30:01 [xiaoqian]
... but the concern is a fair point, worthy further discussing with the sec team
08:30:23 [xiaoqian]
smaug: will it be useful to start from same-origin?
08:30:41 [xiaoqian]
toddreifsteck: publishers want this
08:31:34 [xiaoqian]
shubhie: [demo on prototypes]
08:33:42 [xiaoqian]
yoav: if a long task never ends, when will it get reported?
08:34:19 [xiaoqian]
shubhie: on mobile it's uncertain
08:36:05 [xiaoqian]
... in v2, if there's a single script, it's easy to point to it
08:36:49 [xiaoqian]
... the way we came up with this is from the RAIL guideline
08:38:17 [xiaoqian]
08:39:55 [xiaoqian]
shubhie: 50ms is the default, but the users can set it
08:40:29 [xiaoqian]
s/than 15ms/than 50ms
08:42:20 [xiaoqian]
igrigorik: 50ms is just a user presumption
08:43:27 [xiaoqian]
[demo of a partial implementation]
08:43:54 [xiaoqian] -> Chrome Canary 55.0
08:44:47 [xiaoqian]
igrigorik: wiki is top level page, if there's a script running, so I will only see the name of the page?
08:44:58 [xiaoqian]
shubhie: right
08:45:52 [xiaoqian]
nolanlawson: Does it mean it's extremely useful for same-origin?
08:45:58 [xiaoqian]
shubhie: true for V1
08:46:15 [xiaoqian]
s/extremely/not extremely
08:46:58 [xiaoqian]
toddreifsteck: should we put URL is a string format?
08:48:04 [xiaoqian]
igrigorik: most developers don't have the concept of top-level things
08:48:54 [xiaoqian]
n8s: good to have information for script and layout
08:51:08 [xiaoqian]
toddreifsteck: does developers really need browsers to show tasks?
08:51:52 [xiaoqian]
yoav: what can developers do if there are long tasks? when there are many long sub-task?
08:52:48 [xiaoqian]
nolanlawson: with micro tasks you can deceive this interaction
08:54:01 [xiaoqian]
rniwa: show attribution is uncomfortable in the cross origin cases
08:54:20 [xiaoqian]
igrigorik: true but no way to avoid it
08:56:23 [xiaoqian]
rniwa: many media sites may have long task ads
08:56:41 [rniwa]
s/task ads/task besides ads/
08:57:00 [xiaoqian]
toddreifsteck: long task provides hints which is useful for the perf team of the publishers
08:59:24 [xiaoqian]
keiji: is v1 just for first party?
08:59:54 [xiaoqian]
igrigorik: for 1st party, there is less concern for privacy and sec
09:02:44 [xiaoqian]
slightlyoff: inters-observer, maybe not colour the links, but we can do better by colouring between :visited
09:03:10 [xiaoqian]
... we only colour the link you throw to chain
09:04:01 [xiaoqian]
... that's data we want to get, so that's the next step
09:04:22 [xiaoqian]
... if the impact isn't too large, it will simplify the process
09:04:53 [xiaoqian]
toddreifsteck: the timing attack is an issue for visited history
09:05:34 [xiaoqian]
n8s: double-click things isn't too back
09:06:19 [xiaoqian]
yoav: it will help to increase the functionality for visited links, for designers
09:06:22 [n8s]
*double keying
09:06:57 [xiaoqian]
s/double-click things isn't too back/double-key things isn't too bad
09:08:33 [xiaoqian]
shubhie: there are considerations what can the we see in terms of URLs and attributes? when you are in the same iframe tree?
09:10:18 [xiaoqian]
... cross-origin, different tabs, vendors
09:12:22 [xiaoqian]
toddreifsteck: v1.5, I think should be breaking down the sub-tasks
09:14:08 [xiaoqian]
rniwa: the most important to have the information, whether it's layout, or...
09:16:23 [xiaoqian]
toddreifsteck: does it really provide HR time stamp to ads?
09:17:04 [xiaoqian]
shubhie: for script, we provide inform about run, next one is layout
09:18:28 [xiaoqian]
igrigorik: so you got a long task, that has an array of TaskAttributionsTiming...
09:18:51 [xiaoqian]
toddreifsteck: we would want to have sub- in this list, but we will run into privacy and sec
09:19:40 [xiaoqian]
shubhie: only show those exceed 50ms
09:19:42 [esprehn]
esprehn has joined #webperf
09:21:07 [xiaoqian]
toddreifsteck: first question, is it the script or the style?
09:21:42 [xiaoqian]
rniwa: information about what the script is doing matters
09:24:32 [xiaoqian]
yoav: can you trigger style recount by script?
09:26:13 [xiaoqian]
toddreifsteck: if that's a script that change the class, what will be the type?
09:26:36 [xiaoqian]
shubhie: it will show up as script in the current design
09:27:05 [xiaoqian]
toddreifsteck: will be useful to have hint about layout re-count
09:29:08 [xiaoqian]
rniwa: creating these arrays is expensive
09:31:22 [xiaoqian]
smaug: if every listeners need to call these benchmarks, that's going to cost
09:32:32 [xiaoqian]
shubhie: The clock in Chrome is machine dependent
09:34:50 [xiaoqian]
n8s: we sometimes do expensive perf measure, if there's value inside
09:38:46 [xiaoqian]
rniwa: it make sense to have simple inform whether there will be expensive layout
09:39:23 [xiaoqian]
toddreifsteck: chrome, same-origin, behind the flag
09:39:40 [xiaoqian]
shubhie: waiting for feedback from other vendors
09:41:00 [xiaoqian]
... attributions, good to show string content URL, should we have more information other than just showing the type?
09:42:16 [xiaoqian]
toddreifsteck: TaskAttrTiming is flexible...
09:43:34 [xiaoqian]
Paul_Irish: whether to provide detail for startTime and duration
09:56:13 [xiaoqian]
s/whether to provide detail/perhaps provide less detail
09:57:47 [xiaoqian]
RRSAgent, make minutes
09:57:47 [RRSAgent]
I have made the request to generate xiaoqian
09:58:10 [xiaoqian]
RRSAgent, make log public
10:00:03 [shubhiepanicker]
shubhiepanicker has joined #webperf
10:00:07 [xiaoqian]
RRSAgent, make minutes
10:00:07 [RRSAgent]
I have made the request to generate xiaoqian
10:00:32 [yoav]
yoav has joined #webperf
10:01:06 [rniwa]
rniwa has joined #webperf
10:01:23 [n8s]
n8s has joined #webperf
10:06:12 [xiaoqian]
present+ RickB
10:06:32 [xiaoqian]
present+ slightlyoff
10:07:32 [xiaoqian]
Topic: Passive Event Listeners
10:09:14 [paul_irish]
10:09:26 [xiaoqian]
RickB: [demo for scroll jank]
10:10:31 [paul_irish]
paul_irish has joined #webperf
10:10:37 [ojan]
ojan has joined #webperf
10:10:44 [paul_irish]
10:12:51 [xiaoqian]
10:16:59 [xiaoqian]
RickB: we need an API for developers to indicate that they will never call preventDefault
10:17:07 [xiaoqian]
10:17:51 [xiaoqian]
smaug: are you going to ship interventions in a separated spec?
10:18:08 [xiaoqian]
RickB: Yep, it's in the WICG now
10:21:08 [xiaoqian]
rniwa & smaug: Like the idea of interventions, but not comfortable to "ship" it in WICG
10:22:40 [xiaoqian]
slightlyoff: Open discussion in WICG aims to get consensus
10:24:47 [xiaoqian]
RickB: -> passive touch listeners discussion
10:25:14 [xiaoqian]
... webkit has passive event listener
10:32:30 [xiaoqian]
... our priority list is touch, wheel@, keyboard
10:35:01 [xiaoqian]
toddreifsteck: keyboard performance is a problem worthy looking into for us
10:38:42 [xiaoqian]
Paul_Irish: there should be scroll latency
10:41:03 [xiaoqian]
RickB: touch-to-start-scroll is our key metric
10:43:18 [xiaoqian]
n8s: measurement cross browsers doesn't make much sense
10:51:05 [xiaoqian]
Elliot: Is it possible to have timeline for user interactions?
10:54:42 [xiaoqian]
rickB: make sense to have someone start from what to measure
10:56:56 [yoav]
10:59:51 [xiaoqian]
RickB: is performance timeline polyfill-able?
11:00:04 [xiaoqian]
11:01:24 [esprehn]
11:07:51 [xiaoqian]
RRSAgent, make minutes
11:07:51 [RRSAgent]
I have made the request to generate xiaoqian
11:30:25 [smaug]
smaug has joined #webperf
11:38:28 [smaug]
smaug has joined #webperf
11:54:44 [yoav]
yoav has joined #webperf
11:59:35 [smaug]
smaug has joined #webperf
12:17:02 [smaug]
smaug has joined #webperf
12:37:40 [rniwa]
rniwa has joined #webperf
12:39:33 [xiaoqian]
present+ Ojan
12:39:36 [yoav]
yoav has joined #webperf
12:42:28 [xiaoqian]
Topic: Progressive Web Metrics
12:42:33 [n8s]
n8s has joined #webperf
12:47:28 [xiaoqian]
PI: First Content to Paint - First Meaningful Paint - Time to Interact
12:48:02 [xiaoqian]
s/- Time to Interact/ - Visually Complete - Time to Interact
12:48:52 [xiaoqian]
12:50:56 [xiaoqian]
shubhie: -> explainer for PerformanceFirstPaintTiming & PerformanceFirstContentfulPaintTiming
12:52:30 [xiaoqian]
... the definition is the first non-blank for the browser
12:52:45 [xiaoqian]
... more user facing than developer facing
12:53:24 [xiaoqian]
... non-white might be slightly less than non-blank
12:55:59 [xiaoqian]
toddreifsteck: shouldn't it be the first-non-change for background?
12:56:13 [xiaoqian]
rniwa: right, user style sheet
12:56:29 [xiaoqian]
yoav: whenever user see something happen?
12:57:05 [xiaoqian]
PI: That's different, browser might change to white when it gets HTML
12:57:27 [xiaoqian]
ojan: we don't want to define it by color
12:58:12 [xiaoqian]
PI: first paint for something user can recognise
12:59:46 [xiaoqian]
rniwa: using colour is weird, what if your site is complete blue
13:01:33 [xiaoqian]
toddreifsteck: content for paint, in the pipeline, is it possible to slow down?
13:01:56 [xiaoqian]
rniwa: just painting once will slow down everything
13:03:03 [xiaoqian]
toddreifsteck: I suspect first paint will be slow among different engines
13:03:29 [xiaoqian]
s/will be slow/will be slight different
13:04:36 [xiaoqian]
rniwa: first contentful paint, if you have blue background with background text
13:05:46 [plh]
plh has joined #webperf
13:06:48 [xiaoqian]
... whenever you paint something different from the box model
13:07:53 [xiaoqian]
n8s: if you already have good FP, if you want to improve FCP
13:08:45 [xiaoqian]
... then definition of first-non-bg doesn't make sense
13:11:09 [xiaoqian]
Ojan: the first thing that user would consider as content... may not the colour change
13:11:49 [xiaoqian]
... we should consider bg-image as image
13:12:18 [xiaoqian]
... your definition for FP might be better than non-white
13:12:26 [xiaoqian]
toddreifsteck: Any data?
13:12:47 [xiaoqian]
shubhie: not for this definition, coming soos
13:12:56 [xiaoqian]
13:13:06 [n8s]
n8s has joined #webperf
13:13:27 [xiaoqian] -> early examples
13:13:50 [paul_irish]
paul_irish has joined #webperf
13:14:42 [xiaoqian]
toddreifsteck: what about the processing model for paint?
13:15:07 [xiaoqian]
rniwa: how does houdini paint?
13:15:39 [xiaoqian]
ojan: every time you hook into the element?
13:15:57 [xiaoqian]
ian: the closest thing is HTML paint
13:16:33 [xiaoqian]
... an update in the rendering
13:17:11 [xiaoqian]
toddreifsteck: do you want before or after layout?
13:17:24 [xiaoqian]
ojan: there's a lot of time after layout
13:18:16 [xiaoqian]
PI: define it as the latest timestamp you can commit to or after layout
13:21:30 [xiaoqian]
rniwa: add step 13 as a checkpoint
13:25:00 [xiaoqian]
esprehn: the timing recorded when the page is visible, but it may not come due to 16ms...
13:26:38 [xiaoqian]
ojan: the time you include is the time after you painting and capable to run the next
13:27:16 [xiaoqian]
toddreifsteck: one of our major concern is the black magic time
13:27:57 [xiaoqian]
ojan: you don't compose a iframe...
13:30:23 [xiaoqian]
rniwa: just measuring the main thread, if it's busy
13:30:53 [xiaoqian]
ojan: the browser will try to run a if the main thread is busy
13:31:35 [xiaoqian]
rniwa: we may not send it in time to the window
13:32:22 [xiaoqian]
esprehn: true, there's a glass time, even all the window server are visible
13:33:45 [xiaoqian]
ojan: the question how close we can get to perfect
13:34:56 [xiaoqian]
toddreifsteck: we don't have a good way to report that number
13:35:30 [xiaoqian]
esprehn: you can measure between the CA and the paint
13:37:35 [xiaoqian]
igrigorik: we did some test, many pages didn't reach the stage to paint
13:38:44 [xiaoqian]
... in nav l2, we killed performance entry after
13:39:19 [xiaoqian]
... we could create an Performance paint timing interface
13:39:40 [xiaoqian]
... still be a separated event
13:40:07 [xiaoqian]
rniwa: we may not be able to kill it immediately
13:40:26 [xiaoqian]
keiji: is it really about paint?
13:40:36 [xiaoqian]
toddreifsteck: user timeline??
13:40:38 [rniwa]
s/kill it/add it/
13:41:47 [xiaoqian]
shubhie: try not to make it paint specific
13:45:21 [xiaoqian]
... something similar to paint timing, with different entry names
13:48:59 [bkardell_]
bkardell_ has joined #WebPerf
13:56:34 [xiaoqian]
Topic: Time-to-Interactive
14:02:24 [xiaoqian] -> slides for PW Metrics
14:04:29 [yoav]
yoav has joined #webperf
14:05:29 [n8s]
n8s has joined #webperf
14:12:40 [xiaoqian]
paul_irish: TTI is a time stamp when a page is loaded and ready for the user to interactive
14:13:30 [xiaoqian]
... when we have a page load, look for a window without tasks longer than 50ms
14:14:52 [xiaoqian]
igrigorik: why 10s?
14:15:09 [xiaoqian]
paul_irish: we found some data from gmail
14:16:28 [xiaoqian]
... the first user interaction is near 3s
14:19:41 [xiaoqian]
igrigorik: interaction is safe when you have no long tasks?
14:20:04 [xiaoqian]
paul_irish: we ran this definition on the top 9000 sites
14:21:14 [xiaoqian]
... it feels good
14:22:24 [xiaoqian]
... you can have busy main thread, and still have long task
14:23:34 [xiaoqian]
rniwa: have anybody tried to interact before 10s?
14:24:32 [xiaoqian]
ojan: the user experience can be terrible
14:25:36 [xiaoqian]
igrigorik: if we have long task input event...
14:26:05 [xiaoqian]
paul_irish: queuing time
14:28:32 [xiaoqian]
slightlyoff: in the case you load the page, you may try to interact; it gives us a way to estimate the content load
14:30:08 [xiaoqian]
yoav: it's possible that the page is interactive before TTI
14:30:51 [xiaoqian]
esprehn: no one of these pieces is enough, unless they come together
14:32:22 [bz]
bz has joined #webperf
14:33:03 [xiaoqian]
rniwa: how does TTI if the user decide to interact in the other way?
14:33:12 [xiaoqian]
paul_irish: it gets a push-back
14:35:56 [xiaoqian]
ojan: there might be sites that don't need this metric, but the majority of sites meet the best practice
14:36:15 [xiaoqian]
n8s: is it harder to measure by long task?
14:36:49 [xiaoqian]
igrigorik: what will be the first class API for this mission?
14:38:01 [xiaoqian]
yoav: there is not yet a golden standard in the industry
14:40:18 [xiaoqian]
nolanlawson: this can be deviceve into long task
14:40:37 [nolanlawson]
14:41:18 [nolanlawson]
14:41:33 [xiaoqian]
rick: how about starting from a open source lib based on long task and collect data
14:44:56 [xiaoqian]
toddreifsteck: is there value or possibility to look for a number to estimate TTI?
14:46:23 [Zakim]
Zakim has left #webperf
14:46:46 [xiaoqian]
slightlyoff: when people spend a long time on a file or a page, is it reasonable to load a script during which?
14:46:53 [Zakim]
Zakim has joined #webperf
14:48:45 [xiaoqian]
Topic: Hero Element Timing
14:48:59 [xiaoqian] -> Hero Timing proposal
14:50:57 [xiaoqian]
shubhie: we want a time frame when the page is meaningfully rendered
14:53:32 [xiaoqian]
... you can have a attribute on any element to annotate the hero element
14:59:31 [n8s]
n8s has joined #webperf
15:01:21 [xiaoqian]
rniwa: end time is more useful than start loading for large images
15:01:44 [xiaoqian]
esprehn: image things should be treated differently
15:05:01 [xiaoqian]
... for v1, don't provide information for CORS images
15:09:15 [xiaoqian]
shubhie: should we limit the number of the element people annotate? - not doing it at the moment
15:09:43 [xiaoqian]
rniwa: suggest name it element timing API
15:09:58 [rniwa]
or Element Paint Timing API
15:12:32 [xiaoqian] -> parse, tokenize, render discussion
15:16:23 [JFSIII]
JFSIII has joined #webperf
15:17:55 [yoav]
yoav has joined #webperf
15:21:15 [xiaoqian]
n8s: insert into DOM, when the thing come from the server and hit the document
15:25:11 [xiaoqian]
yoav: so FMP is when all the hero elements are painted in the viewport?
15:25:17 [xiaoqian]
15:25:53 [xiaoqian]
Topic: Dependency Trees
15:26:23 [xiaoqian]
action: yoav to write a proposal on Dependency Trees
15:26:23 [trackbot]
Created ACTION-174 - Write a proposal on dependency trees [on Yoav Weiss - due 2016-09-30].
15:42:16 [xiaoqian]
Topic: Chrome Reflector
15:42:22 [xiaoqian]
[free discussion]
15:42:36 [xiaoqian]
Q1: How many data are we going to expose?
15:44:22 [xiaoqian]
Q2: Security and Privacy Review When is a good time to start the review? Third party ( web apps & analysis team)? Who is reading the data?
15:44:43 [xiaoqian]
RRSAgent, make minutes
15:44:43 [RRSAgent]
I have made the request to generate xiaoqian
15:54:25 [yoav]
yoav has joined #webperf
16:37:35 [smaug]
smaug has joined #webperf
16:40:23 [yoav]
yoav has joined #webperf
16:41:28 [yoav]
yoav has joined #webperf
16:47:23 [Zakim]
Zakim has left #webperf
17:11:26 [xiaoqian]
RRSAgent, bye
17:11:26 [RRSAgent]
I see 3 open action items saved in :
17:11:26 [RRSAgent]
ACTION: plh to update the test, and the pull request [1]
17:11:26 [RRSAgent]
recorded in
17:11:26 [RRSAgent]
ACTION: n8s to write a proposal on processor speed & memory [2]
17:11:26 [RRSAgent]
recorded in
17:11:26 [RRSAgent]
ACTION: yoav to write a proposal on Dependency Trees [3]
17:11:26 [RRSAgent]
recorded in