13:04:20 RRSAgent has joined #tagmem 13:04:20 logging to http://www.w3.org/2013/09/30-tagmem-irc 13:04:22 RRSAgent, make logs public 13:04:22 Zakim has joined #tagmem 13:04:24 Zakim, this will be TAG 13:04:24 ok, trackbot; I see TAG_f2f()8:30AM scheduled to start 34 minutes ago 13:04:25 Meeting: Technical Architecture Group Teleconference 13:04:25 Date: 30 September 2013 13:04:37 ht has joined #tagmem 13:04:45 scribe: Henry 13:05:15 trackbot, start meeting 13:05:16 dka has changed the topic to: http://www.w3.org/wiki/TAG/Planning/Sept-2013-F2F 13:05:17 RRSAgent, make logs public 13:05:19 Zakim, this will be TAG 13:05:19 ok, trackbot; I see TAG_f2f()8:30AM scheduled to start 35 minutes ago 13:05:20 Meeting: Technical Architecture Group Teleconference 13:05:20 Date: 30 September 2013 13:05:28 Agenda: http://www.w3.org/wiki/TAG/Planning/Sept-2013-F2F 13:05:30 scribenick: ht 13:05:35 scribe: Henry S. Thompson 13:05:45 Chair: DKA, PL 13:06:17 Present: DKA, TBL, SK, YL, YK, AR, PL, NM, HST 13:06:28 Topic: Agenda planning 13:06:39 Regrets: JT 13:07:31 YK: Zip URL discussion exciting because it involves fragid and semantics and I was hoping JT would contribute 13:08:03 DKA: Let's go through the agenda topics and see which ones we would like JT involved in 13:08:45 YK: RDF and XPoionter experience relevant. . . 13:09:34 csswg has joined #tagmem 13:09:34 timbl has joined #tagmem 13:10:22 [Minutes suspended while chairs manage agenda planning] 13:11:34 annevk: yep. 13:20:56 Present: DKA, TBL, SK, YL, YK, AR, PL, NM, HST, AvK 13:23:08 annevk has joined #tagmem 13:41:21 Topic: HTTP updates 13:41:38 DKA: Multipath TCP? 13:43:37 https://tools.ietf.org/wg/httpbis/ 13:44:17 YK: HTTP1.1 new versions published recently, in the run up to Last Call 13:44:37 s/YK:/YL:/ 13:45:14 Curious: my impression was that HTTP 1.1 is mainly clarification and with no (other) functional changes. Is my recollection collect? 13:45:34 YL: HTTP2 also has a new release, with stuff on compression and upgrade path (from 1.1 to 2) 13:46:00 YL: Some requests to put some text in p1 of HTTP1.1 about security and interception 13:46:27 Noah, yes, that's right 13:46:58 YL: Server push is one of the new things in HTTP2 13:47:22 ... It's a way to give to the client proactively things that might be useful 13:47:50 NM: Not true push, because the connection has to be there first, initiated by the client 13:48:14 AR: Still not what was requested 13:48:21 NM: Right 13:49:14 YL: It's new wrt the HTTP1.1 model 13:49:27 HST: What would it mean for a client to say "I support this" 13:49:54 YL: I think this is the most important thing for the TAG to consider in HTTP2 13:50:37 YL: Push is a bit similar to ZIP archives, in that you may get more than asked for in either case 13:51:06 NM: If this changes things' names, then that's an architectural issue 13:51:27 DKA: Hold that thought for the Zip Archive discussion 13:52:49 YL: There are some experimental implementations out there . . . 13:53:07 AR: What are the things you thing are important for us to look at in push? 13:53:37 HST: Remember pre-fetching indiscriminately -- bad thing -- that kind of vulnerability shouldn't be opened up again, for example 13:53:50 YL: What about script concatenation as a parallel? 13:54:02 s/YL/YK/ 13:54:18 YK: So isn't this just moving that into HTTP instead of a hack 13:54:32 NM: Well, at least the server doesn't have to lie any more 13:54:48 YK: Yes, it sucks for caching if you lie 13:55:07 ... So that opens the question of how this interacts with caching 13:56:21 AR: So how do you send cache controls back to the server early in a connection when you don't know what might be pushed at you 13:56:55 DKA: Is there a worked example comparison, for example between script concat and push? 13:57:20 AR: This is a job for Bloom filters, perhaps 13:58:04 YK: So, broader question is what additional client->server communications are allowed/required to manage push 13:58:43 AR, YK: [start to do design] 13:59:03 HST: Pop this until we can have someone from HTTPWG to help 13:59:09 YL: I'll see who I can find 13:59:23 PL: I'm also worried that it breaks conneg 13:59:59 AvK: Server first sends a push promise, to which the client can say 'no' 14:00:06 TBL: NNTP? 14:00:14 s/NNTP/NNTP, anyone/ 14:00:16 https://tools.ietf.org/html/draft-ietf-httpbis-http2-06#section-6.6 14:00:43 http://www.mnot.net/talks/http2-challenges/spec.html#PUSH_PROMISE 14:00:59 HST: Clear this needs our input 14:01:32 wycats_: The header block describes the resource 14:01:36 DKA: We'll try to do this later in the week if we can find 14:01:52 s/find/find someone from the HTTP WG who can join us/ 14:02:18 annevk: the issue is that you need a bunch of handshaking now 14:02:36 the server can't push until it gets an answer back from the client 14:02:39 henry: on con-neg - I did some data gathering. 14:02:43 which can be slow/flaky/etc 14:02:55 wycats_: it can push actually 14:03:03 wycats_: there's no requirement for a handshake 14:03:10 it has to send the PUSH_PROMISE first 14:03:12 wycats_: it just allows for cancellation, potentially late 14:03:22 yes, how do you not see how that is problematic? 14:03:22 … I looked at 2 weeks of traffic through our proxy - university (of Edinburgh) default setting is that student traffic go through proxy. I looked a 2 weeks of traffic and found very little con-neg. 14:03:43 wycats_: ? 14:04:43 Yehuda: I know that anyone using j-query with rails is using [accept header] con-neg. 14:04:49 Henry: yes, I can't detect that. 14:05:08 Yves: are you able to see if there was a vary header? 14:05:16 Henry: no. Not logging headers - just status codes. 14:05:40 Yehuda: you have no way to know for sure if con-neg occurred in the server. 14:06:03 Yehuda: i know that con-neg happens with rails apps, but I don't know how often it happens. 14:07:29 Henry: I intend to push pack to the http working group - re: proactive con-neg - to say "this never happens." I don't have any evidence that people use it. We don't talk about it in webarch. It ought to be fixed between http 1.0 and 1.1. 14:07:40 Yves: Not sure you have a good way to figure it out. 14:07:58 Henry: yes you do - if you get a 306 response - I have about 150 of those out of 10M requests. 14:11:10 marcosc has joined #tagmem 14:11:15 http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-24#section-2 14:13:11 marcosc_ has joined #tagmem 14:13:44 marcosc__ has joined #tagmem 14:15:37 ht, see https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-24 14:17:05 http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-22#section-2 14:17:35 HST: There is also the question of the philosophical introduction at the beginning of p2 14:17:54 HST: I would prefer to see it pulled or fixed, but fixed is much harder 14:18:13 YK: If we can't agree on what to put in, we should take it out 14:18:36 NM: But if you leave it out, you open the door to conflicting interpretation 14:18:44 s/interpretation/interpretations/ 14:21:25 HST: I haven't yet been willing to submit an issue on this topic 14:34:06 Topic: TC39 report 14:34:35 YK: We achieved consensus on a new scheduling process by which TC39 works 14:34:47 ... It will look more like the W3C process 14:35:21 YK: The primary goal is to allow features to progress independently if they don't have complex dependency 14:35:40 NM: Is this a move away from big blocky releases 14:35:52 s/releases/releases?/ 14:36:08 YK: No, not like that -- not lots of little specs 14:36:27 YK: Library-like modules, yes, maybe 14:36:39 AR: But the integration step is crucial still 14:36:43 "We have CSS as example of doing it wrong." hear hear 14:37:14 AR: We're also trying to stop re-opening topics if possible 14:37:43 YK: So we work on pieces individually, through the process to 'recommendation' 14:38:05 ... Implementators can implement anything that gets to 'rec' 14:38:17 ... You can't get to 'rec' with a dependency on something that isn't a 'rec' 14:39:00 ... Then once a year, when ECMA meets, we'll take all the 'rec's, put them into a release, and send them to ECMA 14:39:37 YK: some questions remain about tooling, which would make the 'editor' more like an editor and less like an author 14:40:13 ... Also, putting much stronger requirement that actual spec. language is produced much earlier 14:41:00 YK: This will, I hope, get some features that have been languishing out the door 14:41:17 YK: Some technical stuff 14:41:38 1) Creation of JS object 14:42:11 ... This currently requires some C++ code somewhere , which causes a problem with creating subclasses 14:42:24 marcosc has joined #tagmem 14:42:36 ... So there is now a hook at pre-creation time, which allows an override 14:43:02 ... More flexibility, but default behaviour is unchanged 14:43:14 ... Now possible to subclass DOM objects 14:43:14 marcosc has joined #tagmem 14:43:29 AR: @atcreate 14:43:40 s/@atcreate/@@create/ 14:44:14 (@@create is a temporary name in the specification, it'll prolly end up being an identifier you get through Symbol.create) 14:44:21 AR: Gives a hook into putting privileged/exotic behavious in a box 14:44:50 AR: Resolves a long-standing fight over who owns the constructor body 14:45:20 ... because there's no concept of a partially-initialized object, not easy to resolve 14:45:26 ... but now we can 14:46:11 AR: Now puts pressure on DOM spec authers to specify special-requirement constructors via @@create 14:46:36 ... rather than insisting on their own (C++) constructor 14:47:01 ...and not providing them to JS 14:47:13 And this is good! 14:47:21 "new" should be universally useful across the DOM 14:47:33 AvK: [scribe missed] 14:47:44 TL;DR We need mixins! 14:47:54 AR: DOM has exposed classes, which are not concrete objects 14:48:05 AR: This doesn't fit at all with the JS worldview 14:48:40 AR: The good news is that we have solutions for the concrete classes 14:48:56 AR: We still don't have a solution to the abstract class problem 14:49:10 ...but "new" should still work with "nonsensical" things 14:49:22 YK: The Event class is an example we can't manage yet 14:49:38 DKA: Exactly where is all this process stuff? 14:50:00 YK: Concensus, but not fully speced in prose yet -- aiming for the end of the year 14:50:12 DKA: What's usable now/soon on the technical side? 14:50:23 AR: [list] 14:50:47 spread/rest operators, iteration (for...in), Maps/Sets 14:51:05 YK: Hard to predict when things will come, because different browsers roll stuff out at different rates 14:52:13 AR: Implementation is particularly complicated wrt WebKit and JS 14:52:40 s/Implementation/Implementation timing and progress/ 14:54:06 YK: Note that @@create is a name in the spec, which will need a concrete manifestation in code, so we will have an indirection via Symbol 14:54:20 ... which hasn't quite settled down yet 14:55:19 ... The goal of Symbol is to expose properties guaranteed not to collide with user-land string-named properties 14:56:27 http://wiki.ecmascript.org/doku.php?id=strawman:unique_string_values 14:56:51 twirl: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-6.1.7.4 14:57:19 YK: What's controversial is sharing symbols across 'realms' -- e.g. multiple iframes, which share a heap 14:58:10 (I am sad to see a language using @@ which I have used for many years in all programming as something which will not compile to leave marker where stuff is unfinished but there we go, I guess I'll just have to use three :-) 14:58:17 YK: This is potentially a TAG-relevant issue -- architectural, in other words 14:58:55 import { create } from "std:object" 14:59:04 constructor[create] = Node[create] 15:00:08 AR: Same-origin iframes is really the only place this happens 15:00:18 YK: I argued it can't occur across workers 15:00:28 ... all there is there is a serialization pblm 15:00:30 (and I concur) 15:00:41 YK: 2) Models 15:01:01 YK: We've punted the question of bundling to the network layer 15:01:21 timbl: Allen is using @@ for exactly that purpose ;-) 15:01:26 timbl: it's not part of ECMAScript 15:01:44 ... We were trying to find syntactic mechanisms to assist concatenation including models 15:02:04 s/Model/Module/g 15:02:12 s/model/module/g 15:02:37 ... But that just wasn't winning, so we pushed that over to the network layer 15:03:32 YK: You do eventually get a URL when you import a module via shortname 15:03:54 AvK: Normalize/Resolve/Fetch/Translate/Link 15:04:12 https://github.com/jorendorff/js-loaders is the GitHub around ES module loaders 15:04:26 TBL: Normalize? 15:04:48 YK: Map shortname to another, e.g. ../foo 15:04:57 https://people.mozilla.org/~jorendorff/js-loaders/loaders.html#section-21 has a description of the loader hooks 15:04:58 TBL: Base URIs? 15:05:02 AR: No such thing 15:05:06 TBL: Why not? 15:05:32 AR: Don't want to constrain runtime to have that notion, e.g. when running not on the Web 15:06:03 YK: [you can choose to ...] 15:06:30 YK: Suppose you want to depend on jQuery -- w/o commiting to a particular location 15:07:05 TBL: Checksum? 15:07:13 YK: Implement that using the fetch hook 15:07:18 s/fetch/Fetch/ 15:07:36 TBL: W/o that, how to avoid being hacked? 15:07:56 marcosc_ has joined #tagmem 15:08:01 YK: Not the business of the _language_ 15:08:18 AR: JS lives at an uneasy location in the pipeline 15:08:28 ... everything that isn't 'magic' 15:08:51 AR: You could do almost everything above the bits off the network in JS 15:09:02 ... but it _is_ just a language 15:09:19 ... with provision for _hooks_ which appeal to the gods 15:09:32 marcosc has joined #tagmem 15:09:47 TBL: Do the gods always have to be invariant? 15:09:51 AR: No 15:10:13 AR: The language itself has no networking, it's up to the environment 15:10:21 TBL: I'm worried about that 15:10:52 YK: We _do_ think the environment should provide a loader wrt certain invariants 15:11:07 ... In particular, wrt the browser environment 15:11:41 TBL: I prefer to ask for modules with http: URIs 15:11:49 AR: You can do so 15:12:32 NM: What about Atom -- they wanted the simplicity of shortnames, with the explicitness of URIs 15:12:45 ... so you get a registry that does the mapping 15:13:10 YK: That's what we're supporting, via conversion hook 15:13:22 NM: But I want a _spec_ level hook 15:14:02 AR: Things in the _spec_ will have expansions _in_ the spec. for all the shortnames that occur _in_ the spec 15:14:23 Fix me^^^^ 15:14:47 (looks fine for what I said) 15:15:24 YK: Any requirement on the _browser_ is outside the language, but could for example require all input to Normalization be URLs 15:16:24 TBL: So I would like to be able inline (script/CSS/image/...) are bad, better to have URLs for them 15:16:35 Zakim has left #tagmem 15:16:57 s/So I would like to be able/current advice is that/ 15:17:14 TBL: So I would like to use directory structure to organise this 15:18:21 So if I have a script directory, I want relative references in something fetched from there to be relative to that directory, just as it already works from the CSS subdir 15:18:47 s/So/TBL: So 15:19:03 @@fixme^^^ 15:19:10 S/So/TBL: So/ 15:19:36 YK: I agree that ./ and ../ should work that way in the browser, and we think we have a way to do that 15:19:55 TBL: And get consistency wrt running on the Web, or with Node.js 15:19:57 YK: Yes 15:22:40 HST: I hear violent agreement -- there's a place to do the mapping for module names, just as it happens for CSS, _except_ that it works for "./foo", not "foo" 15:23:33 TBL: I'm willing to use "./foo" to distinguish what I want from 'magic' module names 15:24:50 YK: The default behaviour will look relative to the embedding HTML [?] 15:25:42 NM: The user doesn't know about binding jQuery to something 15:26:12 YK: We anticipate the e.g. jQuery.com will give you HTML to paste in to register the mapping 15:26:37 ... we may need an HTML5 element for that 15:27:27 NM: I was looking forward to a situation when some shortnames get so well-known that it doesn't need that -- then the Atom experience gets relevant 15:27:37 YK: We haven't supported that yet 15:28:19 TBL: So a server can map jquery to their own, hacked, implementation 15:28:38 AR: Only in pages from that server, yes 15:29:10 NM: So more like a namespace prefix than a namespace URI 15:29:33 AR: _Everything_ happens fresh with each page context 15:30:03 SK: Can a script redefine the binding? 15:30:32 YK: Yes, if you don't want 3rd-party scripts to do that, you should use CSP [Cross-Site ??] 15:31:08 Content Security Policy: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html 15:31:24 See: http://www.html5rocks.com/en/tutorials/security/content-security-policy/ 15:31:49 YK: Service-worker -- may override network layer 15:32:28 YK: Service workers provide for asynchronously intercepting http requests, e.g. for local caches 15:33:03 YK: But we don't want caching behaviour implemented in the module loader 15:33:30 ... so we don't make that easy -- you should use the browser (service worker) for that 15:34:08 YK: Fetch hook talks to the service worker, which gets a response object which is opaque 15:34:28 AvK: You don't need service worker 15:34:48 AR: True, all you need is the cross-origin-response object, however that's provided 15:35:39 YK: The CSR then goes through the pipe from Fetch to Translate at which point the browser does the unwrapping 15:35:53 [scribe gives up] 15:36:49 s/CSR/c-o-r-o/ 15:38:26 YK: 4) Promises 15:39:15 YK: Since the module loader wants promises, people really pushed it forward, and so it looks likely that promises will be in ES6 and used by the module loader 15:39:36 AR: Chrome is shipping support now 15:40:21 YK: And given @@create, promises are subclassable 15:41:30 YK: Having a primitive for async data is good, but that actually makes getting streams even more important, so that we _don't_ end up using promises as a hacked workaround 15:42:36 AR: For example web crypto needs streams for decent performance, as well as a promise for total success/failure 15:43:08 YK: No streams in ES6, but we hope to get it out independently via the new process 15:43:26 DKA: What's the alternative right now 15:43:55 AR: Lots of _ad-hoc_, mutually incompatible solutions 15:44:29 DKA: So there will be a lag between promises shipping, and streams shipping 15:45:03 ... and we need some prose saying "Don't use promises when what you are really doing is streams" 15:45:18 ... So we'll come back to this when we talk about the API Guide 15:45:36 AR: I'm hoping to get started on streams soon 15:46:05 DKA: You described TC39 as an oversight group, with [Champion Groups] -- is that how this works? 15:46:34 YK: Yes, so Modules came from a Champion Group, and got consensus from the TC 15:48:58 Topic: Promises 15:49:13 TBL: Promises help, but don't get me everything I need 15:49:27 ... Is there more coming, e.g. catching an error 15:49:38 AR: Yes, if you also make it asynchronous 15:49:59 AR: [gives detail] 15:50:14 AR: Async is poisonous 15:50:21 TBL: That is, it spreads? 15:50:25 AR: Yes 15:51:01 YK: Example on board: 15:51:28 YK: 'spawn' primitive, which returns a promise 15:55:47 AR: This gets us out of the 'triangle of doom' 15:58:22 Adjourned until 1300 16:25:47 jeff has joined #tagmem 16:26:47 Topics for today: http://www.w3.org/wiki/TAG/Planning/Sept-2013-F2F#Monday 16:39:45 marcosc_ has joined #tagmem 16:42:43 Scribe: Alex 16:44:11 JJ: chairs are planning to work issue-by-issue 16:44:26 YK: why do we think this won't get gummed up at the end instead of the beginning? 16:44:56 JJ: we don't know. I look at it this way: the web community as a whole needs a DNT standards. Everyone seems to agree with that statement. 16:45:14 JJ: having no DNT standard seems untennable 16:45:49 JJ: my hope is that if we go through issue-by-issue and work diligently to get consensus, stakeholders will acknowledge that no standard is worse 16:45:54 JJ: there's a lot of skepticism 16:46:24 JJ: we've documented the skepticism using a poll in the WG. It asks: should we unlink TPE/Compliance, only TPE, or give up? 16:47:01 YK: a broad question: my uneducated reading of the tea-leaves is that advertisers will accept something nobody will use, while privacy advocates want something most people would use 16:47:07 YK: that's the core dissagreement 16:47:15 JJ: I think it's true 16:47:32 YK: "advertisers would be willing to go along with anything as long as nobody uses it" 16:47:44 JJ: there's tremendous value to me that I get tracked (as a consumer) 16:48:07 JJ: a good DNT standard puts the onus on advertisers to help build understanding 16:48:19 JJ: also, what do we allow? 16:48:26 (use, data handling, etc.) 16:48:43 JJ: there are a lot of unknowns here 16:48:57 YK: are advertisers willing to expose the mechanisms that they use to track? 16:49:00 JJ: not really 16:49:05 YK: so the discussion is foreclosed? 16:49:13 JJ: a challenge 16:49:20 twirl has joined #tagmem 16:49:47 JJ: all our standards are voluntary, and advertisers may choose to ignore. If that happens, you move to the next level: public outcry, legistlation, etc. 16:50:16 DKA: in the context of the CA legislation and EU privacy law, there are more controls -- signposting, cookie warnings, etc. 16:50:39 DKA: controversy results 16:50:50 YK: isn't it self evident that login cookies != tracking cookies 16:51:05 TBL: to people making privacy legislation? NO. 16:51:41 TBL: the difference...the extent that FB tracks with the "like" button when you don't even use it....most don't realize 16:52:38 HT: historically, there are very different assumptions on different sides of the atlantic. The US side assumes "opt out", while the EU default is "opt in" 16:53:00 HT: the expectation has been that there would be different defaults depending on geography. Has that been resolved? 16:53:27 JJ: the consensus of the WG is that the default should be neither opt-in nor opt-out and that there has to be definitive user action about "opt in" vs. "opt out". 16:53:40 JJ: more similar the the EU mode. 16:54:11 JJ: that you have to have a null default is being ignored by IE, and is being set to "DNT" 16:54:34 JJ: the advertisers are saying "since there was no user action, we have license to ignore user signals since they're not reliable" 16:55:31 JJ: the default question is bizarre because when I happen to buy a PC that happens to have a browser in it, and it's being set up by the Geek Squad from Best Buy, or the IT team sets it up...who the user is is difficult to define 16:56:09 YK: IIRC, the IE startup screen DOES show a choice and you have to click "next". 16:56:30 YK: so WRT the letter of the law, IE does require user ction 16:56:44 YK: it's the canonical opt-in/out issue 16:57:14 JJ: I agree. But from the advertiser's perspective, they dont' care...they think it doesn't 16:57:47 DKA: is there something the TAG can do here? 16:57:51 JJ: glad you asked.... 16:58:03 JJ: I don't think there's a lot the TAG can do collectively 16:59:04 JJ: many of the views are far apart. The WG needs more people who can think deeply about it and contribute technical ideas and text to help bridge them 16:59:37 YK: when you say that everyone needs a DNT standard, can you say what you think everyone would agree to? 17:00:41 JJ: that users should be able to specify "DNT", that there should be only one signal, and that if I say "I don't want to be tracked" we should be able to attach meanging to that signal 17:00:54 JJ: the advertisers agree that there should be a compliance part, but want to define it 17:01:21 JJ: you can google the DAA guidelines that they've published, and presumably they'd agree to those 17:01:40 JJ: some people think legislation is the right answer 17:02:20 JJ: many vendors are fearful that they'll have to implement 30 versions if we don't get something unified 17:03:28 YK: seems plausible that legislation will create scattered standards 17:03:59 DKA: the oven broke in our house, so I've been searching for ovens...now everywhere I go on the web, OVENS ARE FOLLOWING ME, and I have DNT turned on 17:04:06 YK: why do you think this is bad? 17:04:13 DKA: I'm less likely to buy an oven that's stalking me 17:04:47 JJ: the real problem is they're not tracking you enough! If they tracked more, they'd know you're the sort of person who would be turned off by that 17:04:59 NM: I don't think you can generalize 17:05:38 NM: I don't like the fact that I can't find things without parties I don't know tracking me 17:06:16 NM: if I were looking for information about bars and not ovens, there are things like disease treatements, etc. that are much more private 17:06:46 YK: there are folks with ad platforms who are experimenting with remarketing and have found it effective 17:11:20 [TAG applies Brandice court standards] 17:11:38 JJ: there are attacks against privacy and security 17:11:56 DKA: wendy will be joining us tomorrow 17:13:10 DKA: DNT won't protect anyone against bad govt actors, and that was before we knew how bad the govts were 17:13:33 DKA: other things on our list: we just finished with TC39 topics...would be good to talk about working together 17:14:03 YK: we brought up the prospect of TPAC, but the time and travel made it a non-starter 17:14:30 YK: last time it sounds like TC39 was given a room and that there wasn't much engagement 17:14:45 YK: that said, Norbert Lindberg was much more positive 17:14:56 YK: they felt they weren't participating 17:15:14 YK: we represented that wasn't the spirit of this invitation 17:16:47 JJ: last time was before my time, but when we invited TC39 to Shenzen, our intent was that they could be observers and interact however was most effective 17:19:35 [ agreement that we need to try again for next year ] 17:20:56 JJ: the existing bodies that we've got do a pretty good job than, say, the UN would...but we have an obligation to reach out to be effective in making the case that we're effective stewards. Having TPAC in China is good for that 17:22:23 JJ: next year is likely to be Santa Clara. 17:22:58 JJ: that's the 20th W3C anniversary too. 17:23:06 DKA: how about TPAC 17:23:40 JJ: as we're setting up the agenda for the Plenary, it'll be a little different, and it'll be 60/70% unconference and a bit more time plenary time 17:23:59 JJ: we thought it would be beneficial for the community to get an update from the TAG 17:24:13 JJ: there was a lot of feedback from the AC that they hadn't heard from the TAG 17:24:48 NM: what have we been doing? We needed some space...what's happening now? 17:25:20 JJ: there was some euphoria thanks to contested TAG and AB elections...now the community wants to hear what's new 17:25:59 JJ: there's a pent-up interest in understanding what the results have been...you can do that however you like, but there's a sense from the PC that we'd like to hear from the TAG 17:26:18 YK: we've done fewer things as concrete deliverables, but are taking on a stronger coordination role 17:26:57 YK: Brian Kardell's post regarding twirl's election outlined many of those activiteis and work like Promises should be viewed as TAG deliverables 17:27:10 DKA: having a lot of talking heads on stage might be less useful than something like an interactive Q&A 17:27:38 NM: what if the chairs presented what they think the priorities are + some Q&A 17:27:56 NM: the communities you're working with know you're there, but the rest of the world isn't hearing enough 17:28:07 JJ: the survey said they don't like talking heads but they enjoy the Q&A 17:28:50 AR: could do a google moderator + some live questions 17:29:44 DKA: AB work on chapter 7 process revisions 17:30:14 JJ: for those who don't know, Chapt. 7 walks you through the publication process: FPWD, WD, LC, CR, TR 17:30:25 JJ: some people like it, some people think it's overstasted and hurts agility 17:30:43 JJ: the AB has spent a lot of time over the past couple of years trying to figure out how to make it more agile...fewer process steps 17:31:28 https://dvcs.w3.org/hg/AB/raw-file/default/tr.html 17:31:43 (thanks, jeff!) 17:32:03 JJ: combines LC + CR...don't see why they need to be different 17:32:13 JJ: also removed the Proposed Recommendation step 17:32:36 JJ: also we've tried to remove the semi-prescriptive steps and move to something like a guidebook 17:32:46 YK: does the new step say when to start implementing? 17:32:53 JJ: no, not any more 17:33:35 YK: the blink process doc cites the W3C process document 17:34:11 AvK: you might be conflating shipping with implementing? 17:34:30 JJ: we wanted to be more agile, aligns with documents that related to it (e.g. the Patent Policy) 17:35:04 JJ: there might be things we're not aware of, but the document is at the level of maturity where we should be getting more eyes on it 17:35:40 http://www.w3.org/community/w3process/ 17:36:23 JJ: Chaals have been a great editor, issues are being worked through, and at TPAC we're likely going to be at LC-alike status 17:36:44 JJ: if the TAG could look it over, the feedback would be appreciated 17:37:12 DKA: how should we provide that feedback? 17:37:36 JJ: the AB feels responsible, wants to solicit feedback, but doesn't want to feel beholden to everyone...is voting on issues 17:38:33 DKA: joint call? what's the right way? 17:38:42 JJ: might be useful if a review turns up issues 17:38:57 DKA: i think we should take a look at this 17:40:43 NM: one of the things I used to observe is that there are official uses for the process steps, but that communities use the process in different ways, flagging things perhaps later than others 17:41:09 JJ: some of the text under "last call" signals that the WG thinks it's done and is looking for feedback 17:41:22 AvK: well, should be reaching out too...many WGs ignore that... 17:41:41 http://www.w3.org/2005/10/Process-20051014/tr.html#last-call 17:41:46 "the Working Group believes that it has satisfied significant dependencies with other groups;" 17:41:47 JJ: it's much less explicit. There's now a charachteristic of "wide review". You need to document and demonstrate wide review 17:42:22 and in particular 17:42:23 "A Working Group SHOULD work with other groups prior to a Last Call announcement to reduce the risk of surprise at Last Call." 17:42:30 never happens 17:43:58 Alex: we're trying to ensure that we have a crack at specs as they're going through the pipeline and identify architectural issues during that process - should the document say that the TAG should be one of the groups that groups should be seeking review from? 17:44:11 NM: might be good to be able to demmure 17:44:15 AR: true 17:44:56 YK: in my community, having a checkpoint is good because many specs start and don't produce and end product...today I wouldn't get involved before LC because it seems like a reasonable place to get started 17:45:58 NM: there's a tough balance. W3C has been a bit waterfall, top-down-ish and have pushed back...lots of bottom-up now. Now early implementations have a high barrier to change. 17:46:13 (e.g. Geolocation which was reviewed at the earliest point) 17:46:44 NM: people will be relucant to change if there are many users 17:47:06 AVK: browsers may change their process. Things behind flags are likely to be iterable. 17:47:38 YK: we're far too nice to web developers about truly experimental features. My expectation is that it'll break if it's new. We think we're awesome at it, but in practice things change and break all the time. It's crazy to care about it. 17:47:46 AvK: that's not true 17:47:48 YK: it is! 17:48:20 YK: people love to whine about it, but as a practical matter, if you use something new it's still likely to change 17:48:51 [ disagreements ] 17:49:12 NM: it has been historically problematic that early drafts are "frozen" in impls 17:50:03 JJ: some people review early, some review late... 17:50:14 HT: can we move to a new topic? 17:50:20 DKA: we're likely done 17:50:31 DKA: we should review and feed back 17:51:09 AR: hopeful note: we CAN change things, in the way that we have for WA 17:53:06 JJ: there's a weekly call in the CG 17:55:40 YK: some of us ran on a platform of extensibility 17:56:00 YK: it's about providing low-level hooks without waiting lots of time to define high-level features 17:56:24 YK: SW is one area that shows this area 17:56:52 JJ: if there's some fundamentally different way that the TAG wants people to think about the platform, perhaps you should be taking 15 min of your hour to present this 17:57:26 JJ: after reading the manifesto, went to Mozilla, and asked "what should I do differently?", and they said "nothing" 17:57:48 YK: it's a reflection of how people working in standards are now thinking, and a thing to link to and point at 17:58:01 NM: one of the roles of the TAG is to document Web Architecture 17:58:40 NM: you're describing this an emergent OS, and there's a point of view that says you might want to outline organizing principles 17:59:20 AR: I'm hoping that's what the TAG can do 17:59:45 NM: i"m hearing bottom-up things...if there are things you want to say at a higher level, it might be worth articulating them 18:00:05 JJ: what's the message to chairs? should they be inviting people with different skills to their WGs? 18:00:07 AR: YES! 18:00:54 YK: Alex's perspective is that web developers tend to have lots of JavaScript experience and that's valuable 18:01:13 AR: do we have a plan? 18:01:46 JJ: was hoping part of the Chair's plenary schedule would include something about this and describe what it means and how to incorporate it into the process 18:02:05 YK/AVK: reasonable 18:02:21 DKA: should be lined up with whatever the Extensible Web CG will be presenting 18:02:42 ACTION: wycats_ : work to align with the Extensible Web CG] 18:02:42 Error finding 'wycats_'. You can review and register nicknames at . 18:03:49 ACTION: wycats : work to align with the Extensible Web CG] 18:03:49 Created ACTION-830 - : work to align with the extensible web cg] [on Yehuda Katz - due 2013-10-07]. 18:04:03 [ discussion about timing ] 18:04:34 http://lists.w3.org/Archives/Public/public-nextweb/2013Sep/0005.html 18:04:47 that's the public-nextweb post 18:04:54 thanks, wycats_ 18:09:02 [ discussion of offline, how it relates to extensibility, etc. ] 18:09:58 JJ: nothing else we really need to talk about today that I need to be here for...director's decision about HTML extension licensing doesn't require me... 18:10:57 JJ: web of things: tons of articles about "internet of things"...it's heating up and we're likley to run a workshop on this next spring. Different points of view about what they are -- sensors that emit data -- some think they're new devices that will have UIs. 18:11:12 DKA: no common consensus about "internet of things", let alone "web of things" 18:11:51 JJ: if anything 5 years from now called "internet of things" that doesn't work with the web, we should be ahead of it... 18:13:10 [ break, return to Service Workers in 15 min ] 18:24:35 dglazkov has joined #tagmem 18:24:57 hi folks! loving this interwebs thing you got going 18:27:00 YK, for the minutes from this morning, can you confirm that http://www.w3.org/2001/tag/2013/09/promise_example.txt is what you put on the whiteboard, please? 18:27:47 http://en.wikipedia.org/wiki/Toshokan_Sens%C5%8D 18:28:45 http://www.imdb.com/title/tt2315236/ is the movie I suppose 18:31:12 ht: https://gist.github.com/wycats/5b86f8109f0a9e423e02 18:32:01 Thanks 18:34:30 Scribe: Yves 18:34:47 Topic: Service Workers 18:40:30 AR: impossible to get complete content offline, you might want to get only the important emails, the latest blog entries (etc...) with you 18:41:37 content is the things you synchronize, offline is bootstrap + sync 18:43:28 AppCache is manifest-driven, not scriptable 18:44:06 and included caching issues 18:46:15 Service Worker acts as an in-browser proxy-cache 18:46:25 programmatic control over req/rep/caches 18:47:30 fetch is url-based, not limited to http ones (like data:// ) 18:48:48 Fetch: http://fetch.spec.whatwg.org/ 18:49:43 darobin has joined #tagmem 18:49:47 managing upgrade -> upgrading the application logic (then associated resources) 18:54:01 event-based, you can define your own listeners 18:57:38 you can also intercept request and in-script generate a response 18:59:29 q? 18:59:30 YL: does the cache act as a HTTP cache? (ie: do you have expires, for example)? 18:59:45 AR: no, you can build one on top of that, it's just primitives 18:59:48 trackbot, start meeting 18:59:50 RRSAgent, make logs public 18:59:50 Zakim has joined #tagmem 18:59:52 Zakim, this will be TAG 18:59:52 ok, trackbot; I see TAG_f2f()8:30AM scheduled to start 389 minutes ago 18:59:53 Meeting: Technical Architecture Group Teleconference 18:59:53 Date: 30 September 2013 18:59:57 zakim, who is here? 18:59:58 TAG_f2f()8:30AM has not yet started, dka 18:59:59 On IRC I see darobin, dglazkov, twirl, annevk, timbl, projector, ht, RRSAgent, noah, dka, Yves, plinss, slightlyoff, wycats_, bkardell, trackbot 19:00:09 q? 19:05:39 there is also space management, beforeEvicted and afterEvicted would give information 19:06:31 NM: most application are doing a "clear offline db" rather than purging, or asking what to purge 19:09:48 AR: this is synchronization, not an on-disk offline cache 19:10:29 Service Worker is a tool to create such offline cache 19:14:44 the controller can support alarm events 19:18:58 as it's not an HTTP cache, it can caches things beyond normal expiry 19:22:43 AR: there are two phases of upgrade 19:22:53 1/ install 19:23:47 2/ activate, for post-installation used to do cleanup/data upgrade/etc... 19:25:18 DKA: 'install' may be confused with installing an app, like on your desktop 19:26:15 AR: some people want to have the service worker present at first run, it has issues as it's a piece that don't have any UI 19:26:44 caches might be available to page outside of SW 19:28:53 AR: there are no fallback mechanism for worker for fetch 19:30:14 there are big questions 19:30:18 sync technologies 19:30:44 like shared data models 19:38:08 q? 19:39:52 WIP: https://github.com/slightlyoff/ServiceWorker/ 19:42:06 DKA: is there buy-in? 19:42:14 https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md 19:42:32 Anne: There are Mozilla people looking into this. 19:43:03 we might look at push before fetch 19:47:43 DKA: how about packaged apps? Will Service Worker obsoletes the current model? 19:49:55 q+ 19:50:07 q+ to tell a story about packaged apps and URLs 19:56:20 Noting - on "installed" web applications - it may be important to be able to expose a URL but some developers really need to be able to take over the whole screen without a URL bar - e.g. game developers. 19:59:42 I really wish ChromeOS had a URL button next to the maximize button I could use to get URLs in max mode 20:06:02 twirl has joined #tagmem 20:29:43 rfc3023? 20:29:58 Scribe: slightlyfof 20:29:58 trackbot, start meeting again 20:29:58 Sorry, dka, I don't understand 'trackbot, start meeting again'. Please refer to for help. 20:30:03 Scribe: slightlyoff 20:30:11 trackbot, start meeting 20:30:13 RRSAgent, make logs public 20:30:15 Zakim, this will be TAG 20:30:15 ok, trackbot; I see TAG_f2f()8:30AM scheduled to start 480 minutes ago 20:30:16 Meeting: Technical Architecture Group Teleconference 20:30:16 Date: 30 September 2013 20:30:18 rfc-3203? 20:30:28 rfc3023? 20:31:17 HT: one of the major reasons for RFC3023bis was that text/xml said that all text/* media types default to ISO-80859-1 instead of UTF-8 (which XML wanted) 20:31:27 http://tools.ietf.org/html/draft-ietf-appsawg-xml-mediatypes is the draft 20:31:37 HT: that got fixed after 3023 was published, and that was one of the maain drivers for publishing an update 20:31:38 s/80859/8859 20:31:54 HT: there was also nothing about fragment identifiers 20:32:09 YK: what's the best place to learn about fragids + XML? 20:32:16 HT: there is no official story! 20:32:59 HT: and that's written down in the draft...it's very simple. It has JenniT's blessing and includes what IETF accepts regarding suffix registrations (the "text/xml+*" registrations) 20:33:19 noah has joined #tagmem 20:33:53 TBL: there's a disjoint set of people writing fragment identifier specs vs. the specs that use them. It seems cleaner to have one reference the other. 20:34:20 HT: that's more relevant for RDF than for XML 20:34:32 AVK: but HTML does define it 20:34:40 NM: there's years of TAG discussion on this 20:34:41 HTML even defines its MIME type 20:34:46 so brave 20:35:05 HT: that was all background. What I need your help with is character encoding: one of the most complicated topics on the web 20:35:13 HT: when it breaks, users get really upset. 20:35:25 HT: getting it right matters 20:35:45 HT: in the case of XML, there are 3 sources of information about the encoding of an XML mime entity: 20:35:50 HT: charset http parameter 20:36:08 HT: the XML encoding declaration (usually in the first line) 20:36:18 HT: the byte order mark 20:36:37 (BOM) 20:36:58 HT: it takes 2 or 3 bytes (UTF 16 or UTF 8) 20:37:32 HT: the XML spec goes into considerable detail about what to do in the absence of external information (just encoding decl or BOM) but almost nothing about what to do when there is external information 20:37:53 HT: there is further irritation because it goes into the most detail regarding how to figure it out in a non-normative appendix. 20:38:21 AVK: it also doesn't constrain the number of bytes to be sniffed...you could pack the front with whitespace before the BOM 20:38:39 s/before the BOM/before the XML declaration/ 20:39:30 HT: late in the day, after we went to working group lc, this got called to my attention - if there is external information how do you determine the correct encoding? 20:40:01 HT: there are 2 lines in the non-normative appendix that say the external info should say what is authoritative 20:40:13 HT: the prose i inherited doesn't answer this problem 20:40:47 HT: I looked at what the HTML 5 spec says and did some experiments, and everyone is agreed that the BOM is authoritative 20:41:03 HT: if the BOM and the declaration conflict, ti's an XML error 20:41:26 HT: if there's BOM, it tells you what the enocding is 20:41:44 AVK: first you determine encoding looking at HTTP 20:41:50 AVK: then you send to decoding library 20:41:57 AVK: and it tells you what it got from the BOM 20:42:07 AVK: and if it gies you one, you use it 20:42:41 HT: any transcoding process that doesn't transcode the BOM is horribly broken and can't be recovered 20:42:50 HT: so the BOM is higher precedence than anything else 20:43:14 AVK: if there's a mismatch you get an error 20:43:19 AR: what sort of error? 20:43:27 AVK: parse error 20:44:55 HT: the remaining question is: if the charset says one thing and there is no BOM and the document says another thing, what do you go with? 20:45:14 HT: there are cases wehre no error will arise if you decode it using either 20:45:29 AR: this seems like the sort of case where you should have a defined order 20:45:46 HT: the 2 use-cases that are often refered to are: XML-unaware transcoders 20:46:02 (where the charset is correct and the string in the doc is incorrect) 20:46:29 HT: the other is a common server configuration that defaults to something in the charset which is often wrong and the user can't fix it 20:47:23 HT: the charset pushes us in the direction of trusting the XML declaration 20:47:40 PL: how common is it that there's a transcoder in the way? 20:47:48 HT: that pushes us away from the implementation consensus 20:47:55 HT: most things seem to go with the charset param 20:48:03 AVK: for HTML/CSS, HTTP takes precedence 20:48:13 AVK: I think we should do that here as it's consistent 20:48:32 AVK: there's not that much benefit to specifying charset at the HTTP level 20:49:01 AVK: i think it should be BOM, HTTP, then XML decl 20:49:05 HT: I'm happy with that too 20:49:27 HT: the reason I'm trying to gather support, is that it's not as simple as in-band vs. out-of-band 20:49:49 AVK: the way to think about it is that the in-band thing only looks at the bytes, not the BOM 20:51:00 AVK: this is the same set of steps we're using for HTML, CSS, WebVTT, etc. 20:51:27 HT: the thing I'd like is to know if there's anywhere that gives precedent to taking the BOM as authoritative, but I haven't found one 20:51:38 HT: very few specs mention the BML 20:51:51 AVK: all the web platform specs use it 20:51:59 AVK: there's no IETF precedent 20:52:16 HT: thanks. Glad to have this in the minutes...will ask for an endorsement in due course 20:52:26 HT: Silence is not consent at the IETF 20:52:51 HT: there's someone who's responsible for documents at the IETF 20:52:57 HT: and they won't like me for this 20:53:38 HT: thanks 20:53:50 DKA: anything we can cover in the next 5 min? 20:53:54 AR: the JSON thing? 20:54:30 Topic: Anne's Obscure XML thing 20:54:30 topic: XML thing 20:55:24 AVK: if you ahve an invalid byte sequence, it will bubble up to an XML parse error, but what an invalid byte sequence isn't defined except for a number of encodings 20:56:03 rrsagent, make minutes 20:56:03 I have made the request to generate http://www.w3.org/2013/09/30-tagmem-minutes.html dka 20:56:11 HT: the answer was that it was up to the character encoding spec to define what an error was. If they failed to do that, it wasn't XML's problem. 20:56:21 AVK: so you embrace the interop issues? 20:56:26 HT: yeah 20:56:51 HT: ISO 2022 has a strong idea of a valid escape sequence 20:57:06 HT: but I don't know about shift-jis 20:57:12 not sure if it defines error conditions 20:57:19 HT: I don't know if anyone looked at that 20:58:05 AVK: with most encodings, they'll get superset 20:58:20 AVK: you'll have a 92x94 table, with some cells not filled up 20:58:35 YK: a few round-tripping issue 20:58:38 AVK: yeah 20:58:54 AVK: other than that, XML is pretty tied down about what's a valid doc 20:59:23 [ end of day ] 20:59:36 s/valid doc/well-formed doc/ 20:59:44 thanks annevk 20:59:45 sorry 21:00:17 Adjourned 21:00:26 rrsagent, make minutes 21:00:26 I have made the request to generate http://www.w3.org/2013/09/30-tagmem-minutes.html dka 21:03:42 annevk has joined #tagmem 22:14:14 annevk has joined #tagmem 22:46:30 noah has joined #tagmem 22:50:20 noah has joined #tagmem 23:03:55 ht has joined #tagmem 23:07:42 dka has joined #tagmem 23:44:32 noah has joined #tagmem 23:47:50 marcosc has joined #tagmem 23:53:18 noah has joined #tagmem