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