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