IRC log of webperf on 2016-09-22
Timestamps are in UTC.
- 07:58:50 [RRSAgent]
- RRSAgent has joined #webperf
- 07:58:50 [RRSAgent]
- logging to http://www.w3.org/2016/09/22-webperf-irc
- 07:58:56 [Zakim]
- Zakim has joined #webperf
- 07:59:28 [xiaoqian]
- zakim, this is TPAC Web Performance WG meeting
- 07:59:28 [Zakim]
- got it, xiaoqian
- 08:01:06 [cristi]
- cristi has joined #webperf
- 08:07:11 [yoav]
- yoav has joined #webperf
- 08:11:21 [xiaoqian]
- meeting: TPAC Web Performance WG meeting
- 08:11:26 [xiaoqian]
- chair: igrigorik
- 08:11:35 [xiaoqian]
- present+ igrigorik, toddreisteck, yoav, nolanlawson, rniwa, plh, keiji, shubhie, xiaoqian, Nathan_Schloss
- 08:12:34 [bz]
- bz has joined #webperf
- 08:13:00 [xiaoqian]
- scribe: xiaoqian
- 08:14:32 [xiaoqian]
- Agenda: https://docs.google.com/document/d/1U2DfWlToLlDoJyGvDZytM6VM2p67qisuCOfgnWIclzw/edit#
- 08:17:26 [xiaoqian]
- present+ annevk
- 08:19:55 [kbx]
- kbx has joined #webperf
- 08:20:19 [plh]
- plh has joined #webperf
- 08:20:22 [rniwa]
- rniwa has joined #webperf
- 08:20:28 [n8s]
- n8s has joined #webperf
- 08:20:34 [annevk]
- annevk has joined #webperf
- 08:21:10 [xiaoqian]
- Topic: inconsistent implementation of Timing-Allow-Origin
- 08:21:26 [GuidoGrassel]
- GuidoGrassel has joined #webperf
- 08:21:46 [shubhiepanicker]
- shubhiepanicker has joined #webperf
- 08:22:14 [xiaoqian]
- igrigorik: https://github.com/w3c/resource-timing/issues/62#issuecomment-234623339 -> background
- 08:22:44 [xiaoqian]
- ... it doesn't allow start
- 08:23:01 [xiaoqian]
- annevk: yep, you can't use start
- 08:24:17 [xiaoqian]
- igrigorik: we did some test. some sites use workers. that's why we need that.
- 08:24:52 [xiaoqian]
- ... do we need to introduce syntax?
- 08:25:25 [xiaoqian]
- ... test to allow two origins, Chrome doesn't work.
- 08:25:52 [xiaoqian]
- ... Firefox combine both headers with comma and then time origins don't work
- 08:26:38 [xiaoqian]
- ... should we change the spec definition?
- 08:26:52 [xiaoqian]
- yoav: We need to change all implementation in that way
- 08:27:02 [xiaoqian]
- annevk: That's going to happen
- 08:28:27 [xiaoqian]
- igrigorik: In RT, uses the origin-list-or-null definition from rfc6454
- 08:28:36 [xiaoqian]
- annevk: That's fine
- 08:33:32 [bkardell_]
- bkardell_ has joined #WebPerf
- 08:33:54 [xiaoqian]
- annevk: suggest you should discuss with WebAppSec folks about this solution
- 08:34:26 [xiaoqian]
- RESOLUTION: Update TAO to #( origin-or-null / wildcard )
- 08:35:02 [xiaoqian]
- annevk: the other thing about TAO is you don't require that... worth checking
- 08:35:30 [xiaoqian]
- ... we should integrate with Fetch to make sure that works
- 08:36:03 [xiaoqian]
- igrigorik: right, maybe Level 2 stuffs
- 08:36:19 [xiaoqian]
- Topic: Beacon
- 08:36:24 [annevk]
- The other thing about TAO was about redirect handling, but it seems the semantics do match CORS there
- 08:39:40 [xiaoqian]
- igrigorik: if we do post, your Fetch may stop twice
- 08:40:52 [GuidoGrassel]
- GuidoGrassel has joined #webperf
- 08:42:25 [xiaoqian]
- ... when we define Beacon, we have note for reasonable size
- 08:43:16 [olivexu]
- olivexu has joined #webperf
- 08:43:21 [xiaoqian]
- ... we can do streams, if the environment obj goes away
- 08:43:52 [xiaoqian]
- toddreifsteck: if the stream have not finish when the environment obj ends, that's the problem
- 08:44:10 [xiaoqian]
- igrigorik: should we consider not allow stream
- 08:44:37 [xiaoqian]
- annevk: sounds ok, some one needs to define the process model
- 08:45:17 [xiaoqian]
- s/Topic: Beacon/Topic: Beacon integration with Fetch API
- 08:46:04 [xiaoqian]
- toddreifsteck: if we get this to work, for old browsers, there should be a fallback
- 08:46:52 [xiaoqian]
- annevk: we haven't added it to the spec, depends on the GC
- 08:49:21 [xiaoqian]
- igrigorik: if we are going to throw the error
- 08:49:32 [xiaoqian]
- annevk: type error perhaps
- 08:50:00 [xiaoqian]
- ... should be able to expose more detail
- 08:50:33 [xiaoqian]
- igrigorik: would be good to have more detail from fetch
- 08:51:41 [xiaoqian]
- toddreifsteck: RT is some browsers has problems on this
- 08:52:29 [xiaoqian]
- igrigorik: it might help to get CORS information
- 08:52:52 [xiaoqian]
- ... for same origins, we don't open more connection
- 08:53:14 [xiaoqian]
- annevk: if there are connection error, just expose one bit
- 08:54:10 [xiaoqian]
- igrigorik: if you using same orgins, you already open the DNS
- 08:57:00 [xiaoqian]
- toddreifsteck: do we need to add some to fetch to get information for the body?
- 08:59:43 [xiaoqian]
- annevk: that design was wrong, only the first argument make sense to me
- 09:02:25 [xiaoqian]
- yoav: Do we want a separate flag for Beacon?
- 09:02:35 [xiaoqian]
- [yes]
- 09:03:49 [xiaoqian]
- rniwa: What's the timing for send beacon?
- 09:04:30 [xiaoqian]
- igrigorik: when page is closed, all requests must be sent
- 09:09:14 [xiaoqian]
- annevk: Should the flag tie to keep-alive?
- 09:11:41 [xiaoqian]
- igrigorik: we don't want to over specify it, in v1 keep it simple and allow UA to implement it
- 09:14:02 [xiaoqian]
- rniwa: keep-alive might involve delay
- 09:14:48 [xiaoqian]
- annevk: it don't allow initiating new Fetch
- 09:16:01 [xiaoqian]
- ... so should be a problem
- 09:18:23 [xiaoqian]
- toddreifsteck: we have keep-alive as a short term flag we should add to
- 09:19:53 [xiaoqian]
- ... does the developers use coalescing?
- 09:20:10 [xiaoqian]
- n8s: perhaps, once it's enable
- 09:21:20 [xiaoqian]
- toddreifsteck: we should keep on the discussion for coalescing
- 09:24:44 [GuidoGrassel]
- GuidoGrassel has joined #webperf
- 09:25:20 [xiaoqian]
- RRSAgent, make minutes
- 09:25:20 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/09/22-webperf-minutes.html xiaoqian
- 09:25:32 [xiaoqian]
- RRSAgent, make log public
- 09:27:22 [xiaoqian]
- RRSAgent, drop minutes
- 09:27:22 [RRSAgent]
- I'm logging. I don't understand 'drop minutes', xiaoqian. Try /msg RRSAgent help
- 09:28:23 [yoav]
- yoav has joined #webperf
- 09:29:20 [xiaoqian]
- RRSAgent, make minutes
- 09:29:20 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/09/22-webperf-minutes.html xiaoqian
- 09:39:27 [yoav]
- yoav has joined #webperf
- 09:42:19 [xiaoqian]
- present+ guido_grassel
- 09:43:16 [xiaoqian]
- present+ bz
- 09:52:17 [yoav]
- yoav has joined #webperf
- 09:53:49 [n8s]
- n8s has joined #webperf
- 09:55:09 [xiaoqian]
- present+ paul
- 09:55:15 [xiaoqian]
- Topic: Mechanism to translate timestamps between globals
- 09:55:40 [xiaoqian]
- https://github.com/w3c/hr-time/pull/29 background
- 09:57:39 [xiaoqian]
- igrigorik: we exposed HR time, which is useful for many use cases
- 09:58:15 [xiaoqian]
- ... we also have time origin, for worker, it's fine as it has its own time origin
- 09:58:46 [xiaoqian]
- ... but you will get difference value if you have many workers along the timeline
- 09:59:37 [xiaoqian]
- ... question is how to translate the time stamp between workers
- 09:59:57 [kbx]
- kbx has joined #webperf
- 10:01:30 [xiaoqian]
- toddreifsteck: there's a lot of trade off
- 10:01:54 [xiaoqian]
- igrigorik: opt1 -> see fig.
- 10:02:52 [xiaoqian]
- ... we need a timestamp to tell you what is the zero time
- 10:03:57 [xiaoqian]
- bz: date time doesn't affect date now, when it change timezone
- 10:04:51 [xiaoqian]
- igrigorik: is it a problem to expose the whole timeline?
- 10:05:19 [xiaoqian]
- rniwa: might be a problem
- 10:05:56 [xiaoqian]
- ... you need to set it as a top level changes
- 10:06:12 [xiaoqian]
- toddreifsteck: why/
- 10:07:18 [xiaoqian]
- rniwa: most UA isolate iframes, when the monotonic clock starts, it will...
- 10:08:11 [xiaoqian]
- igrigorik: opt2. use a pick obj, and get a timeOrigin back
- 10:08:27 [xiaoqian]
- ... then figure out what's the offset
- 10:09:06 [xiaoqian]
- n8s: when you post message in the SW, if the window is not ready
- 10:09:19 [Byungjin]
- Byungjin has joined #webperf
- 10:09:25 [xiaoqian]
- bz: the SW will set zero offset before sending
- 10:09:59 [xiaoqian]
- ... it can still send the message
- 10:10:26 [xiaoqian]
- ... what will the SW do about the global offset?
- 10:10:44 [xiaoqian]
- n8s: the window can separately upload the data
- 10:11:04 [xiaoqian]
- toddreifsteck: windows can collaborate things
- 10:12:24 [olivexu]
- olivexu has joined #webperf
- 10:12:43 [taekyu]
- taekyu has joined #webperf
- 10:13:07 [xiaoqian]
- igrigorik: what we need is a HR timestamp to coordinate
- 10:13:56 [xiaoqian]
- yoav: if we expose the timestamp, can we reset and start over for privacy need?
- 10:15:05 [xiaoqian]
- bz: global timeline, is it cross origin?
- 10:16:31 [xiaoqian]
- toddreifsteck: UAs use fingerprints
- 10:17:33 [xiaoqian]
- bz: to implement, browsers start a monotonic clock
- 10:17:58 [xiaoqian]
- ... create timestamp
- 10:18:22 [xiaoqian]
- yoav: if the users have change the clock between the stamps were created
- 10:19:01 [xiaoqian]
- ... the offset between those clock
- 10:19:23 [xiaoqian]
- toddreifsteck: is it an important leap but?
- 10:19:51 [xiaoqian]
- igrigorik: we don't need to visit it twice
- 10:20:11 [xiaoqian]
- ... the zero of the global clock
- 10:20:22 [xiaoqian]
- rniwa: in the current world, you can reset it
- 10:20:39 [xiaoqian]
- yoav: no... cross site, SW
- 10:21:27 [xiaoqian]
- rniwa: iframes for the same origin, you don't expose it, right?
- 10:21:46 [xiaoqian]
- igrigorik: how do you implement it?
- 10:21:49 [xiaoqian]
- rniwa: hash map?
- 10:22:14 [xiaoqian]
- toddreifsteck: fingerprint, is it reusable?
- 10:22:46 [xiaoqian]
- rniwa: it's trackable
- 10:24:28 [xiaoqian]
- bz: we have two clocks which is in-sync
- 10:25:14 [xiaoqian]
- ... it's unreliable if the clocks start drifting
- 10:25:32 [xiaoqian]
- toddreifsteck: currently it's visible to the pages
- 10:27:46 [xiaoqian]
- bz: for the prospect of browser, only system clocks available
- 10:29:18 [xiaoqian]
- rniwa: there may be a timing attack
- 10:29:39 [xiaoqian]
- igrigorik: some browser will limit the HR time to ms
- 10:30:32 [xiaoqian]
- toddreifsteck: you can make it close to HRtime now
- 10:31:05 [xiaoqian]
- yoav: we are not 100% sure there will be privacy concern
- 10:31:44 [xiaoqian]
- n8s: if there's time attack, perhaps you want less data
- 10:32:29 [xiaoqian]
- toddreifsteck: this explosion doesn't add anything to the concern of time attack
- 10:33:51 [xiaoqian]
- igrigorik: if you already in the top level, you can grab and send
- 10:34:21 [xiaoqian]
- rniwa: you do need other origin to cooperate with you
- 10:34:59 [xiaoqian]
- igrigorik: I'm not convince there will be privacy concern
- 10:35:47 [xiaoqian]
- ... we expose something, we are not sure it's bad or not
- 10:36:44 [xiaoqian]
- rniwa: how do you want to coordinate the time between the different processes?
- 10:37:02 [xiaoqian]
- bz: each process will have its own zero time and offset
- 10:37:26 [xiaoqian]
- yoav: can they be sync once in a while?
- 10:37:33 [xiaoqian]
- bz: donno
- 10:38:54 [xiaoqian]
- rniwa: if one of the monotonic clock drifts, how do you collaborate?
- 10:39:27 [xiaoqian]
- yoav: correct your measurement once drifting
- 10:40:01 [xiaoqian]
- toddreifsteck: Is it actually a thing that happen significantly in reality?
- 10:40:19 [xiaoqian]
- ... we can "could"
- 10:40:33 [xiaoqian]
- yoav: when you reset your computer
- 10:40:48 [xiaoqian]
- s/we can "could"/we say "could"
- 10:41:01 [xiaoqian]
- s/significantly/significantly often
- 10:41:47 [xiaoqian]
- rniwa: I don't have more information, only a concern
- 10:42:10 [xiaoqian]
- toddreifsteck: in windows, resetting only happen in a long period of time
- 10:42:54 [xiaoqian]
- igrigorik: does this give us any improvement to expose the drift?
- 10:43:39 [xiaoqian]
- yoav: you will be able to correct the drift only no process if holding the obj
- 10:45:11 [xiaoqian]
- ... if you correct the drift, all the translations will excuse
- 10:46:38 [xiaoqian]
- rniwa: what if you kept a bunch of timestamps, how will you translate them?
- 10:47:29 [xiaoqian]
- bz: every time you create a time origin...
- 10:47:49 [xiaoqian]
- toddreifsteck: there's a method in windows
- 10:48:34 [xiaoqian]
- igrigorik: we have a global time clock...
- 10:48:53 [xiaoqian]
- bz: it will be heavy performance price
- 10:49:20 [xiaoqian]
- igrigorik: we can't solve it without the support of lower level
- 10:49:47 [xiaoqian]
- bz: they can sync up in some way
- 10:50:07 [xiaoqian]
- ... what's problem are we going to solve with time origin?
- 10:50:27 [xiaoqian]
- ... have a nice API
- 10:51:45 [xiaoqian]
- toddreifsteck: this only help solve fingerprints with tracking
- 10:52:02 [GuidoGrassel]
- GuidoGrassel has joined #webperf
- 10:52:46 [xiaoqian]
- igrigorik: perhaps we should go to the security team
- 10:53:17 [xiaoqian]
- toddreifsteck: we shouldn't hold the shipping just because the sec team is not sure
- 10:55:47 [xiaoqian]
- ... if everyone just add their offset to the timeline, perhaps is the simplest way
- 10:56:09 [xiaoqian]
- igrigorik: send it in a global time?
- 10:59:05 [xiaoqian]
- toddreifsteck: I have a JS client, your code is running on the client, does it make it easier to grab the info and send it to the cloud?
- 10:59:20 [xiaoqian]
- s/I have/You have
- 10:59:39 [xiaoqian]
- igrigorik: when is the message be pushed?
- 11:00:32 [xiaoqian]
- ... either the sender and receiver can do the translation
- 11:01:14 [xiaoqian]
- ... if receiver do the translation, that will clarify it a bit
- 11:02:05 [xiaoqian]
- rniwa: You don't want to translate the time before sending...
- 11:02:48 [xiaoqian]
- ... if the tracking concern is not an issue
- 11:03:31 [xiaoqian]
- ... you don't have to do anything except sending the data
- 11:04:11 [xiaoqian]
- igrigorik: How does this API work with SPA?
- 11:07:25 [xiaoqian]
- keiji: if there's a new page view
- 11:08:31 [xiaoqian]
- igrigorik: Should be a concept for multiple time origins?
- 11:09:07 [xiaoqian]
- nolanlawson: the platform has the ability to offer performance.now
- 11:09:25 [xiaoqian]
- toddreifsteck: performance.mark works
- 11:10:14 [xiaoqian]
- n8s: marking RT seems be worry
- 11:10:42 [xiaoqian]
- bz: the only thing changes is the final calculation
- 11:11:16 [xiaoqian]
- ... once you allow resetting performance.now
- 11:14:09 [xiaoqian]
- igrigorik: the SPA discussion will affect the above time-origin issue
- 11:14:54 [xiaoqian]
- ... for purpose of translate time, we move forward with that
- 11:15:13 [xiaoqian]
- ... expose an attribute that give you the global time
- 11:15:50 [xiaoqian]
- ... we can close that and also update the privacy discussion
- 11:16:04 [xiaoqian]
- toddreifsteck: and info the sec people we are going to ship it
- 11:16:19 [xiaoqian]
- bz: send some mails to the sec people
- 11:17:06 [xiaoqian]
- shubhiepanicker: yep, continue the SPA discussion, with more use cases
- 11:17:16 [xiaoqian]
- RRSAgent, make mintues
- 11:17:16 [RRSAgent]
- I'm logging. I don't understand 'make mintues', xiaoqian. Try /msg RRSAgent help
- 11:17:26 [xiaoqian]
- RRSAgent, make minutes
- 11:17:26 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/09/22-webperf-minutes.html xiaoqian
- 12:03:51 [Zakim]
- Zakim has left #webperf
- 12:22:11 [Zakim]
- Zakim has joined #webperf
- 12:33:36 [bz]
- bz has joined #webperf
- 12:40:52 [yoav]
- yoav has joined #webperf
- 12:45:51 [kbx]
- kbx has joined #webperf
- 12:47:26 [xiaoqian]
- topic: User-Timing: SYNTAX_ERR exception
- 12:48:14 [xiaoqian]
- https://github.com/w3c/user-timing/issues/1 -> background
- 12:48:38 [n8s]
- n8s has joined #webperf
- 12:49:34 [xiaoqian]
- igrigorik: suggest we freeze the list of attributes on NT1 and move on
- 12:50:53 [xiaoqian]
- toddreifsteck: if you parse a string, that doesn't match anything, that's the case it will throw
- 12:52:05 [xiaoqian]
- Topic: SPA apps and Perf APIs
- 12:53:23 [xiaoqian]
- shubhiepanicker: Developers detect the navigation, loading, ..., by guessing
- 12:53:51 [xiaoqian]
- ... it makes sense to provide APIs on it
- 12:54:18 [xiaoqian]
- ... it could be a new thing, to expose these informations
- 12:54:51 [xiaoqian]
- ... even you ask the users to annotate it, they wont
- 12:55:38 [xiaoqian]
- Topic: Performance Timeline case sensitivity issue
- 12:56:59 [xiaoqian]
- https://github.com/w3c/performance-timeline/issues/57 -> background
- 12:57:52 [xiaoqian]
- plh: https://www.w3.org/2016/09/pt-naming.html -> [test results]
- 12:59:08 [xiaoqian]
- ... name is worse, the implementation are consistent
- 12:59:34 [xiaoqian]
- yoav: I'd expect that's a string compare
- 13:00:11 [xiaoqian]
- annevk: if you give the input to two places, e.g., one is fetch, they wont find it
- 13:00:52 [xiaoqian]
- ... there's no way to tell if it's a URL or not
- 13:01:09 [xiaoqian]
- ... sad but reasonable
- 13:01:42 [xiaoqian]
- ... perhaps parse the URL, if fails, treat it as sth else; otherwise continues
- 13:02:36 [bkardell_]
- bkardell_ has joined #WebPerf
- 13:03:31 [xiaoqian]
- s/continues/serialize it
- 13:05:11 [xiaoqian]
- ... for future, try to make it emue
- 13:06:14 [xiaoqian]
- toddreifsteck: in JS, when you create an obj, when you add attributes in it, they are case sensitive
- 13:07:15 [xiaoqian]
- igrigorik: Chrome is case insensitive for type
- 13:07:32 [xiaoqian]
- annevk: in general, you want to do case sensitive
- 13:07:58 [mikepie_]
- mikepie_ has joined #webperf
- 13:08:10 [xiaoqian]
- ... URL are kind of case insensitive
- 13:09:12 [xiaoqian]
- action: plh to update the test, and the pull request
- 13:09:12 [trackbot]
- Created ACTION-172 - Update the test, and the pull request [on Philippe Le Hégaret - due 2016-09-29].
- 13:10:30 [xiaoqian]
- yoav: Do we need to figure out the usage before we changing the behaviour?
- 13:11:06 [xiaoqian]
- igrigorik: I'll make the argument
- 13:11:52 [xiaoqian]
- shubhiepanicker: developers have no way to identify
- 13:12:14 [xiaoqian]
- toddreifsteck: How to make the existed things good enough?
- 13:12:20 [xiaoqian]
- yoav: what's missing?
- 13:12:46 [xiaoqian]
- ... when navigation started, third party provider can not detect it
- 13:12:57 [xiaoqian]
- ... when is the page loaded
- 13:13:31 [xiaoqian]
- ... finish painting...
- 13:13:36 [mikepie__]
- mikepie__ has joined #webperf
- 13:14:17 [xiaoqian]
- nolanlawson: anything require users to write code can be done with polyfill
- 13:14:33 [xiaoqian]
- ... prefer to talk about those can't be done by polypill
- 13:15:55 [xiaoqian]
- igrigorik: for SPA, when there's a react, it relies on what's the platform
- 13:16:19 [xiaoqian]
- ... it will be nice to have easier way to detect this kind of information
- 13:16:58 [xiaoqian]
- keiji: How expensive is this?
- 13:17:08 [rniwa]
- rniwa has joined #webperf
- 13:17:26 [xiaoqian]
- toddreifsteck: SPA observer?
- 13:18:08 [xiaoqian]
- ... make a list, and then see what can we do
- 13:19:56 [xiaoqian]
- rniwa: end of loading for some apps is difficult to identify
- 13:20:25 [xiaoqian]
- yoav: hash change?
- 13:20:47 [xiaoqian]
- paul: developers might choose to push once
- 13:21:26 [xiaoqian]
- nolanlawson: perhaps some events to notify XHR loading is over
- 13:21:38 [xiaoqian]
- yoav: network idle?
- 13:22:10 [paul_irish]
- paul_irish has joined #webperf
- 13:22:32 [xiaoqian]
- toddreifsteck: we need more data to talk about this topic
- 13:23:54 [xiaoqian]
- rniwa: implementation for each application differs, difficult to identify navigation starts or ends
- 13:23:56 [olivexu]
- olivexu has joined #webperf
- 13:24:15 [xiaoqian]
- shubhiepanicker: reasonable to go back to talk to them
- 13:24:27 [xiaoqian]
- toddreifsteck: invite them to the call on Wed
- 13:25:17 [xiaoqian]
- ... we would like to solve the problem
- 13:25:30 [xiaoqian]
- rniwa: we need to define the problem and use cases
- 13:26:32 [xiaoqian]
- ... e.g. if there's SW, do they want to info about the things inside SW
- 13:27:19 [xiaoqian]
- shubhiepanicker: we shouldn't come up with complexity metrics
- 13:27:40 [xiaoqian]
- toddreifsteck: there are some information that only the apps can tell
- 13:28:06 [xiaoqian]
- igrigorik: we have to agree on what the things are
- 13:29:46 [xiaoqian]
- rniwa: when network starts, if there are still plenty of dependencies...
- 13:30:03 [xiaoqian]
- toddreifsteck: elements on long tasks
- 13:30:58 [xiaoqian]
- paul_irish: we are already talking about supporting showing user timing and time line
- 13:31:25 [xiaoqian]
- igrigorik: it's excited to get user timing visible
- 13:31:45 [xiaoqian]
- toddreifsteck: do we want to prefix it?
- 13:31:57 [xiaoqian]
- ... spa-*?
- 13:32:17 [xiaoqian]
- yoav: make them more meaningful
- 13:32:52 [xiaoqian]
- paul_irish: some apps have lots of mark names
- 13:33:49 [xiaoqian]
- nolanlawson: dev tools should have that
- 13:34:19 [xiaoqian]
- paul_irish: yep, especially for Web Components
- 13:34:54 [xiaoqian]
- ... you visually see the name
- 13:36:09 [xiaoqian]
- igrigorik: you can subscribe to the events, and get it to the timeline
- 13:36:59 [xiaoqian]
- nolanlawson: so the hash change is there... sounds like an easy win
- 13:37:37 [xiaoqian]
- toddreifsteck: Do you want the info in the PerfObserver?
- 13:38:23 [xiaoqian]
- ... cons and pos
- 13:39:25 [kbx]
- kbx has joined #webperf
- 13:39:26 [xiaoqian]
- nolanlawson: if you use push state, if you use refreshing, there nothing in the server
- 13:39:45 [xiaoqian]
- rniwa: you can still use hash and benefit from it
- 13:40:17 [xiaoqian]
- yoav: they are using hash to track changes for the server list things...
- 13:40:43 [shubhiepanicker]
- shubhiepanicker has joined #webperf
- 13:41:00 [xiaoqian]
- rniwa: there's no reason keep using hash
- 13:41:24 [rniwa]
- because pushState and popState has the same capability as overriding location.hash.
- 13:41:39 [xiaoqian]
- igrigorik: I'll open bugs on the repo and we can continue the discussion
- 13:44:58 [xiaoqian]
- igrigorik: should we introduce some structure data expect for the nicks in user timing?
- 13:47:12 [xiaoqian]
- ... provide some ways to register a mark on the timeline?
- 13:47:33 [xiaoqian]
- yoav: there is no other space on the timeline
- 13:48:15 [xiaoqian]
- rniwa: once you do that, you will have an API for the browsers to get name and so on.
- 13:48:21 [kbx]
- kbx has joined #webperf
- 13:49:12 [xiaoqian]
- paul_irish: custom type is prefer
- 13:50:07 [xiaoqian]
- rniwa: perhaps more natural to sub-category
- 13:52:30 [xiaoqian]
- igrigorik: any metrics with spa- will be paint in different colour?
- 13:53:24 [xiaoqian]
- rniwa: [fig 2.]
- 13:56:08 [plh]
- plh has joined #webperf
- 13:56:36 [xiaoqian]
- igrigorik: we need convention for the timeline to identify those names
- 13:57:16 [xiaoqian]
- ... having these information will make the timeline more useful
- 13:58:21 [xiaoqian]
- rniwa: we should have the option for the perf marks to be added to the timeline
- 13:59:28 [xiaoqian]
- RRSAgent, make minutes
- 13:59:28 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/09/22-webperf-minutes.html xiaoqian
- 14:00:46 [xiaoqian]
- Topic: Battery usage, CPU usage, capacities
- 14:00:58 [xiaoqian]
- n8s: we should come up with a good defination
- 14:01:42 [xiaoqian]
- s/capacities/Device properties
- 14:02:03 [xiaoqian]
- toddreifsteck: NetInfo is current in WICG
- 14:02:29 [xiaoqian]
- https://wicg.github.io/netinfo/ -> NetInfo
- 14:03:03 [xiaoqian]
- igrigorik: NetInfo exposes connection type
- 14:05:01 [xiaoqian]
- n8s: most people is always on 3G, but the speed is hard to detect
- 14:05:50 [xiaoqian]
- igrigorik: one problem is we don't want to send user video when they are in 3G
- 14:05:58 [xiaoqian]
- n8s: yep, for the cost
- 14:06:24 [xiaoqian]
- rniwa: why does the connection type help?
- 14:06:50 [xiaoqian]
- n8s: we have a connection class lib, we open source it
- 14:07:11 [xiaoqian]
- toddreifsteck: browsers should have it
- 14:07:13 [kbx]
- kbx has joined #webperf
- 14:07:49 [xiaoqian]
- yoav: it tell you something, but not everything
- 14:08:06 [xiaoqian]
- rniwa: perhaps just look at your TCP
- 14:08:37 [xiaoqian]
- igrigorik: we have product using this api
- 14:09:36 [xiaoqian]
- n8s: yep, we use connection class to detect information e.g. how long does the TCP lasts
- 14:10:05 [nolanlawson]
- facebook connection class: https://github.com/facebook/network-connection-class
- 14:10:45 [yoav]
- I wrote a bit on that in the past: https://blog.yoav.ws/adapting_without_assumptions/
- 14:10:48 [xiaoqian]
- igrigorik: what people is a magical solution, but it's impossible to provide everything
- 14:11:19 [xiaoqian]
- ... NetInfo is part of this solution
- 14:12:10 [xiaoqian]
- toddreifsteck: using both RT and NetInfo together... you might get something closed
- 14:13:25 [xiaoqian]
- yoav: we would be able to offer precise info about bandwidth, for privacy reasons
- 14:13:37 [xiaoqian]
- s/we would be able/we wouldn't be able
- 14:14:12 [xiaoqian]
- igrigorik: Battery API works in Chrome
- 14:15:10 [xiaoqian]
- n8s: connection and CPU are the big ones
- 14:15:52 [xiaoqian]
- yoav: Apps like Uber considered Battery as big thing
- 14:16:10 [plh]
- plh has joined #webperf
- 14:17:31 [xiaoqian]
- toddreifsteck: Battery is not something web developers will consider in a common case
- 14:18:42 [xiaoqian]
- igrigorik: there's an attribute about the time info of battery
- 14:19:44 [xiaoqian]
- toddreifsteck: perhaps remind the status about the battery when they request expensive actions
- 14:20:29 [xiaoqian]
- GuidoGrassel: that will be a very helpful information to write good apps
- 14:22:21 [xiaoqian]
- igrigorik: AT&T has a tool to give you an estimate about the battery status
- 14:24:31 [n8s]
- n8s has joined #webperf
- 14:25:01 [xiaoqian]
- toddreifsteck: the start status, and the end status
- 14:25:10 [xiaoqian]
- igrigorik: when it comes to isolation
- 14:26:51 [xiaoqian]
- rniwa: the definition for good shape, i.e. 10%, can differ from the prospect of user and UA
- 14:28:21 [n8s]
- n8s has left #webperf
- 14:28:32 [n8s]
- n8s has joined #webperf
- 14:28:48 [xiaoqian]
- ... wouldn't it better for the system to notify the user?
- 14:29:04 [xiaoqian]
- ... because the browser may not be the main reason
- 14:29:49 [xiaoqian]
- yoav: low power will be interesting to expose
- 14:31:17 [xiaoqian]
- shubhiepanicker: it's good enough to provide a signal for the users
- 14:31:23 [xiaoqian]
- ... the problem is how to measure
- 14:32:38 [xiaoqian]
- igrigorik: largest consumer is screen, 2nd is network
- 14:39:39 [olivexu]
- olivexu has joined #webperf
- 14:43:16 [Zakim]
- Zakim has left #webperf
- 14:47:30 [JFSIII]
- JFSIII has joined #webperf
- 14:48:07 [mikepie]
- mikepie has joined #webperf
- 14:53:20 [yoav]
- yoav has joined #webperf
- 14:55:05 [n8s]
- n8s has joined #webperf
- 14:58:57 [Zakim]
- Zakim has joined #webperf
- 14:59:02 [xiaoqian]
- RRSAgent, make minutes
- 14:59:02 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/09/22-webperf-minutes.html xiaoqian
- 15:00:52 [kbx]
- kbx has joined #webperf
- 15:01:19 [xiaoqian]
- rniwa: we don't want to update these datas too frequently for the cost
- 15:01:57 [xiaoqian]
- igrigorik: if memory is low, do you get notification?
- 15:02:01 [xiaoqian]
- rniwa: yes
- 15:02:16 [xiaoqian]
- ... notify whenever the status changes
- 15:02:56 [rniwa]
- The proposal was to have three states: memory usage is low, high, and critical
- 15:03:14 [xiaoqian]
- toddreifsteck: modern OS acts similarly
- 15:03:14 [rniwa]
- And page gets a notification whenever the status changes
- 15:05:16 [xiaoqian]
- nolanlawson: Do we need normal?
- 15:05:42 [xiaoqian]
- yoav: if you are at low, you would like to know if you are out of low
- 15:06:47 [xiaoqian]
- rniwa: in iOS it's difficult to get the critical moment
- 15:06:52 [xiaoqian]
- toddreifsteck: same as windows
- 15:07:31 [xiaoqian]
- rniwa: you only get notified if you are about to be killed
- 15:08:27 [xiaoqian]
- toddreifsteck: I hope to have these in all browsers
- 15:09:10 [xiaoqian]
- rniwa: memory is the most frequency crash reason for us, good to have these
- 15:09:58 [xiaoqian]
- igrigorik: Chrome will exposed some inform, but only in window, not worker
- 15:10:16 [xiaoqian]
- toddreifsteck: this is the warning API
- 15:10:47 [xiaoqian]
- igrigorik: it's useful to have high pressure warning
- 15:11:11 [xiaoqian]
- yoav: start a thread on WICG to get more feedback
- 15:11:45 [xiaoqian]
- igrigorik: last f2f meeting we agreed on to ask feedback from the sec team to see if it's reasonable
- 15:11:51 [xiaoqian]
- rniwa: yes it's
- 15:13:36 [xiaoqian]
- n8s: you can only consider the case in the same network
- 15:14:20 [kbx]
- kbx has joined #webperf
- 15:14:24 [xiaoqian]
- toddreifsteck: If I'm using 2M memory, which is high, do we want to trigger a callback?
- 15:14:58 [xiaoqian]
- rniwa: fire if it's not normal at the first time
- 15:16:16 [xiaoqian]
- yoav: if we want to add a memory hint using service worker...
- 15:16:32 [xiaoqian]
- n8s: it will be helpful to ask the best case
- 15:16:49 [xiaoqian]
- rniwa: the browser can't determine it
- 15:17:39 [xiaoqian]
- toddreifsteck: Would perfect not get to high too soon
- 15:19:23 [xiaoqian]
- rniwa: when you open the browser and watch video, if you have kill all background, by using high memory you will get low memory
- 15:19:43 [xiaoqian]
- ... we don't know why the browser is in high memory at the first place
- 15:19:59 [xiaoqian]
- ... best start from the low state
- 15:20:29 [xiaoqian]
- toddreifsteck: You don't get a memory hint at the beginning of the work
- 15:21:03 [xiaoqian]
- igrigorik: if you are in a low memory device, does the system immediate send a notification?
- 15:21:17 [xiaoqian]
- n8s: you can always create the baseline
- 15:23:17 [xiaoqian]
- yoav: targeting at developing countries, for low memory devices, by doing progressive enhancement, if browser support advanced API, it must be with high memory...
- 15:24:32 [xiaoqian]
- ... hard work can't determine the memory state
- 15:25:27 [xiaoqian]
- ... if you are running canvas and workers, if it's doable
- 15:26:11 [xiaoqian]
- n8s: FB classify devices by years
- 15:29:16 [xiaoqian]
- rniwa: what would that be if we expose something here?
- 15:32:04 [xiaoqian]
- n8s: information about the best case is sufficient
- 15:32:30 [xiaoqian]
- toddreifsteck: if you are native app, can you detect this?
- 15:32:31 [kbx]
- kbx has joined #webperf
- 15:33:01 [xiaoqian]
- ... is the processor status available to the apps?
- 15:33:53 [xiaoqian]
- igrigorik: getCPUInfo, get MemoryInfo ... and compose these informs
- 15:34:24 [nolanlawson]
- facebook device-year-class: https://github.com/facebook/device-year-class
- 15:35:03 [xiaoqian]
- toddreifsteck: collect these informations and jump to the relevant status
- 15:36:51 [xiaoqian]
- rniwa: don't like the idea to keep updating the definition of low-end and high-end
- 15:37:28 [xiaoqian]
- yoav: the app used to work on this phone, when the browser get updated
- 15:38:00 [xiaoqian]
- n8s: perhaps based on numbers
- 15:39:03 [xiaoqian]
- action: n8s to write a proposal on processor speed & memory
- 15:39:03 [trackbot]
- Created ACTION-173 - Write a proposal on processor speed & memory [on Nathan Schloss - due 2016-09-29].
- 15:40:07 [xiaoqian]
- igrigorik: the apps get killed when the tab crashes
- 15:40:20 [xiaoqian]
- toddreifsteck: do we need to report back somehow?
- 15:40:43 [xiaoqian]
- igrigorik: nice to know if the apps get killed
- 15:41:11 [xiaoqian]
- n8s: yep, when the browser is doing a clean up
- 15:42:17 [xiaoqian]
- ... will it help if SW can kill or report?
- 15:43:12 [xiaoqian]
- igrigorik: good to know if app is getting killed
- 15:43:44 [xiaoqian]
- nolanlawson: Do a sendBeacon if the app get killed, but SW sounds a better solution
- 15:44:43 [xiaoqian]
- igrigorik: please use page visibility instead of onload on these ...
- 15:45:29 [xiaoqian]
- ... unload is not reliable
- 15:47:15 [xiaoqian]
- toddreifsteck: would like to deepen the crash thing when we are clear about reporting
- 15:48:40 [xiaoqian]
- rniwa: if the page keep crashing, we might refuse to load
- 15:49:46 [xiaoqian]
- nolanlawson: may be value to have information why the page crashes
- 15:50:02 [xiaoqian]
- s/be value/be valuable
- 15:50:17 [xiaoqian]
- n8s: that will involve more work
- 15:53:02 [xiaoqian]
- n8s: get feedback that drifting between time origins (unix) shouldn't be a big issue
- 15:53:48 [xiaoqian]
- RRSAgent, make minutes
- 15:53:48 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/09/22-webperf-minutes.html xiaoqian
- 15:59:08 [yoav]
- yoav has joined #webperf
- 16:13:23 [yoav]
- yoav has joined #webperf
- 16:27:26 [kbx]
- kbx has joined #webperf
- 16:46:46 [n8s]
- n8s has joined #webperf
- 17:13:32 [Zakim]
- Zakim has left #webperf
- 17:55:57 [igrigorik]
- @xiaoqian: thank you for scribing!
- 18:00:09 [cristi]
- cristi has joined #webperf
- 18:19:58 [xiaoqian]
- igrigorik: No prob :) Will clean up the minutes after the meetings
- 21:39:39 [n8s]
- n8s has joined #webperf
- 21:47:35 [n8s]
- n8s has joined #webperf
- 22:10:22 [bz]
- bz has joined #webperf
- 22:18:16 [yoav]
- yoav has joined #webperf
- 22:28:21 [n8s]
- n8s has joined #webperf