IRC log of webapps on 2010-11-02

Timestamps are in UTC.

08:00:01 [RRSAgent]
RRSAgent has joined #webapps
08:00:01 [RRSAgent]
logging to
08:00:41 [Kai]
Kai has joined #webapps
08:00:56 [Barstow]
ScribeNick: MikeSmith
08:01:01 [yongil_jang]
yongil_jang has joined #webapps
08:01:02 [adrianba]
adrianba has joined #webapps
08:01:02 [smaug_]
smaug_ has joined #webapps
08:01:03 [Barstow]
Scribe: Mike_Smith
08:01:11 [Barstow]
RRSAgent, make log Public
08:01:18 [MikeSmith]
MikeSmith has joined #webapps
08:01:19 [Barstow]
Meeting: WebApps F2F Meeting
08:01:20 [shepazu]
shepazu has joined #webapps
08:01:25 [Barstow]
Date: 2 November 2010
08:01:30 [Barstow]
Chair: ArtB
08:02:35 [Barstow]
Present: ArtB, DougS, MikeSmith, Geoffrey, SamW, Maciej, DaveR, Olli, Adrian, EliotG, LaszloG, YaelA, AnssiK SureshC, Dom, Johnson
08:02:48 [eliot]
eliot has joined #webapps
08:03:08 [MikeSmith]
scribe: MikeSmith
08:03:33 [komasshu]
komasshu has joined #webapps
08:03:34 [Barstow]
Present+ AnneVK, KlausB
08:06:11 [anne]
anne has joined #webapps
08:07:13 [MikeSmith]
Topic: DOM3 Events
08:07:16 [shepazu]
08:07:17 [shepazu]
08:07:31 [MikeSmith]
shepazu: first is to our tracker page
08:07:36 [MikeSmith]
… does not have every issue
08:07:40 [wonsuk]
wonsuk has joined #webapps
08:07:47 [MikeSmith]
… because CLOSED issues don't show up
08:07:58 [MikeSmith]
… this reprepsents most of our LC technical comment
08:08:05 [Hyeonsoo]
Hyeonsoo has joined #webapps
08:08:07 [MikeSmith]
… we figured we might have to go through LC gain
08:08:14 [MikeSmith]
… we will be adding the locale string
08:08:14 [lgombos_w]
lgombos_w has joined #webapps
08:08:22 [MikeSmith]
… as we discussed yesterday
08:08:29 [MikeSmith]
… we will be making small changes
08:08:32 [Bo_Chen]
Bo_Chen has joined #webapps
08:08:32 [MikeSmith]
… improving wording
08:08:39 [MikeSmith]
… editorial explanations
08:08:44 [MikeSmith]
… going to LC again in Jan
08:08:49 [MikeSmith]
… this time "for reals"
08:09:02 [MikeSmith]
… pending any upheavals
08:09:06 [junliao]
junliao has joined #webapps
08:09:11 [MikeSmith]
… doesn't specifcy evvery possible thing
08:09:32 [MikeSmith]
… we had a comment from Garrett Smith
08:09:41 [Bo_Chen]
Bo_Chen has joined #webapps
08:09:41 [MikeSmith]
… also from Ample SDK
08:09:51 [MikeSmith]
anne: Sergei Ilinsky
08:09:54 [junliao]
junliao has joined #webapps
08:09:59 [MikeSmith]
shepazu: wansts to modularize
08:10:08 [MikeSmith]
… and Anne wants to modularize more too
08:10:15 [IceGuest_77]
IceGuest_77 has joined #webapps
08:10:17 [MikeSmith]
RRSAgent, make minutes
08:10:17 [RRSAgent]
I have made the request to generate MikeSmith
08:10:28 [gavin]
gavin has joined #webapps
08:10:29 [MikeSmith]
shepazu: introduces all the things that were in DOM2 events
08:10:42 [cslye]
cslye has joined #webapps
08:10:58 [MikeSmith]
… plues text input, keyboard input, one mutation event
08:11:03 [junliao]
junliao has joined #webapps
08:11:08 [wonsuk]
Present+ Wonsuk_Lee
08:11:12 [MikeSmith]
… though we have deprecated all the other mutation events
08:11:24 [MikeSmith]
RRSAgent, make logs public
08:11:43 [MikeSmith]
shepazu: I think we are more or less fr
08:11:48 [MikeSmith]
… feature complete
08:11:51 [cslye]
cslye has left #webapps
08:11:57 [MikeSmith]
anne: I'm the editor of DOM Core
08:12:09 [MikeSmith]
… I think it make sense for DOM Core to define mutation events
08:12:56 [freedom]
freedom has joined #webapps
08:13:04 [MikeSmith]
anne: simiilar to how we define Form events inside the Forms spec
08:13:28 [MikeSmith]
shepazu: we removed some Form-related events and those were moved to the Forms spec
08:13:46 [francois]
francois has joined #webapps
08:13:52 [MikeSmith]
mjs: How about making mutation events die in a fire?
08:14:17 [MikeSmith]
mjs: I agree if they have really tight coupling to DOM behavior, it makes sense to have them in the same place
08:14:31 [MikeSmith]
… but tehre are some cases that don't require tight coupling at all
08:15:05 [MikeSmith]
weinig: some of our chagnes are pending that they don7t break major editing sites
08:15:21 [MikeSmith]
… or goal is to turn it on and see what sites break
08:15:27 [MikeSmith]
RRSAgent, make minutes
08:15:27 [RRSAgent]
I have made the request to generate MikeSmith
08:16:20 [Seung-Jae]
Seung-Jae has joined #webapps
08:16:21 [MikeSmith]
08:16:26 [Johnson]
Johnson has joined #webapps
08:16:37 [MikeSmith]
smaug_: I don't understand why were are moving mutation events
08:16:45 [MikeSmith]
… I thought everybody just wanted them removed
08:17:06 [MikeSmith]
mjs: I thikn the DOM events mechanism really has become part of the core
08:17:28 [MikeSmith]
smaug_: yeah, but some specs may refere DOM events, but don't need to use DOM core
08:17:42 [MikeSmith]
mjs: there is almost no way to use DOM events without also using DOM core
08:18:10 [MikeSmith]
anne: what is an example where it's that case that something relies on DOM events but not DOM core
08:18:20 [kennyluck]
kennyluck has joined #webapps
08:18:37 [MikeSmith]
smaug_: some specs just extend [by adding new events and so don't need to reference DOM core]
08:19:06 [MikeSmith]
shepazu: anne, please explain what you want to move, specifically
08:19:22 [mjs]
08:19:24 [MikeSmith]
anne: there is a part call "Basic Event Interfaces"
08:19:34 [MikeSmith]
… it would make sense to split that part out
08:19:46 [MikeSmith]
shepazu: that is the core of DOM3 Events…
08:19:58 [MikeSmith]
anne: in addition to that, I think the mutation events should move too
08:20:04 [MikeSmith]
RRSAgent, make minutes
08:20:04 [RRSAgent]
I have made the request to generate MikeSmith
08:20:36 [shepazu]
08:20:36 [MikeSmith]
mjs: smaug, I think your dependency argument doesn't work [because the dependencies are complex]
08:20:39 [MikeSmith]
08:21:07 [MikeSmith]
anne: this is implementable in Java
08:21:23 [mjs]
what I said about dependencies is that DOM3 Events has a normative dependency on DOM 3 Core
08:21:41 [mjs]
so there's no such thing as depending on DOM Events without depending on DOM Core
08:22:05 [MikeSmith]
Art: anybody else have comments?
08:22:36 [MikeSmith]
adrianba: I don't have a strong opinion about where we go in the long term
08:22:49 [MikeSmith]
… there is plenty of time to talk about it
08:22:58 [MikeSmith]
… right now there is an Event spec
08:23:04 [MikeSmith]
… which is what we are targeting in IE9
08:23:22 [MikeSmith]
… it seems like the wrong time now to start cutting up the problem space in a different way
08:23:38 [mjs]
08:23:46 [MikeSmith]
… let's move the spec forward as it is
08:24:04 [Zakim]
Zakim has joined #webapps
08:24:11 [mjs]
08:24:40 [MikeSmith]
adrianba: we are chartered to work in a new async spec for [something like mutation events]
08:25:01 [MikeSmith]
adrianba: stabilizing what we how now and moving forward seems like the right thing
08:25:27 [MikeSmith]
mjs: my preference would be to move forward but plan [to move things to DOM Core later]
08:25:34 [Vagner-br]
Vagner-br has joined #webapps
08:25:43 [Barstow]
Present+ RichardT
08:25:52 [MikeSmith]
smaug_: I agree
08:26:00 [MikeSmith]
… let's get DOM3 Events done now
08:26:06 [MikeSmith]
… DOM Core will take years
08:26:17 [MikeSmith]
adrianba: we have implemented some of the mutatation events
08:26:29 [MikeSmith]
… we all understand the problems with mutation events
08:26:41 [Wuk]
Wuk has joined #webapps
08:26:50 [MikeSmith]
anne: I am afraid we are getting stuck with mutation events
08:26:57 [Vagner-br]
Vagner-br has left #webapps
08:26:58 [MikeSmith]
adrianba: we are kind of stuck with them anyway
08:27:14 [mjs]
08:27:47 [MikeSmith]
shepazu: if you are going to do part of it, it should all be in one spec
08:27:51 [junliao]
junliao has joined #webapps
08:27:56 [MikeSmith]
anne: what do you mean by all?
08:28:44 [MikeSmith]
anne: I don't think mouse events belongs together with it
08:29:02 [MikeSmith]
shepazu: I would agree that we should move DOM3 Events forward as it stands
08:29:07 [MikeSmith]
RRSAgent, make minutes
08:29:07 [RRSAgent]
I have made the request to generate MikeSmith
08:29:30 [MikeSmith]
anne: I don't think labeling them as deprecated helps us all that much
08:29:49 [MikeSmith]
mjs: if the number of implementations is increasing, then [clearly it's not helping]
08:29:58 [MikeSmith]
anne: making them async would be a big start
08:30:07 [richt]
richt has joined #webapps
08:30:10 [MikeSmith]
smaug_: we don't know that that will work
08:30:27 [MikeSmith]
smaug_: tehre are some other approaches that are not event-based
08:30:44 [seungjae]
seungjae has joined #webapps
08:31:31 [MikeSmith]
smaug_: it is possible to remove some features from the platform
08:31:34 [MikeSmith]
… it has been done
08:31:56 [MikeSmith]
shepazu: deprecation is a warning to authors
08:32:05 [Bo_Chen]
Bo_Chen has joined #webapps
08:32:28 [MikeSmith]
RRSAgent, make minutes
08:32:28 [RRSAgent]
I have made the request to generate MikeSmith
08:32:41 [Barstow]
Present+ BryanS, KaiH
08:32:53 [MikeSmith]
shepazu: it's not helpful to remove them from the spec at this point
08:33:15 [MikeSmith]
weinig: if they were removed from DOM3 Events, would MSFT consider not adding them in IE9
08:33:25 [MikeSmith]
[adrian shakes his head]
08:33:36 [MikeSmith]
shepazu: they are only supporting some of them
08:33:45 [MikeSmith]
adrianba: we are supporting them for interoperability reasons
08:34:04 [MikeSmith]
shepazu: they are in the spec because implementors asked for them to be in the spec
08:34:05 [bryan]
bryan has joined #webapps
08:34:22 [bryan]
Present+ Bryan_Sullivan
08:34:43 [MikeSmith]
art: I noticed big list of issues
08:34:55 [MikeSmith]
shepazu: a bunch of them are from David Flanagan
08:35:00 [MikeSmith]
[book author
08:35:29 [MikeSmith]
shepazu: Oli, Travis, Jacob Rossi, myself discussed them
08:35:42 [MikeSmith]
… we have agreed already to accept most of the comments
08:35:51 [MikeSmith]
… and have heard no objections from the list
08:36:15 [MikeSmith]
shepazu: even.timestamp is one that we have still be discussing
08:36:32 [MikeSmith]
08:37:00 [MikeSmith]
art: can you do all 50 0f these by the end of the year?
08:37:15 [MikeSmith]
shepazu: we can round-trip on these by end of January
08:37:23 [MikeSmith]
RRSAgent, make minutes
08:37:23 [RRSAgent]
I have made the request to generate MikeSmith
08:37:41 [MikeSmith]
shepazu: if nobody has more comments, let's move on
08:38:08 [MikeSmith]
art: we don't have our next topic scheduled until 11am
08:38:44 [Peter`]
Peter` has joined #webapps
08:39:17 [MikeSmith]
Topic: possible plans for console object spec/WG
08:39:45 [MikeSmith]
shepazu: a lot of people have said why don't specify the console object
08:40:03 [MikeSmith]
weinig: we just copied the console api into Webkit
08:40:25 [MikeSmith]
mjs: there are a few things around console that are Web-compatibility issues
08:41:00 [MikeSmith]
mjs: having to do with devs using console calls into their scripts even after they have done debugging
08:41:09 [MikeSmith]
weinig: there are a couple problems
08:41:24 [MikeSmith]
weinig: we don't think operations on the console should be visible to Web pages
08:41:37 [MikeSmith]
… we made some mistakes around that
08:42:25 [MikeSmith]
mjs: the fact that console.log exists and doesn't have potentially
08:43:37 [MikeSmith]
-> Console API
08:43:52 [MikeSmith]
adrianba: we having implemented the console in IE9
08:44:09 [MikeSmith]
08:44:29 [junliao]
junliao has joined #webapps
08:46:19 [MikeSmith]
adrianba: there is a session tomorrow to discuss a new community-driven spec-dev approah
08:46:31 [MikeSmith]
… this might be a good case to use as a pilot
08:46:42 [MikeSmith]
… for that approach
08:47:56 [MikeSmith]
Topic: Audio XG
08:48:52 [MikeSmith]
shepazu: about 6 months ago, we got in contact with some devs who were working on an api from programatically writing and reading audio streams
08:49:07 [MikeSmith]
… and we started in Incubator Group
08:49:09 [MikeSmith]
… XG
08:49:26 [Barstow]
Audio XG Charter:
08:49:44 [MikeSmith]
shepazu: and right now, Mozilla has a related API they have have developed
08:50:01 [MikeSmith]
… and Googl Chrome team has a related API as well
08:50:13 [MikeSmith]
shepazu: and we have decided to start a new WG
08:50:35 [Barstow]
Audio XG's mail list archive:
08:51:24 [Barstow]
Mike: Chrome team is working on this API
08:51:36 [Barstow]
... think we want broader participation
08:52:44 [MikeSmith]
shepazu: we would probably start the WG by February or so
08:55:07 [MikeSmith]
RRSAgent, make minutes
08:55:07 [RRSAgent]
I have made the request to generate MikeSmith
09:00:16 [MikeSmith]
Barstow: we will be back at 11am with anne at the podium
09:00:35 [MikeSmith]
Barstow: XHR1 test suite, and XHR1 issues
09:00:49 [Barstow]
RRSAgent, make minutes
09:00:49 [RRSAgent]
I have made the request to generate Barstow
09:00:50 [MikeSmith]
[we take a 1 hour break:
09:00:56 [MikeSmith]
RRSAgent, make minutes
09:00:56 [RRSAgent]
I have made the request to generate MikeSmith
09:02:06 [anne]
09:02:44 [arve]
arve has joined #webapps
09:03:07 [fons]
fons has joined #webapps
09:06:36 [junliao]
junliao has joined #webapps
09:09:53 [bryan]
bryan has left #webapps
09:25:24 [Barstow]
Barstow has joined #webapps
09:29:32 [pererik_]
pererik_ has joined #webapps
09:30:36 [sgondo_]
sgondo_ has joined #webapps
09:37:19 [ArtB]
ACTION: barstow ask Doug for a pointer to Google's "Before Input Proposal"
09:37:19 [trackbot]
Created ACTION-608 - Ask Doug for a pointer to Google's "Before Input Proposal" [on Arthur Barstow - due 2010-11-09].
09:40:50 [timeless_mbp]
timeless_mbp has joined #webapps
09:43:38 [kennyluck]
kennyluck has joined #webapps
09:44:19 [adam]
adam has joined #webapps
09:44:43 [bryan]
bryan has joined #webapps
09:44:51 [komasshu]
komasshu has joined #webapps
09:46:01 [ArtB]
09:46:01 [trackbot]
ISSUE-119 -- Consider adding input/keyboard locale to text and keyboard events -- open
09:46:01 [trackbot]
09:49:20 [mjs]
mjs has joined #webapps
10:03:39 [Barstow]
Barstow has joined #webapps
10:04:43 [Barstow]
ScribeNick: timeless_mbp
10:04:48 [timeless]
ScribeNick: timeless
10:04:56 [timeless]
Topic: XHR Testing
10:05:05 [timeless]
Scribe+ timeless
10:05:31 [timeless]
ArtB: Anne will be talking about XHR Level 1 Test Suite
10:05:38 [anne] and
10:05:38 [timeless]
… and Level 1 issues
10:05:48 [sicking]
sicking has joined #webapps
10:06:00 [timeless]
anne: XHR Level 1 went to CR
10:06:08 [timeless]
… which means it's awaiting implementations
10:06:17 [timeless]
… of course XHR has been implemented long ago already
10:06:23 [timeless]
… there is a test suite which has been announced on the list
10:06:28 [timeless]
… but there has been little response
10:06:41 [timeless]
… Since people are here now, I guess I can ask people directly
10:06:53 [timeless]
sicking: I haven't looked at the testsuite yet, but is it fully automated?
10:07:11 [timeless]
anne: you need a test harness, but it is automatic loaded a test says PASS/FAIL
10:07:24 [timeless]
sicking: i think one of our desires is that things be as automated as possible
10:07:32 [timeless]
anne: I agree
10:07:51 [anne]
10:08:05 [timeless]
… ? there is a testharness that it's written for which is used for other testsuites from this group
10:08:30 [timeless]
[ anne describes how individual tests are structured ]
10:08:39 [homata]
homata has joined #webapps
10:08:46 [shepazu]
shepazu has joined #webapps
10:08:46 [timeless]
adrianba: how much has the test suite changed recently?
10:08:55 [timeless]
anne: the framework changed to make it the same as the HTML WG
10:09:08 [timeless]
… quite a few changed because a number weren't matching the spec anymore
10:09:15 [timeless]
… the old testsuite was quite outdated
10:09:20 [timeless]
… some tests have been removed
10:09:28 [hidetaka]
hidetaka has joined #webapps
10:09:37 [Lachy]
Lachy has joined #webapps
10:09:42 [timeless]
… the number of tests has gone down. because some test assertions were combined into single test
10:09:56 [Lachy]
Lachy has joined #webapps
10:10:00 [timeless]
dom: did you follow any specific method to ensure every feature has been tested?
10:10:02 [timeless]
anne: um, no
10:10:24 [timeless]
… i tried reading carefully to ensure everything is covered
10:10:36 [timeless]
artb: do you think anything is missing?
10:10:46 [timeless]
anne: there's an open item in the issue database about credentials in urls
10:11:00 [timeless]
… the tests around that and authentication are not done yet
10:11:09 [dom]
(should known bugs in the test suite be documented somewhere?)
10:13:43 [timeless_mbp]
timeless_mbp has joined #webapps
10:13:57 [Johnson]
Johnson has joined #webapps
10:14:23 [timeless_mbp]
bryan: did you want to test posts?
10:14:31 [timeless_mbp]
… for redirects (?)
10:14:44 [timeless_mbp]
anne: i didn't want to because HTTP Biz is still undecided on some of this
10:14:50 [timeless_mbp]
… 301/302/307 ...
10:15:04 [timeless_mbp]
sicking: another thing is that Mozilla + Opera include dialogs on 307
10:15:10 [timeless_mbp]
… it's sort of a requirement in the HTTP spec
10:15:26 [timeless_mbp]
… but they don't have it for direct address
10:15:33 [Kai]
Kai has joined #webapps
10:15:41 [timeless_mbp]
… they're ratholes, so not tested yet, once they're resolved they'll be tested
10:16:17 [henri]
henri has joined #webapps
10:16:18 [timeless_mbp]
anne: the only accessible methods are GET and POST
10:16:23 [timeless_mbp]
sam: didn't hixie add DELETE?
10:16:28 [timeless_mbp]
anne: we got him to remove it
10:16:43 [timeless_mbp]
anne: Trailers aren't tested yet, because i didn't know about them or how to test them
10:16:49 [Barstow]
Present+ Jonas, Pablo, Jeremy, Andrei
10:16:53 [timeless_mbp]
sicking: so do we have to test them?
10:17:04 [shepazu]
shepazu has joined #webapps
10:17:10 [timeless_mbp]
anne: i might be able to test things w/ nph-
10:17:16 [timeless_mbp]
… but i'm not sure what to expect
10:17:27 [timeless_mbp]
sicking: trailers are after the response body
10:17:55 [timeless_mbp]
anne: so i guess the text that talks about the response body would have to talk about changing the state
10:18:04 [timeless_mbp]
… as far as i'm concerned, we don't need to support it
10:18:15 [timeless_mbp]
… for readyState changes
10:18:21 [timeless_mbp]
… but do you go to the DOM state
10:18:28 [dom]
10:18:54 [timeless_mbp]
sam: you said the php scripts are available in an svn server?
10:19:04 [timeless_mbp]
anne: yeah, it was the second link i posted
10:19:05 [dom]
10:19:29 [timeless_mbp]
artb: i assume the action then is for everyone to help this spec reach the exit criteria
10:19:35 [timeless_mbp]
… is to review the tests
10:19:47 [timeless_mbp]
anne: i assume there are some spec/test items which need fixing
10:19:57 [timeless_mbp]
… there's one other small test which might need fixing
10:20:08 [timeless_mbp]
… Byorn Herman
10:20:20 [dom]
10:20:26 [timeless_mbp]
… pointed out byte order swaps
10:20:33 [timeless_mbp]
s/swaps/mark character/
10:20:34 [shepazu]
s/Byorn Herman/Björn Höhrmann/
10:20:43 [jorlow]
jorlow has joined #webapps
10:21:05 [helena]
helena has joined #webapps
10:21:09 [timeless_mbp]
artb: we had set expectations that we wouldn't exit CR before Feb 2011
10:21:17 [timeless_mbp]
sicking: which is two conforming implementations?
10:21:26 [timeless_mbp]
anne: I don't think that's likely to happen
10:21:36 [timeless_mbp]
… I would encourage people to review the editor's draft instead of this
10:21:47 [timeless_mbp]
… because there have been some changes to make this closer to XHR2
10:22:02 [timeless_mbp]
… removing some throw conditions to enable CORS
10:22:10 [timeless_mbp]
… those have been reflected in the testsuite already
10:22:17 [timeless_mbp]
… i try to keep the testsuite and the draft in sync
10:22:32 [timeless_mbp]
… that also means that if you implement to the testsuite, there shouldn't be any conflicts with XHR2
10:22:37 [timeless_mbp]
… if there are, that would be a bug
10:23:06 [timeless_mbp]
anne: i'm not sure if we want to discuss any of the issues now
10:23:16 [timeless_mbp]
artb: that's up to you, we have some of the people in the room
10:23:24 [timeless_mbp]
anne: one of them is the user info protection in the urls
10:23:31 [timeless_mbp]
… i think microsoft doesn't implement it
10:23:35 [timeless_mbp]
… and i think the other vendors do
10:23:57 [timeless_mbp]
… so that you can have http://user:pass@host/...
10:24:08 [timeless_mbp]
anne: I think the HTTP people want to remove it
10:24:14 [timeless_mbp]
sicking: I think we could try to remove it
10:24:26 [timeless_mbp]
sicking: does the spec say they must be supported?
10:24:37 [timeless_mbp]
anne: the http url spec does mention them
10:24:48 [timeless_mbp]
anne: does the url get sent to the server?
10:25:05 [timeless_mbp]
sicking: it might leak in the form of a referer header
10:25:37 [shepazu]
scribenick: timeless
10:25:53 [timeless]
sicking: i'm sure the url testsuite ...
10:26:00 [timeless]
anne: they are mentioned in the spec
10:26:07 [timeless]
… the spec has user and password arguments
10:26:21 [shepazu]
q+ to describe policy on php in test suites
10:26:22 [timeless]
… which are used to set authorization headers (?)
10:26:42 [timeless]
… if we don't remove it ...
10:26:57 [timeless]
anne: there is an issue in the bug database, i think it's the only open issue at this point
10:27:06 [timeless]
10:27:09 [timeless]
ack shepazu
10:27:09 [Zakim]
shepazu, you wanted to describe policy on php in test suites
10:27:29 [timeless]
shepazu: so dom followed up with the Systems Team on PHP tests
10:27:39 [timeless]
… we just got confirmation that we will be hosting the php tests
10:27:41 [Barstow]
ACTION: barstow XHR: add link to bugzilla in PubStatus
10:27:41 [trackbot]
Created ACTION-609 - XHR: add link to bugzilla in PubStatus [on Arthur Barstow - due 2010-11-09].
10:27:58 [timeless]
… any tests that involves PHP will require review by the Systems Team
10:28:06 [timeless]
… they will be hosted on the load balancing servers
10:28:09 [timeless]
anne: which servers?
10:28:23 [timeless]
dom: they'll be hosted on
10:28:35 [timeless]
dom: it would be helpful if you moved to the mercurial server
10:28:39 [timeless]
anne: i think there's a version there
10:28:43 [timeless]
… but probably not up to date
10:29:07 [seungjae]
seungjae has joined #webapps
10:29:09 [timeless]
shepazu: the process will be such that you let us know when there's a specific version you want deployed
10:29:17 [timeless]
… it will not be deployed until the systems team reviews it
10:29:28 [timeless]
shepazu: i think this will come up a lot
10:29:36 [timeless]
anne: there's also the web sockets stuff
10:29:52 [timeless]
dom: i think that is more complicated and will require more work
10:30:08 [timeless]
… i think we can manage, it requires more work
10:30:19 [timeless]
shepazu: for cross domain work, i think we'll need another domain
10:30:37 [timeless]
adrianba: we already have "test" and "test2" which are cnames
10:30:57 [timeless]
dom: if you are working on any test suite that has server side things, please get in touch with the Systems Team early
10:31:07 [timeless]
anne: if you really want to test the really gritty networking stuff
10:31:21 [timeless]
… I think you will need HTTPS, certificates, DV, EV, OV,...
10:31:31 [timeless]
shepazu: those are good points
10:31:40 [AnssiK]
AnssiK has joined #webapps
10:31:54 [timeless]
… Philippe is starting a new testing project
10:32:07 [timeless]
… so setting up a little test honey pot might be possible
10:32:22 [MikeSmith]
RRSAgent, make minutes
10:32:22 [RRSAgent]
I have made the request to generate MikeSmith
10:32:27 [timeless]
dom: in general i think what's important is getting things to the REC track
10:33:31 [timeless_mbp]
timeless_mbp has joined #webapps
10:33:42 [shepazu]
s/in general i think what's important is getting things to the REC track/in general i think what's important is getting things to the REC track, so get in touch with Systems Team earlier rather than later/
10:33:45 [timeless]
timeless has joined #webapps
10:33:58 [timeless]
ScribeNick: timeless
10:34:13 [timeless]
artb: anything else about XHR or its testsuite?
10:34:28 [timeless]
anne: no. apart from asking people to review/give comments
10:34:35 [chaals]
chaals has joined #webapps
10:34:39 [timeless]
bryan: is it easy to set up?
10:34:44 [timeless]
anne: yes, there's a readme
10:34:55 [dom]
(can we record an action to update the test suite on
10:35:00 [timeless]
artb: based on the feedback you've got so far on the XHR1 candidate
10:35:02 [chaals]
rrsagent, make minutes
10:35:02 [RRSAgent]
I have made the request to generate chaals
10:35:19 [timeless]
Action anne update the test suite on
10:35:23 [trackbot]
Created ACTION-610 - Update the test suite on [on Anne van Kesteren - due 2010-11-09].
10:35:40 [timeless]
anne: Before going back to last call
10:35:49 [timeless]
... make sure that we have two implementations that pass all the tests
10:36:05 [timeless]
... and that the specification has all the implementations passed that
10:36:40 [timeless]
... so that when we go back to LC we can go to PR after that (skipping CR)
10:36:57 [timeless]
artb: the third bullet for this hour is a general discussion about testing
10:37:03 [timeless]
... and we've already gone down that path quite a bit
10:37:14 [timeless]
anne: we could discuss responseArrayBuffer briefly
10:37:20 [timeless]
... i'm not sure we could reach a conclusion now
10:37:22 [Hixie]
Hixie has joined #webapps
10:37:31 [timeless]
Topic: XHR2 responseArrayBuffer
10:37:48 [timeless]
sicking: I do have something to say on this
10:37:59 [timeless]
sicking: So, the complicated issue is that...
10:38:03 [timeless]
... there's multiple topics
10:38:11 [timeless]
... the whole ongoing discussion right now about parsing...
10:38:19 [timeless]
... all requests into all response properties
10:38:28 [timeless]
... (Boris Z)
10:38:45 [timeless]
sicking: what i'd like to do is move away from the current situation
10:38:54 [timeless]
... where we parse into multiple properties
10:39:00 [timeless]
... which is the XHR1 behavior
10:39:15 [timeless]
... I want to move to a way where you specify up front which thing you want
10:39:26 [timeless]
adrianba: I think that makes sense
10:39:41 [timeless]
... so if you know it's coming as JSON or you want it as a Blob, you can specify that
10:39:53 [timeless]
sicking: obviously we need to retain compatibility with XHR1
10:40:13 [timeless]
... and the stuff where you get a document
10:40:22 [timeless]
anne: this sounds kind of annoying
10:40:37 [timeless]
sicking: while it is nice to have things nice to have things parsed into everything
10:40:46 [timeless]
... it's only nice if you don't have to consider all the resources used
10:40:55 [timeless]
... what we're talking about is Document
10:41:03 [timeless]
anne: but you only need to create Document once it's requested
10:41:08 [timeless]
... you don't have to do it all up front
10:41:13 [timeless]
sicking: in our implementation
10:41:28 [timeless]
... we'll do charset-decoding differently depending on whether we're parsing into a document or not
10:41:41 [timeless]
... so responseText changes depending on whether you have a document
10:41:46 [timeless]
... and the spec requires this
10:42:09 [timeless]
sicking: everything else, JSON, Blobs, streams...
10:42:18 [timeless]
anne: streams?
10:42:26 [timeless]
sicking: we'll end up having to do it
10:42:40 [timeless]
adrianba: streams for media...
10:42:54 [timeless]
sicking: you can't set headers without this
10:43:05 [timeless]
adrianba: or you might want to process the data as it arrives
10:43:25 [timeless]
[anne was asking about using <video> ]
10:43:54 [timeless]
sam: we don't have to convince anne about streams
10:44:04 [timeless]
... more things will be using new content formats
10:44:27 [timeless]
geoffrey: there will be more and more kinds with time
10:44:39 [timeless]
anne: this screws with content negotations
10:44:43 [timeless]
10:44:56 [timeless]
[ scribe laughs ]
10:45:23 [timeless]
sicking: one of the aspects of my proposal is that you can set .responseType after headers are received
10:45:32 [timeless]
... but before any data has been processed
10:45:47 [timeless]
anne: how would it work for sync requests/
10:45:58 [timeless]
sicking: we'd fire events
10:46:07 [timeless]
anne: but they're blocked by the sync request
10:46:16 [timeless]
sicking: you can't fire an async request, but you can fire a sync event
10:46:24 [timeless]
... that's trivial implementation-wise
10:46:33 [timeless]
... you just run code on the main thread
10:46:38 [timeless]
anne: that sounds hairy
10:46:50 [timeless]
smaug_: we explicitly want to get rid of ready state change events
10:46:56 [timeless]
10:47:10 [timeless]
smaug: because that causes hanging in safari
10:47:22 [timeless]
adrianba: i think it's fine to not support sync requests for this new feature
10:47:29 [timeless]
... because we want to push people toward async
10:47:39 [timeless]
anne: for workers sync requests are fine
10:47:46 [MikeSmith]
RRSAgent, make minutes
10:47:46 [RRSAgent]
I have made the request to generate MikeSmith
10:48:10 [timeless]
10:48:35 [timeless]
anne: i'm saying you're opening a rathole
10:49:06 [timeless]
mjs: so what are we specifically talking about?
10:49:25 [timeless]
geoffrey: this was for when we receive headers
10:49:40 [timeless]
anne: i don't think we should really fire events during a sync request
10:49:47 [adam]
s/receive headers/receive content headers/
10:49:49 [timeless]
... because conceptually that's confusing/seems really weird
10:50:12 [timeless]
mjs: there's generally a separate thread buffering the data from the network
10:50:18 [timeless]
sam: the buffering is already happening
10:50:34 [timeless]
... anyone doing network handling on the main thread is probably doing something really wrong anyway
10:50:43 [timeless]
sicking: i'm suggesting this *only* for workers
10:50:53 [timeless]
anne: I guess I would have to reference Workers from XHR2
10:51:08 [timeless]
sam: we kind of think of sync as deprecated in the main context now
10:51:22 [timeless]
... so adding features and having them exposed for the non workers case is kind of like whatever
10:51:52 [timeless]
mjs: even in workers, i think it makes sense to encourage people to have multiple concurrent requests
10:52:10 [timeless]
... by not providing this feature for sync
10:52:19 [timeless]
sicking: i'm not sure that this has taken off
10:52:56 [timeless]
artb: time check
10:53:03 [timeless]
artb: we have test suites we've already covered
10:53:16 [timeless]
... and you have ...
10:53:37 [timeless]
sicking: i posted my original proposal on content negotiation to the list
10:53:45 [timeless]
... it's a long thread
10:53:55 [timeless]
sicking: i had one more issue on byte array
10:54:04 [timeless]
sicking: have you seen the proposal on the ecma list
10:54:10 [timeless]
... about another binary format?
10:54:15 [timeless]
anne: i'm not on the list
10:54:22 [timeless]
... i think it should align with webgl
10:54:23 [MikeSmith]
sicking, url?
10:54:34 [timeless]
sicking: it's a long discussion
10:55:03 [timeless]
sicking: i'll try to find the url
10:55:15 [mjs]
mjs has joined #webapps
10:55:24 [timeless]
anne: i don't mind removing endianness
10:55:29 [timeless]
... but it would have to be aligned about webgl
10:55:47 [timeless]
sam: the reason for the endianness is that you want things in host byte order for webgl
10:55:55 [timeless]
sicking: not all details are worked out yet
10:55:59 [timeless]
... the idea is to have it be fast
10:56:07 [timeless]
... but without exposing platform endianness
10:56:21 [Guest724]
Guest724 has joined #webapps
10:56:36 [timeless]
... the problem is that you're talking between two languages, JS and GLSL
10:56:53 [timeless]
... david herman is the guy who made the proposal
10:56:54 [anne]
GLSL = OpenGL Shading Language
10:57:41 [sicking]
10:57:46 [sicking]
10:57:54 [sicking]
10:58:30 [timeless]
artb: before we go on to DOM Core, I wanted to set aside a few minutes for testing
10:58:41 [Guest724]
anne , t'es franaise ?!
10:58:42 [timeless]
adrianba: we submitted tests for the webapps and html WGs
10:59:15 [adrianba]
10:59:15 [timeless]
adrianba: i'd like to move away from a system where we have a different process per spec for submission
10:59:34 [timeless]
... we have some tests which we have committed to the mercurial repository - i just pasted the link
10:59:40 [Guest724]
Guest724 has left #webapps
10:59:50 [timeless]
... when I was talking to doug, he was trying to develop tests alongside the spec
11:00:06 [timeless]
... we/he found that if you develop tests as you develop the spec, it's easier to find spec issues
11:00:16 [euhrhane]
euhrhane has joined #webapps
11:00:20 [timeless]
... there's a question of where to put tests as things are developed
11:00:43 [timeless]
... and keep aware of which things are agreed upon tests. which are under development. which aren't agreed
11:01:10 [timeless]
sicking: we should try to require tests to be automatically runnable
11:01:11 [Barstow]
ACTION: barstow work with Team and Chaals on formalizing test suite process for WebApps
11:01:12 [trackbot]
Created ACTION-611 - Work with Team and Chaals on formalizing test suite process for WebApps [on Arthur Barstow - due 2010-11-09].
11:01:26 [timeless]
anne: ... whenever possible
11:01:46 [timeless]
adrianba: i think the work that anne did to refactor the XHR test suite to use the same framework as the HTML tests
11:01:58 [timeless]
... he should receive credit for that, because it made things much easier to review
11:02:12 [timeless]
sicking: when mozilla started adding tests to a framework
11:02:17 [timeless]
... it made things much better
11:02:39 [timeless]
... So if we have a formalized framework, and we should pick one, and force everyone [in the webapps WG] to use that one
11:02:44 [timeless]
artb: for new tests...
11:03:01 [timeless]
shepazu: certainly most of the tests around browser stuff should use the same framework
11:03:18 [timeless]
... there's probably some stuff in W3C outside of browser context where this doesn't make sense
11:03:31 [timeless]
... the SVG group has also agreed to move to the same framework
11:03:54 [timeless]
... with SVG2, things are not going to go into the spec without having tests added
11:03:57 [Barstow]
Present+ BoChen, DavidRogers
11:04:05 [timeless]
... until we do that, we'll mark things as under review
11:04:12 [Barstow]
Present+ EricU
11:04:15 [timeless]
... I guess i'm just offering a +1 for a common framework as much as possible
11:04:25 [timeless]
... have we talked about testing with WebIDL?
11:04:44 [timeless]
... because if you describe stuff in a spec with webidl, you're going to be able to extract that and do a certain amount of automated tests
11:04:49 [timeless]
... or not?
11:04:49 [Barstow]
Present+ AdamB
11:04:57 [timeless]
sicking: i'm more of a fan of handwritten tests
11:04:57 [Barstow]
RRSAgent, make minutes
11:04:57 [RRSAgent]
I have made the request to generate Barstow
11:05:01 [timeless]
... i'll believe it when i see it
11:05:20 [timeless]
dom: there was a perl tool that i mentioned on public script ...
11:05:29 [timeless]
... that generated tests from idl
11:05:44 [timeless]
... But I agree with jonas that it's better to start with manual tests
11:06:20 [timeless]
adrianba: the model that creating things is that you can use automatic creation to simplify basic generation of
11:06:49 [timeless]
sicking: at mozilla we're also looking into automatically testing things that aren't automatically testable
11:07:11 [timeless]
... such as testing interacting with a file picker
11:07:20 [timeless]
... things which require apis which aren't web accessible
11:07:38 [timeless]
AnssiK: about function testing... do you have things other than unit testing?
11:07:44 [shepazu]
s/automatic creation to simplify basic generation of/automatic creation to simplify basic generation of simpler tests to supplement hand-written tests/
11:07:49 [timeless]
sicking: what we do is that we expose a lot of stuff to javascript
11:07:51 [dom]
s/public script/public-script-coord/
11:07:58 [timeless]
... to have javascript override the dialog
11:08:05 [timeless]
... we can also fake real clicks on things
11:08:15 [timeless]
... it's being rewritten because the way we did it is not good
11:08:25 [dom]
-> perl tool to generate test cases based on WebIDL
11:08:27 [timeless]
AnssiK: there's a thing called sellenium
11:08:42 [timeless]
[ ]
11:08:53 [timeless]
... which is cross browser
11:08:57 [AnssiK]
11:09:00 [timeless]
sicking: we're using a somewhat different approach
11:09:08 [mjs]
mjs has joined #webapps
11:09:16 [timeless]
shepazu: when i tried to do test first / test in parallel
11:09:20 [timeless]
... i unfortunately failed
11:09:29 [timeless]
... i couldn't get the resources together in order to do that
11:09:45 [adam]
Selenium can be automated using something like Hudson
11:09:59 [timeless]
... do people find testing in parallel to develop tests at the same time as developing the spec
11:10:19 [timeless]
David: with WAC we made sure that there are Test Assertions as you write the spec
11:10:29 [dom]
-> A Method for Writing Testable Conformance Requirements
11:10:38 [timeless]
... the outcome of what you want can be written out as the spec is written
11:10:53 [timeless]
... you have a test description file that links back to the spec
11:11:34 [seungjae]
seungjae has joined #webapps
11:11:36 [timeless]
shepazu: is there interest in imposing this on the WG?
11:11:41 [AnssiK]
s/function testing/functional testing/
11:11:49 [timeless]
artb: yes, I took an action to work this out
11:11:58 [noah]
noah has joined #webapps
11:12:01 [timeless]
... we'd put forward a proposal to the WG
11:12:07 [timeless]
... no one objected
11:12:21 [timeless]
adrianba: i volunteered testing resources
11:12:41 [timeless]
david: we strongly support any work in testing
11:12:50 [adrianba]
s/i volunteered testing resources/i volunteer to help define the process proposal/
11:13:08 [timeless]
... we've had complaints in WAC, the other stuff has been quite difficult for us to test (for lack of tests)
11:13:17 [timeless]
Topic: Web DOM Core
11:13:47 [timeless]
anne: DOM Level 3 Core was a REC a long time ago
11:14:02 [timeless]
... there's various differences in what web browsers implemented and what the spec says
11:14:22 [timeless]
[ anne describes differences ]
11:14:33 [euhrhane]
euhrhane has joined #webapps
11:14:53 [mjs]
mjs has joined #webapps
11:15:02 [Barstow]
ArtB: Web DOM Core abstract:
11:15:35 [timeless]
anne: there are a few things HTML5 currently defines, which I think should be moved back to DOM Core
11:15:41 [timeless]
... like what createElement does
11:16:09 [shepazu]
[here's a short analysis of a case of WRONG_DOCUMENT_ERR: ]
11:17:36 [timeless]
.... and defining what Document.charset/Document.defaultCharset/... are.
11:17:53 [timeless]
... but leaving HTML to define when it sets them
11:18:26 [timeless]
... there's a more ambitious goal of getting rid of AttrNodes
11:20:52 [timeless]
[ sicking talks about DOM UserData]
11:21:02 [mjs]
mjs has joined #webapps
11:21:06 [timeless]
sicking: i'm surprised no one has got requests for them
11:21:13 [timeless]
sam: we have
11:21:21 [timeless]
... but in the past we've said can't you use set property?
11:21:29 [timeless]
... and that's been good enough for them
11:21:48 [timeless]
sicking: but you could get conflicts with future specs
11:23:20 [timeless]
sicking: yeah i'm all for getting rid of AttrNodes
11:23:30 [timeless]
... i was talking to travis from Microsoft about it
11:23:45 [seungjae]
seungjae has joined #webapps
11:23:46 [timeless]
... we might need to add ownerElement on the Attr
11:24:00 [timeless]
... the main goal is to make them not be nodes
11:24:07 [MikeSmith]
RRSAgent, make minutes
11:24:07 [RRSAgent]
I have made the request to generate MikeSmith
11:25:15 [timeless]
anne: this would move the namespaceURI away from Node
11:25:43 [timeless]
sicking: attribute nodes, i know we keep having security issues with
11:26:02 [timeless]
anne: the other things, it would be nice to get rid of, but it isn't terribly important
11:26:57 [timeless]
anne: namespaceURI is only relevant for Element and Attr
11:27:06 [timeless]
sicking: it's useful for simple traversal
11:27:14 [timeless]
anne: the main reason is to avoid casting in Java
11:27:27 [timeless]
sicking: forms does the same thing, so you can iterate the forms.elements array
11:27:46 [timeless]
... so you can avoid checking the type before getting properties
11:27:54 [timeless]
anne: but what would you be doing?
11:27:55 [seungjae]
seungjae has joined #webapps
11:28:03 [timeless]
sicking: ...i don't know...
11:28:26 [timeless]
artb: so, this afternoon will be IndexDB, chaired by Anne
11:28:39 [timeless]
sicking: is anyone else planning to try to start removing these things?
11:28:45 [timeless]
anne: we don't want to lead
11:28:55 [timeless]
sam: webkit would be interested in trying in nightlies
11:29:07 [timeless]
anne: we have already removed DOM UserData by not implementing it
11:29:18 [timeless]
sam: I have done the same for years, by not implementing it
11:29:35 [timeless]
anne: we are not actively removing things, but we have tried to restrain ourselves from implementing things
11:30:02 [timeless]
... we would really like the Attr thing
11:30:26 [timeless]
sam: Are there any NodeLists that return Nodes other than Elements?
11:30:34 [timeless]
anne: there were. but I tried to kill those
11:30:38 [timeless]
... maybe there are no longer
11:31:42 [timeless]
Break for Lunch
11:31:47 [Barstow]
RRSAgent, make minutes
11:31:47 [RRSAgent]
I have made the request to generate Barstow
11:32:29 [adam]
adam has left #webapps
11:33:00 [henri]
henri has left #webapps
11:37:52 [wonsuk]
wonsuk has left #webapps
12:19:41 [jaeyeollim]
jaeyeollim has joined #webapps
12:31:07 [timeless_mbp]
timeless_mbp has joined #webapps
12:31:17 [myakura]
myakura has joined #webapps
12:31:29 [Ileana]
Ileana has joined #webapps
12:32:46 [anthony]
anthony has joined #webapps
12:34:19 [weinig]
weinig has joined #webapps
12:34:24 [anne]
anne has joined #webapps
12:34:48 [arun]
arun has joined #webapps
12:34:57 [Barstow]
Barstow has joined #webapps
12:35:42 [mjs]
mjs has joined #webapps
12:36:05 [freedom]
freedom has joined #webapps
12:36:32 [shepazu]
shepazu has joined #webapps
12:37:23 [adam]
adam has joined #webapps
12:37:54 [adrianba]
adrianba has joined #webapps
12:38:05 [anne]
arun, you there?
12:38:21 [anne]
arun, you want to dial in for Indexed DB?
12:38:26 [dom]
Zakim, code?
12:38:26 [Zakim]
sorry, dom, I don't know what conference this is
12:38:28 [MikeSmith]
arun: you got a Skype ID?
12:38:32 [dom]
Zakim, this is webapp
12:38:32 [Zakim]
dom, I see IA_WebApps(TPAC)4:00AM in the schedule but not yet started. Perhaps you mean "this will be webapp".
12:38:38 [arun]
Hi there Mike
12:38:45 [MikeSmith]
hey man
12:38:49 [AnssiK]
AnssiK has joined #webapps
12:38:52 [sicking]
sicking has joined #webapps
12:38:53 [arun]
MikeSmith: I'd like to dialin if possible.
12:38:58 [dom]
Zakim, this is webapps
12:38:58 [Zakim]
dom, I see IA_WebApps(TPAC)4:00AM in the schedule but not yet started. Perhaps you mean "this will be webapps".
12:39:02 [dom]
Zakim, this is ia_webapps
12:39:02 [Zakim]
dom, I see IA_WebApps(TPAC)4:00AM in the schedule but not yet started. Perhaps you mean "this will be ia_webapps".
12:39:04 [arun]
anne: I'd like to dial in if possible.
12:39:09 [dom]
Zakim, this will be ia_webapps
12:39:09 [Zakim]
ok, dom; I see IA_WebApps(TPAC)4:00AM scheduled to start 279 minutes ago
12:39:33 [Zakim]
IA_WebApps(TPAC)4:00AM has now started
12:39:34 [Zakim]
12:39:49 [Zakim]
+ +1.415.294.aaaa
12:39:50 [Zakim]
- +1.415.294.aaaa
12:39:50 [Zakim]
+ +1.415.294.aaaa
12:39:59 [pablo]
pablo has joined #webapps
12:40:18 [smaug_]
smaug_ has joined #webapps
12:40:26 [MikeSmith]
scribe: MikeSmith
12:40:36 [MikeSmith]
Topic: IndexedDB
12:40:44 [MikeSmith]
RRSAgent, make minutes
12:40:44 [RRSAgent]
I have made the request to generate MikeSmith
12:40:58 [aroben]
aroben has joined #webapps
12:41:50 [smaug_]
smaug_ has joined #webapps
12:41:52 [adam]
Adam Boyet - Boeing
12:42:24 [homata]
homata has joined #webapps
12:42:33 [Kai]
Kai has joined #webapps
12:43:04 [MikeSmith]
Paulo: there is a list of topics on the mailing list
12:43:12 [anne]
12:43:25 [adrianba]
12:43:29 [MikeSmith]
12:43:33 [jorlow]
jorlow has joined #webapps
12:43:35 [bryan]
bryan has joined #webapps
12:43:38 [MikeSmith]
RRSAgent, make minutes
12:43:38 [RRSAgent]
I have made the request to generate MikeSmith
12:43:44 [bryan]
Present+ Bryan_Sullivan
12:43:46 [lgombos_w]
lgombos_w has joined #webapps
12:43:47 [sicking]
sicking has joined #webapps
12:43:55 [sgondo]
sgondo has joined #webapps
12:43:59 [richt]
richt has joined #webapps
12:44:13 [eliot]
eliot has joined #webapps
12:44:16 [yael]
yael has joined #webapps
12:44:24 [MikeSmith]
pablo: shall we do Keys?
12:44:41 [MikeSmith]
pablo: keys and tables… what we have today is simple keys
12:44:51 [MikeSmith]
… compound keys, custom orders
12:44:53 [anne]
Indexed DB:
12:44:55 [hidetaka]
hidetaka has joined #webapps
12:45:02 [MikeSmith]
…e.g., by date + by integer
12:45:10 [MikeSmith]
… key value would be an array
12:45:24 [MikeSmith]
sicking: not sure what syntax we should use
12:45:31 [chaals]
chaals has joined #webapps
12:45:42 [anne]
Topic: Keys
12:45:43 [arun]
Zakim, aaaa is arun
12:45:43 [Zakim]
+arun; got it
12:45:57 [MikeSmith]
sicking: one proposal was array of "key paths"
12:47:33 [MikeSmith]
jorlow: compound keys, being able to have arrays in your keys; another thing is compound indexes
12:47:37 [igarashi]
igarashi has joined #webapps
12:47:46 [MikeSmith]
pablo: can't we reduce that to the same problem?
12:47:54 [komasshu]
komasshu has joined #webapps
12:48:10 [MikeSmith]
jorlow: one or part of the structure of the DB, one is something you can do more ad hoc
12:48:22 [Zakim]
+ +1.408.446.aabb
12:48:24 [Nikunj]
Nikunj has joined #webapps
12:48:26 [MikeSmith]
… key could be array one time, a string or something else the next
12:49:03 [anne]
who is +1.408.446.aabb? Nikunj?
12:49:07 [Nikunj]
12:49:09 [anne]
12:49:18 [arun]
Zakim, aabb is Nikunj
12:49:18 [Zakim]
+Nikunj; got it
12:49:19 [anne]
zakim, +1.408.446.aabb is Nikunj
12:49:19 [Zakim]
sorry, anne, I do not recognize a party named '+1.408.446.aabb'
12:49:26 [anne]
screw you Zakim
12:49:42 [shepazu]
Zakim, aabb is Nikunj
12:49:42 [Zakim]
sorry, shepazu, I do not recognize a party named 'aabb'
12:49:58 [darobin]
darobin has joined #webapps
12:50:17 [MikeSmith]
pablo: rule of strictly sorting by type, then sort by value is very sharp
12:51:23 [noah]
noah has joined #webapps
12:51:24 [MikeSmith]
jorlow: another question is, what do we want to do if you ahve a key path to "foo" and you insert an item that doesn't include a "foo"
12:51:34 [dsr]
dsr has joined #webapps
12:51:37 [jaeyeollim]
jaeyeollim has joined #webapps
12:52:49 [MikeSmith]
[discussion about what to do if a key path resolves to an array]
12:53:02 [MikeSmith]
RRSAgent, make minutes
12:53:02 [RRSAgent]
I have made the request to generate MikeSmith
12:53:05 [dsr]
dsr has left #webapps
12:53:15 [fons]
fons has joined #webapps
12:55:49 [MikeSmith]
sicking: every place where we currently allow values we should also allows arrays
12:57:55 [MikeSmith]
[discussion about difficulty of implementing]
12:57:58 [noahm]
noahm has joined #webapps
12:58:07 [MikeSmith]
RRSAgent, make minutes
12:58:07 [RRSAgent]
I have made the request to generate MikeSmith
12:58:15 [Johnson]
Johnson has joined #webapps
12:58:49 [MikeSmith]
[sicking demonstrates with some code]
12:58:59 [noah2]
noah2 has joined #webapps
13:00:00 [noah]
noah has joined #webapps
13:00:24 [yongil_jang]
yongil_jang has joined #webapps
13:00:34 [MikeSmith]
Option A is an array is just a single value
13:00:53 [MikeSmith]
s/Option A/pablo: Option A/
13:02:59 [davidb]
davidb has joined #webapps
13:04:13 [MikeSmith]
jorlow: example is that people can have multiple names, and you can construct an index such that multiple names map to the same person
13:04:31 [MikeSmith]
pablo: I am not sure about composite keys made of arrays
13:04:45 [Hyeonsoo]
Hyeonsoo has joined #webapps
13:06:13 [MikeSmith]
sicking: the 2nd case is multiple records pointing to the same object store
13:06:41 [Nikunj]
I thought that composite key means there are many parts to a key and that the parts are obtained from different paths
13:07:00 [Nikunj]
The discussion seems to be about a single path resolving to multiple values
13:07:27 [MikeSmith]
sicking, see Nikunj comment
13:08:31 [MikeSmith]
sicking: Nikunj, I agree with your interpretation
13:08:39 [MikeSmith]
jorlow: yeah, agreed
13:08:44 [seungjae]
seungjae has joined #webapps
13:09:27 [MikeSmith]
jorlow: what are we going to do in teh case where you are inserting a value that doesn't include something for a key path
13:09:50 [MikeSmith]
e.g., you are inserting a person and you don't include a first name, and the first name is the key
13:11:16 [Nikunj]
Multiple keys in an index pointing to a single object is not the same use case as compound key
13:11:18 [MikeSmith]
jorlow: pablo, you seem to be worried that any handling of arrays is going to be a lot of work
13:11:33 [igarashi]
igarashi has joined #webapps
13:11:42 [Nikunj]
The latter is about constructing a key serialization from multiple keypaths
13:11:56 [Nikunj]
The former changes the meaning of a key
13:12:41 [MikeSmith]
RRSAgent, make minutes
13:12:41 [RRSAgent]
I have made the request to generate MikeSmith
13:13:40 [Nikunj]
there is a difference between composite and compound keys
13:13:52 [Nikunj]
13:14:11 [noah]
noah has joined #webapps
13:15:07 [arve]
arve has joined #webapps
13:16:14 [MikeSmith]
sicking: in solution A we can have a mix of values and arrays.
13:16:31 [MikeSmith]
jorlow: should be allow keys to be indexes?
13:17:21 [MikeSmith]
jorlow: the only use case is, search on multiple keys
13:19:05 [MikeSmith]
jorlow: use case 1 is, my DB has people in it, with first name and last name
13:19:34 [MikeSmith]
… and I want to search for everybody who has both a certain first name and a certain last name
13:19:55 [MikeSmith]
jorlow: use case 2 is @@something @@
13:21:24 [MikeSmith]
jorlow: 3rd possibility is first-name entry, last-name entry, then an entry that has both that duplicates the first two
13:22:03 [jorlow]
13:22:05 [MikeSmith]
jorlow: choice is, do you want users to have to duplicate their data? or do you want to have duplicated indexes
13:24:24 [MikeSmith]
s/@@something @@/database contains people, find person with name "foo", be that first or last name/
13:24:43 [MikeSmith]
anne: so there's no AND ?
13:24:56 [MikeSmith]
jorlow: there's no query language
13:26:49 [MikeSmith]
Nikunj: I am not sure you need composite keys nor compound keys
13:29:26 [MikeSmith]
jorlow: specifying a join language is a very big task
13:29:45 [MikeSmith]
… for that, you can take whatever we've done so far here and multiply it by 100
13:30:16 [MikeSmith]
Nikunj: I am looking for a join _primitive_
13:31:51 [MikeSmith]
Topic: internationalization
13:32:26 [MikeSmith]
pablo: scenario is, you expect sort order to be in accord with your language
13:32:43 [Nikunj]
See for a description of the join primitive
13:34:51 [MikeSmith]
sicking: question is, are we happy with having a language on a DB-wide basis? [as opposed to per object store]
13:34:52 [andreip]
andreip has joined #webapps
13:34:59 [Johnson]
Johnson has joined #webapps
13:35:04 [fons]
fons has left #webapps
13:38:31 [anne]
13:42:48 [MikeSmith]
Topic: Dynamic transactons:
13:43:17 [MikeSmith]
jorlow: my vote is, don't do it
13:49:17 [Nikunj]
What is the current topic?
13:49:28 [anne]
13:50:14 [anne]
... all transactions have time-consistency
13:50:26 [anne]
... how implementations achieve that is up to the implementation
13:50:41 [anne]
... for writers you can only have one writer happening at the time
13:50:48 [anne]
... unless they are separate object stores/tables
13:51:15 [anne]
... you could figure out the overlap and be very smart... whatever (something like that)
13:51:35 [anne]
... should be some more non-normative text that explains this
13:52:04 [anne]
JS: if you start two transactions; is there any guarantee with respect to order?
13:52:38 [anne]
JO: I don't think so; get weird behavior with locking; would be shame as we get less concurrency
13:52:46 [anne]
JS: what if there is overlap
13:53:07 [anne]
JS: read, readrequest, write, writerequest
13:53:18 [anne]
JO: no order guaranteed
13:53:47 [anne]
JS: sounds very racy
13:53:58 [anne]
JO: if you cared do not start them at the same time
13:54:24 [anne]
Pablo: I don't think it is strictly a race
13:54:33 [anne]
JO: what is the use for starting them at the same time?
13:54:40 [anne]
Pablo: there should not be starvation
13:54:44 [anne]
JS: already says that
13:55:07 [anne]
JS: in Firefox there's no raceness and you always know the order
13:55:22 [anne]
JS: and no starvation either
13:55:36 [anne]
JO: I can't think of any reason you start these and expect them to run in the same order
13:56:25 [anne]
thank you darobin
13:56:35 [junliao]
junliao has joined #webapps
13:56:59 [anne]
Pablo: workers also introduce these problems
13:59:19 [anne]
Topic: synchronous API
14:00:17 [anne]
within one worker you can only have one transaction
14:00:34 [anne]
that assumes requiring locks is in order
14:01:21 [anne]
make minutes
14:01:25 [anne]
RRSAgent, draft minutes
14:01:25 [RRSAgent]
I have made the request to generate anne
14:01:31 [mjs]
ScribeNick weinig
14:01:44 [weinig]
js: you already have to lock tables
14:02:51 [weinig]
js: we have to make the transaction function take a callback
14:03:05 [weinig]
pablo: why can't we make the second transaction fail
14:03:41 [weinig]
js: it would be very confusing for two independent libraries to interact together
14:04:04 [weinig]
pablo: that syntax seems very unwieldily
14:05:24 [weinig]
jo: the function is just defining scope
14:05:38 [weinig]
js: transactions within the function will throw
14:05:52 [weinig]
jo: is anyone planning to implement sync
14:06:02 [weinig]
jo: should we have a warning in the spec?
14:06:19 [weinig]
jo: editors should try and keep sync and async in sync
14:07:00 [weinig]
pablo: is everyone planning on doing async in main context and sync and async in workers?
14:07:03 [weinig]
everyone: yes
14:07:14 [Nikunj]
can implementors provide an update on their implementation status/plans
14:07:27 [weinig]
pablo: should transactions be allowed in transactions?
14:08:56 [weinig]
jo: maybe we should have an open nested transaction
14:09:16 [weinig]
pablo: everything you would need to do you can do off the transaction
14:09:32 [hidetaka]
hidetaka has joined #webapps
14:09:33 [weinig]
pablo: lets ignore the last few lines
14:10:32 [Zakim]
14:11:57 [Zakim]
14:21:00 [hidetaka]
hidetaka has joined #webapps
14:32:18 [yongil_jang]
yongil_jang has left #webapps
14:36:40 [pererik]
pererik has joined #webapps
14:41:13 [ArtB]
ArtB has joined #webapps
14:42:05 [anne]
scribe: anne
14:42:31 [adrianba]
adrianba has joined #webapps
14:42:55 [Ileana]
Ileana has left #webapps
14:43:01 [Ileana]
Ileana has joined #webapps
14:43:10 [komasshu]
komasshu has joined #webapps
14:44:29 [MikeSmith]
RRSAgent, make minutes
14:44:29 [RRSAgent]
I have made the request to generate MikeSmith
14:45:12 [Ileana]
Ileana has left #webapps
14:45:17 [Ileana]
Ileana has joined #webapps
14:45:33 [anne]
Topic: Bugzilla
14:45:49 [anne]
RESOLVED: not automatically assign to Nikunj; MikeSmith to follow up
14:46:18 [anne]
We have room number 4 all day tomorrow
14:46:22 [anne]
times to be announced
14:46:37 [MikeSmith]
if the problem is that Nikunj is not in the tracker DB I can add him now
14:47:00 [anne]
Topic: quotas
14:47:27 [anne]
Pablo: by default we are not going to let apps fill the disk; so what to do
14:47:30 [MikeSmith]
trackbot, status?
14:47:35 [anne]
Pablo: lots of degrees of freedom
14:47:58 [anne]
MikeSmith, it would be nice if it was assigned to a nobody instead since Nikunj is not the only editor
14:48:06 [MikeSmith]
14:48:10 [MikeSmith]
I will change it now
14:48:11 [anne]
Pablo: bytes are not necessarily meaningful as a unit
14:48:14 [Zakim]
14:48:14 [anne]
14:48:15 [Zakim]
14:48:15 [Zakim]
14:48:48 [yongil_jang]
yongil_jang has joined #webapps
14:49:24 [anne]
Pablo: first attempt to use the database; anything the app needs to do?
14:50:14 [anne]
SQL DB estimated size argument was very confusing
14:50:58 [anne]
Dealing with size constraints:
14:51:05 [anne]
1) no API impact
14:51:30 [anne]
Chrome has a hard limit (with a non-specced error)
14:53:58 [anne]
conclusion seems to be that some kind of quota error is needed
14:56:29 [noah]
noah has joined #webapps
14:56:47 [freedom]
freedom has joined #webapps
14:56:53 [anne]
the spec does not say you create the index asynchronously
14:56:59 [anne]
JO: i think it is implied
14:57:05 [anne]
Pablo: it should be explicit
14:57:18 [anne]
JO: i think it is in there, maybe should be more explained
14:57:50 [anne]
JO: if it fails it fails the transaction
14:57:57 [mjs]
mjs has joined #webapps
14:58:51 [anne]
Does there need to be a way for asking for more space?
14:59:41 [anne]
adrianba: in SilverLight we wanted to give the app more control
14:59:57 [pablo]
pablo has joined #webapps
15:00:17 [anne]
adrianba: if e.g. you download a huge file you do not want the UA to have to ask and ask again
15:00:22 [anne]
adrianba: but instead allocate once
15:00:32 [andreip]
andreip has joined #webapps
15:01:30 [Zakim]
15:02:03 [anne]
JO: use cases are caching and some kind of permanent storage (i.e. offline written email)
15:02:13 [anne]
Pablo: impossible for us to decide
15:02:21 [anne]
RRSAgent, draft minutes
15:02:21 [RRSAgent]
I have made the request to generate anne
15:02:44 [anne]
15:03:47 [anne]
JO: in Chrome we plan to group APIs together
15:03:58 [anne]
JO: if you get 10 MB you can use it for several APIs
15:04:58 [anne]
AvK: for the hint for the pre-allocation of memory case it should be a generic API if we are heading in that direction
15:07:00 [Zakim]
15:07:01 [Zakim]
15:07:01 [Zakim]
15:07:21 [anne]
JO: for the persistant vs temporary case that should be noted on the object store
15:07:40 [anne]
JO: maybe change createObjectStore (or something like that) to take this as parameter
15:08:24 [anne]
Topic: blobs
15:09:27 [anne]
adrianba: how long do blobs persist?
15:09:30 [Nikunj]
Nikunj has joined #webapps
15:09:32 [anne]
JS: tied to the Window object
15:11:23 [anne]
Eric: if you want to change a Blob you create a new one
15:13:55 [anne]
Eric: you cannot create a File at the moment
15:13:57 [mackbot]
mackbot has joined #webapps
15:14:19 [anne]
Eric: a file has a last modified time and a name
15:15:16 [anne]
Pablo: I'm assuming when you store it in the DB it is a copy
15:15:19 [freedom]
freedom has joined #webapps
15:15:28 [mackbot]
mackbot has left #webapps
15:17:56 [anne]
JS: I hope Indexed DB to be enough
15:18:10 [anne]
JS: not need a File System
15:18:22 [darobin]
darobin has joined #webapps
15:18:54 [bryan]
bryan has joined #webapps
15:19:24 [arun]
arun has joined #webapps
15:19:45 [arun]
Zakim, who is on the call?
15:19:45 [Zakim]
On the phone I see Rhone_3A, arun
15:19:50 [Johnson]
Johnson has joined #webapps
15:21:57 [anne]
JS: I don't want File System to have a capability that Indexed DB does not
15:22:10 [anne]
which is that you can modify a file that is stored
15:22:17 [anne]
(if the scribe gets it correctly)
15:22:52 [mjs]
mjs has joined #webapps
15:23:29 [anne]
[questions on this topic are best asked on the list]
15:25:33 [anne]
Topic: Indexed DB Last Call
15:25:33 [noahm]
noahm has joined #webapps
15:25:38 [anne]
JO: should we set goals
15:26:41 [anne]
adrianba: address the existing issues
15:26:49 [anne]
JO: full text search is important
15:27:14 [anne]
JO: not gonna be efficient with what we have now
15:27:41 [MikeSmith]
RRSAgent, make minutes
15:27:41 [RRSAgent]
I have made the request to generate MikeSmith
15:28:28 [anne]
JO: full text search is extremely important to Google
15:28:41 [sgondo]
sgondo has joined #webapps
15:28:51 [arun]
Full text search was important to external developers as well.
15:29:00 [anne]
JO: I hope that one or two changes to the API can make this possible
15:30:15 [anne]
JO: I want to get proof first, before adding something to the specification
15:31:42 [mjs]
mjs has joined #webapps
15:32:13 [anne]
15:32:45 [anne]
Pablo: some kind of tracking
15:32:51 [anne]
15:33:02 [anne]
[further discussion on list]
15:36:51 [mjs]
mjs has joined #webapps
15:36:55 [euhrhane]
euhrhane has joined #webapps
15:37:30 [ericu]
ericu has joined #webapps
15:39:52 [anne]
arun, you still here?
15:40:00 [arun]
anne, yep
15:40:06 [anne]
15:40:33 [anne]
I guess Jonas can go through the File API mostly
15:40:38 [anne]
might be tricky over the phone
15:40:49 [arun]
anne, it's cool. I can hear you guys really clearly
15:40:56 [arun]
anne, if I need to speak I'll just speak up.
15:41:05 [pererik_]
pererik_ has joined #webapps
15:41:31 [arun]
anne, you can refer to the email I sent about agenda stuff if you like.
15:42:01 [Lachy]
Lachy has joined #webapps
15:42:11 [anne]
15:42:17 [anne]
15:42:21 [anne]
Topic: File API
15:43:20 [arun]
anne is the URL string trouble maker
15:47:00 [jorlow]
scribe: jorlow
15:47:46 [jorlow]
anne, doesn't like adding 2 more methods to window
15:47:59 [jorlow]
arun, any other solution is back to the drawing board
15:48:12 [jorlow]
anne, vendor prefixing might help limit usage
15:48:23 [jorlow]
anne, but we still need to find the right solution
15:49:37 [andreip]
andreip has joined #webapps
15:50:17 [jorlow]
ericu, stuff put on the global object so that stuff is tied to the lifetime of the window
15:50:34 [jorlow]
jonas: when window is nagivated away, all urls are revoked
15:50:41 [jorlow]
sam: you can do that regaurless of the syntax
15:51:00 [jorlow]
ericu: what about if you pass from one window to another? this is more explicit
15:51:07 [jorlow]
sam, disagrees
15:52:00 [jorlow]
jonas, is fine with other suggestions. thinks reusing url is weird because it's only somewhat related
15:52:15 [Peter`]
Peter` has joined #webapps
15:52:18 [jorlow]
sam, so you could just have a blobURI object
15:53:06 [jorlow]
jonas, an object might make sense....something about domURL
15:53:17 [jorlow]
anne, don't you want to stringify it as well?
15:53:20 [jorlow]
jonas, no
15:53:44 [jorlow]
jonas, you'd create an object from a string
15:53:54 [dveditz]
dveditz has joined #webapps
15:54:03 [jorlow]
anne, you're still not solving the problem
15:54:10 [jorlow]
jonas, trying to solve 2 problmes
15:54:32 [jorlow]
jonas, something so we don't create strings...for that, need to create a new type of it domURL for now
15:54:54 [jorlow]
anne, domURL could be some union type of blob and stream
15:55:24 [jorlow]
jonas, don't want create to be through some constructor and revoke through a completely different api
15:56:13 [jorlow]
jonas: we coudl create a global dummy object with both methods
15:56:49 [jorlow]
arun: is it worth make global dummy object the same thing being specced by adam barth
15:56:51 [jorlow]
15:57:18 [jorlow]
jonas: abarth's thing is to solve parsing urls. this isn't want we need to do with blob urls
15:57:24 [jorlow]
anne: not so sure
15:58:17 [jorlow]
jonas: there's a vague resemblance given that they both revolve around URLs
15:58:19 [jorlow]
sam: agrees
15:58:27 [jorlow]
sam: especially since adam's thing doens't exist yet
15:58:40 [jorlow]
sam: can we discuss other things?
15:58:55 [jorlow]
jonas: the proposed solution is some global object where we put 2 functions
15:59:07 [jorlow]
anne: is there some existing place we could put them?
15:59:30 [jorlow]
sam: maybe window.blob? but you want to do it for stream too so maybe that's not a good place
15:59:40 [mjs]
mjs has joined #webapps
16:00:03 [jorlow]
ericu and others: k, let's move on
16:00:11 [timeless]
16:00:30 [timeless]
16:00:44 [jorlow]
sam: 2 questions. file list has been redefined to be a sequence of files rather than a simple object. our implementation has file lists like node lists. sequence doesn't have an item function.
16:00:52 [jorlow]
anne: cameron said sequence isn't for that type of thing
16:01:02 [jorlow]
jonas: saw hixie open a bug on something similar today
16:01:11 [jorlow]
sam: in the mean time, should we go back to the simple interface?
16:01:18 [jorlow]
anne: file lists should probably follow others
16:01:31 [jorlow]
general agreement
16:02:08 [jorlow]
sam: file reader + write have event handler attributes but don't inherit from event target.
16:02:12 [jorlow]
arun: it does
16:02:17 [jorlow]
sam: sees it...what about writer?
16:02:20 [jorlow]
ericu: if so, it's a bug
16:02:35 [jorlow]
anne: we should have some consistency
16:02:59 [jorlow]
sam: using implements probably makes sense (vs. inheriting) in the spec
16:03:06 [jorlow]
arun: agrees with sam
16:03:19 [jorlow]
anne: XHR inherits
16:03:30 [jorlow]
sam: in webkit, event target isn't in the prototype chain
16:03:37 [jorlow]
sam: does it affect it though?
16:03:46 [jorlow]
anne: maybe xhr should change
16:03:52 [jorlow]
jonas: no advantage to not inheriting
16:04:18 [jorlow]
sam: let's avoid multiple inheritance
16:04:25 [jorlow]
jonas: agrees
16:04:37 [jorlow]
jonas: but most of these thigns don't inherit
16:04:41 [jorlow]
anne: XHR does
16:04:49 [jorlow]
jonas: but you can add it to the bottom of the chain
16:04:49 [timeless]
16:05:13 [jorlow]
sam: everything in svg uses multiple inheritance
16:05:16 [AnssiK]
Present+ Anssi_Kostiainen
16:05:46 [jorlow]
sam: we should probably bring this up as a WebIDL issue
16:06:05 [jorlow]
jonas: it's unfortuate you can't add stuff to event target prototype
16:06:17 [jorlow]
sam: if we could solve multiple inheritance in a good way, then maybe it's a non-issue
16:06:45 [MikeSmith]
RRSAgent, make minutes
16:06:45 [RRSAgent]
I have made the request to generate MikeSmith
16:06:46 [jorlow]
sam: jonas, are you coming to tc39?
16:06:48 [jorlow]
jonas: yes
16:06:55 [jorlow]
anne: does it have anything more on file api?
16:07:13 [jorlow]
s/does it/do we/
16:08:11 [MikeSmith]
s/Transactions/scribe: anne/
16:08:15 [MikeSmith]
RRSAgent, make minutes
16:08:15 [RRSAgent]
I have made the request to generate MikeSmith
16:08:40 [jorlow]
jonas: request from google...when you request url, wants to do something related to content type (didn't understand)
16:08:45 [jorlow]
i didn't understand
16:08:46 [arun]
arun: do we still have URL string dereferencing behavior?
16:09:10 [jorlow]
ericu: right now content type is a property of blob
16:09:30 [jorlow]
ericu: we could add these properties to blob directly
16:09:48 [jorlow]
arun: only contnet disposition was asked for
16:10:14 [jorlow]
arun: just like content type
16:10:23 [MikeSmith]
i/What is the current topic/scribe: anne
16:10:26 [timeless]
16:10:28 [MikeSmith]
RRSAgent, make minutes
16:10:28 [RRSAgent]
I have made the request to generate MikeSmith
16:10:55 [MikeSmith]
16:10:57 [jorlow]
jonas: darin fisher has asked for content disposition. jonas has said to use file save back to him
16:11:09 [jorlow]
jonas: and point the file saver to the blob directly
16:11:29 [jorlow]
ericu: we want blob url to work just like any other
16:11:36 [arun]
arun: right, so instead of Content-Disposition on Blob URLs, you have a URL argument to the FileSave constructor.
16:12:06 [jorlow]
ericu: gmail offline, for example, wants to be able to view and download with similar code. just different urls. presentation layer stays same, but backend just gives different urls
16:12:21 [jorlow]
sam: not sure he understands why you'd create a url from a blob and pass it to an XHR
16:12:27 [jorlow]
jonas: not sure anyone suggested this
16:12:39 [jorlow]
sam: isn't that the reason to set headers: to get it through XHR?
16:12:44 [jorlow]
jonas: no, it was just to explain
16:12:50 [jorlow]
jonas: iframes care about headers
16:13:16 [freedom]
freedom has joined #webapps
16:13:29 [jorlow]
jonas: to do gmail file saving, create iframe, take blob, create url, content dis. header, iframe looks at that header, it works
16:13:34 [jorlow]
ericu: can't you do that today?
16:13:54 [jorlow]
ericu: only need iframe trick if you don't have content disposition header
16:13:58 [jorlow]
16:14:09 [jorlow]
jonas: link with target: _blank
16:14:12 [jorlow]
sam: that opens a window
16:14:26 [jorlow]
anne: behavior varries
16:14:29 [jorlow]
sam: agreed
16:14:34 [jorlow]
sam: very marginal use case
16:14:49 [jorlow]
jonas: it's a very roundabout way of triggering file save dialog
16:14:54 [arun]
arun: +1 to sam, sicking
16:14:59 [jorlow]
ericu: urls have these properties already
16:15:13 [jorlow]
ericu: making offline urls work just like online urls seems nice
16:15:21 [jorlow]
sam: they're more a property of the resource, not the url itself
16:15:38 [jorlow]
jonas: it's actually a property of the person initiating the load
16:15:44 [jorlow]
jonas: make file save support taking url
16:15:50 [jorlow]
jonas: same architecture for blobs and urls
16:16:07 [jorlow]
sam: some browsers default behavior is not prompt and download to directory
16:16:17 [jorlow]
sam: so that'd behave differently
16:16:38 [jorlow]
sam: iframe with content disposition treated as download, file saver treated as save as
16:16:47 [jorlow]
jonas: i'm not sure we'd behave differently
16:17:17 [jorlow]
timeless: we shipped that behavior 2+ years ago
16:17:31 [timeless]
[we = Mozilla/Firefox]
16:17:37 [jorlow]
ericu: if you want file saver to do the default, that's another behavior
16:18:26 [jorlow]
jonas: if people only want a download mechanism, we should do it right not extend hack
16:18:33 [jorlow]
arun: hack exists for http reasons
16:18:50 [jorlow]
arun: ericu's "uber question" is a good one
16:18:57 [jorlow]
ericu: allowing all headers in seems cleaner
16:19:07 [jorlow]
anne: it's complicated if we only care about content disposition
16:19:23 [jorlow]
sam: setting something like x frame options could be useful
16:20:17 [jorlow]
sam: my recollection are that most of these things are attributed to the resource not the url
16:20:36 [jorlow]
sam: it seems a bit hackish to set headers on a blob
16:21:03 [jorlow]
ericu: agrees. a blob might never be used as a url
16:21:35 [jorlow]
ericu: in some cases, the headers are more assicated with the url rather than the resource itself
16:21:44 [jorlow]
jonas: this discussion has gotten a bit meta
16:21:57 [jorlow]
jonas: should the headers arguments exist on the blob or create url function
16:22:07 [jorlow]
sam: that's one question. the other is whether we need the headers
16:22:17 [jorlow]
ericu: likes headers. if we have them, put them on createURL function
16:23:07 [jorlow]
anne: let's move discussion to list
16:23:18 [jorlow]
anne: talks about his sneaky plan
16:23:47 [jorlow]
ericu: we can go back to file after writer/system questions
16:23:57 [timeless]
the example for using URL instead of Blob to have the bits is to match Gmail where an image attachment has View and Download links - two urls to the same blob data
16:24:06 [jorlow]
ericu: doesn't have any issues to bring up
16:24:11 [jorlow]
anne: can you give a quick introduction?
16:24:37 [jorlow]
ericu: does said introcution...
16:24:43 [timeless]
16:25:03 [timeless]
Topic: FileSaver
16:25:27 [anne]
s/FileSaver/File: Writer and File: Systems and Directories/
16:25:40 [timeless]
RRSAgent, make minutes
16:25:40 [RRSAgent]
I have made the request to generate timeless
16:26:19 [jorlow]
sam: so file writer sync doesn't not pop up a dialog?
16:26:27 [timeless]
16:26:30 [jorlow]
ericu: yup
16:26:41 [jorlow]
ericu: this is just a writing interface...doesn't describe how to get access
16:26:51 [jorlow]
ericu: file system spec gives another away to get access to a file
16:27:05 [jorlow]
ericu: otherwise the only way is file saver
16:27:18 [jorlow]
ericu: file system is like a chrooted environment to create dirs, files, etc
16:27:33 [jorlow]
ericu: file system is good if your data isn't structured
16:27:45 [jorlow]
ericu: game designers want this for art assets, for example
16:27:59 [jorlow]
sam: what about indexedb
16:28:02 [jorlow]
jorlow: or app cache
16:28:10 [jorlow]
ericu: not good match for app's all or nothing
16:28:17 [timeless]
16:28:19 [jorlow]
jonas: thinks system is not needed
16:28:25 [jorlow]
jonas: because of indexedDB
16:28:40 [jorlow]
sam: data cache or an extension to app cache might have worked as well
16:28:43 [jorlow]
ericu: yes
16:28:49 [jorlow]
sam: waht about various databases
16:28:54 [timeless]
16:28:57 [jorlow]
sam: jonas's face was scary
16:29:03 [jorlow]
ericu: it's a matter of taste
16:29:29 [jorlow]
sam: seems like adding this much API surface area for a matter of taste is bad taste
16:29:33 [jorlow]
ericu: it's more than just taste
16:29:34 [arun]
arun: I agree with ericu about it being a matter of taste. Some like file system based metaphors, and some like databases for everything.
16:29:44 [jorlow]
ericu: sharing data with apps outside of the browser is good too
16:30:16 [jorlow]
sam: indexedDB could store files in the file system if it wanted to
16:30:32 [jorlow]
ericu: that seems odd. no hierarchy
16:30:36 [jorlow]
jonas: yeah, no meta data
16:30:41 [jorlow]
ericu: gives a use case
16:30:52 [jorlow]
sam: if that's a use case, it should be explicit in spec
16:31:05 [jorlow]
sam: and what about when file system doesn't exist
16:31:11 [Wuk]
Wuk has joined #webapps
16:31:13 [jorlow]
ericu: that's one reason to make it explicit in the spec
16:31:38 [jorlow]
ericu: it's a significant motivator, but not required
16:31:45 [yongil_jang]
yongil_jang has joined #webapps
16:31:58 [jorlow]
jorlow: you could store meta data ad-hoc in indexedDB if you wanted to
16:32:11 [jorlow]
jonas: the meta data will be understandable by other apps
16:32:58 [jorlow]
jonas: hurdle: some people are nervous about allowing websites to save stuff to a known location
16:33:32 [jorlow]
sam: we probably want to add changes to mac os X to allow ..?
16:33:43 [jorlow]
ericu: in current implementation, files not saved in known location
16:33:52 [jorlow]
ericu: describes the hack
16:34:35 [jorlow]
ericu: many apps know how to scan a hierarchy of dirs (that can scan it in)
16:34:49 [jorlow]
timeless: then you just exploit some app like iTunes or picassa
16:34:54 [jorlow]
adrianba: what about social engineering
16:35:36 [jorlow]
ericu: opening a file deep in the chrome profile dir...?
16:35:46 [jorlow]
ericu: and your av software should still run on it
16:35:55 [jorlow]
adrianba: they have support for knowing the source of the download
16:35:57 [timeless]
16:36:09 [jorlow]
sam: mac os x too
16:36:40 [jorlow]
jorlow: can't the file system api just set the bits
16:36:41 [timeless]
windows too
16:36:51 [BoChen]
BoChen has joined #webapps
16:37:01 [jorlow]
adrianba: we distinguish between url and site
16:37:39 [jorlow]
ericu: this makes it slightly harder, but it's not a fundamental issue
16:38:07 [jorlow]
adrianba: allowing a web application to save something without immediate consent of user...then social engineering
16:38:35 [timeless]
[ such as attacking Sherlock, Google Desktop Search ]
16:38:50 [jorlow]
ericu: it's a valid concern and i understand. you might just need to tweak the reputation system a bit to handle this case
16:39:06 [jorlow]
sam: my issue is not security, it's that we already have a lot of storage options
16:39:23 [jorlow]
sam: unnecessary risk to throw 2 new APIs at the web at once
16:39:34 [Ileana]
Ileana has left #webapps
16:39:43 [Ileana]
Ileana has joined #webapps
16:39:48 [arun]
OK big +1 to weinig
16:39:50 [jorlow]
ericu: well it's not there yet and it won't necessarily be popular
16:39:58 [jorlow]
sam: but it can never be removed
16:40:17 [Ileana]
Ileana has left #webapps
16:40:45 [jorlow]
jorlow: isn't it behind prefix
16:40:49 [jorlow]
timeless: that doens't matter much
16:40:55 [jorlow]
ericu: and actually our implementation is not behind prefix
16:41:01 [jorlow]
ericu: which is a fair objection
16:41:09 [jorlow]
ericu: a number of devs asked for it
16:41:14 [jorlow]
sam: web sql is same
16:41:16 [timeless]
16:41:26 [jorlow]
sam: we should have been more careful and not do it
16:42:02 [freedom]
freedom has left #webapps
16:42:07 [jorlow]
sam: has actual question
16:42:17 [jorlow]
sam: file saver sync doesn't seem to have an actual interface attached to it?
16:42:22 [jorlow]
ericu: will fix it
16:42:30 [jorlow]
sam: from worker, would you pop up save dialog
16:42:35 [jorlow]
sam: what window would it be attached to
16:42:49 [jorlow]
ericu: shared worker is an odd case
16:43:18 [jorlow]
jorlow: brought up more shared worker issues similar
16:43:23 [jorlow]
ericu: yeah...we need to fix some stuff
16:43:37 [jorlow]
jonas: want file save to be able to handle the url
16:43:50 [jorlow]
jonas: content disposition is a hack, so it'd be nice to move away from it
16:43:57 [arun]
Yeah; while we hash out headers on Blob URIs, I think it's good to allow FileSaver to have a URL argument
16:44:00 [kennyluck]
kennyluck has joined #webapps
16:44:20 [arun]
Zakim, mute arun
16:44:20 [Zakim]
arun should now be muted
16:44:25 [jorlow]
sam: people already hack around it, iframe trick might as well become official
16:44:40 [mjs]
mjs has joined #webapps
16:45:10 [jorlow]
sam: anne are you editing progress events?
16:45:46 [jorlow]
sam: is there going to be some way to say some interface implements something...rather than repeating the work for each progress event
16:45:56 [jorlow]
jonas: there's some web idl way to say supplemental, but reverse
16:46:13 [jorlow]
ericu: onload start, and that doesn't make sense when you're writing
16:46:27 [anne]
16:46:59 [jorlow]
jonas: interesting situation when you want progress events for something other than loads since much of them have load in the name
16:47:05 [jorlow]
anne: they're actually specced to be pretty vague
16:47:12 [jorlow]
anne: can't rename them at this point
16:47:27 [jorlow]
adrianba: could you have multiple names for something
16:47:57 [jorlow]
sam: this is a bad idea because events are expensive, therefore firing 2 events is expensive
16:48:19 [jorlow]
sam: we've done this for focus and DOM (yell) Focus
16:48:45 [jorlow]
mjs: you can't actually alias because of add event listener's semantics
16:48:52 [jorlow]
jonas: agreed, aliasing is bad
16:49:13 [jorlow]
anne: the event names are just suggestions
16:49:22 [jorlow]
anne: you can call your events whatever you want
16:49:42 [jorlow]
jonas: it makes sense to do things this way
16:50:03 [jorlow]
sam: should they be save start?
16:50:14 [jorlow]
ericu: filewriter derives from this and uses the same events
16:50:25 [jorlow]
jonas: the interface names are fully generic
16:50:32 [jorlow]
anne: interface still has loaded
16:50:46 [jorlow]
ericu: I think I just put done?
16:51:01 [jorlow]
ericu: going to fix the spec
16:51:36 [jorlow]
mjs: we should change the syntax of html
16:51:48 [mjs]
16:51:53 [jorlow]
ericu: taking a step back....
16:52:16 [jorlow]
sam: when people implement event listeners, the event they get will be a little funny because it has words like loaded
16:52:45 [jorlow]
anne: inherited progress events from one backed me up
16:52:52 [jorlow]
mjs: lots of bike shedding
16:53:05 [jorlow]
jonas: it sucks to add aliases
16:53:22 [jorlow]
sam: maybe add progress of loaded that calls the same underlying function
16:53:29 [jorlow]
sam: bytes progressed maybe?
16:53:35 [jorlow]
jonas: just use progress
16:54:09 [jorlow]
anne: we do have some aliased properties elsewhere I guess
16:54:53 [jorlow]
anne: let's leave "early"
16:55:06 [jorlow]
anne's chairing skillz are celebrated
16:55:39 [anne]
RRSAgent, make minutes
16:55:39 [RRSAgent]
I have made the request to generate anne
16:58:49 [Zakim]
16:58:59 [shepazu]
Zakim, end telcon
16:58:59 [Zakim]
I don't understand 'end telcon', shepazu
16:59:37 [Zakim]
16:59:38 [Zakim]
IA_WebApps(TPAC)4:00AM has ended
16:59:40 [Zakim]
Attendees were Rhone_3A, +1.415.294.aaaa, arun, +1.408.446.aabb, Nikunj
17:03:25 [hidetaka]
hidetaka has joined #webapps
17:05:11 [Lachy]
Lachy has joined #webapps
17:05:12 [richt]
richt has joined #webapps
17:06:12 [jgraham]
jgraham has joined #webapps
17:12:00 [chaals]
chaals has joined #webapps
17:12:34 [hidetaka_]
hidetaka_ has joined #webapps
17:17:22 [homata]
homata has joined #webapps
17:21:10 [sicking]
sicking has joined #webapps
17:21:30 [myakura]
myakura has joined #webapps
17:22:46 [Nikunj]
Nikunj has joined #webapps
17:26:29 [sicking]
sicking has joined #webapps
17:38:56 [jorlow]
jorlow has joined #webapps
17:46:28 [AnssiK]
AnssiK has joined #webapps
17:55:43 [jorlow]
jorlow has joined #webapps
17:59:05 [Nikunj]
Nikunj has left #webapps
18:07:08 [Hixie]
Hixie has joined #webapps
18:45:48 [dveditz]
dveditz has joined #webapps
19:04:13 [AnssiK]
AnssiK has joined #webapps
19:11:51 [Zakim]
Zakim has left #webapps
19:36:56 [arve]
arve has joined #webapps
19:44:08 [anne]
anne has joined #webapps
20:32:41 [arun]
arun has joined #webapps
20:40:26 [Martijnc]
Martijnc has joined #webapps
21:13:06 [Nikunj]
Nikunj has joined #webapps
21:23:55 [hidetaka]
hidetaka has joined #webapps
21:36:45 [smaug_]
smaug_ has joined #webapps
22:40:40 [arun]
arun has joined #webapps
22:55:20 [jorlow]
jorlow has joined #webapps
23:06:46 [Nikunj]
Nikunj has joined #webapps
23:14:50 [Peter-]
Peter- has joined #webapps