/irc-logs / w3c / #webapps / 2014-10-13 / end
Options:
- # Session Start: Mon Oct 13 00:00:00 2014
- # Session Ident: #webapps
- # [00:06] * Joins: Lachy (~Lachy@public.cloak)
- # [00:07] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [00:08] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [00:26] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [00:34] * Joins: Lachy (~Lachy@public.cloak)
- # [00:49] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [00:50] * Joins: Lachy (~Lachy@public.cloak)
- # [00:59] * Joins: glenn (~gadams@public.cloak)
- # [01:05] * Joins: panzana` (~panzana@public.cloak)
- # [01:13] * Joins: smaug (~chatzilla@public.cloak)
- # [02:11] * Joins: glenn_ (~gadams@public.cloak)
- # [02:16] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [02:42] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [04:52] * Disconnected
- # [05:24] * Attempting to rejoin channel #webapps
- # [05:24] * Rejoined channel #webapps
- # [05:24] * Topic is 'WebAppsWG; this channel is logged: http://krijnhoetmer.nl/irc-logs/webapps/'
- # [05:24] * Set by ArtB on Wed Jul 16 22:50:29
- # [05:24] * Joins: Lachy (~Lachy@public.cloak)
- # [05:24] * Joins: yoichio (~yoichio@public.cloak)
- # [05:24] * Joins: renoirb (renoirb@public.cloak)
- # [05:24] * Joins: logbot (~logbot@public.cloak)
- # [05:25] * Joins: terri (~terri@public.cloak)
- # [05:25] * Joins: ed (~ed@public.cloak)
- # [05:25] * Joins: Hixie (~ianh@public.cloak)
- # [05:25] * Joins: kentaromiura (~kentaromiura@public.cloak)
- # [05:25] * Joins: MikeSmith (~MikeSmith@public.cloak)
- # [05:26] * Joins: decadance (~decadance@public.cloak)
- # [05:26] * Joins: mkwst___ (~sid395@public.cloak)
- # [05:26] * Joins: stryx` (~stryx@public.cloak)
- # [05:26] * Joins: panzana` (~panzana@public.cloak)
- # [05:26] * Joins: kochi (~kochi@public.cloak)
- # [05:26] * Joins: mounir (~mounir@public.cloak)
- # [05:26] * Joins: gsnedders (~gsnedders@public.cloak)
- # [05:26] * Joins: FerasM__ (~sid28672@public.cloak)
- # [05:26] * Joins: hayato_ (~sid20728@public.cloak)
- # [05:26] * Joins: scheib (~sid4467@public.cloak)
- # [05:26] * Joins: krit (~sid15081@public.cloak)
- # [05:26] * Joins: astearns_ (~sid15080@public.cloak)
- # [05:26] * Joins: tobie (~sid5692@public.cloak)
- # [05:26] * Joins: timeless (~sid4015@public.cloak)
- # [05:26] * Joins: cwilso_ (~sid10206@public.cloak)
- # [05:27] * Joins: cabanier (~sid15093@public.cloak)
- # [05:27] * Joins: Domenic (~sid10976@public.cloak)
- # [05:27] * Joins: tyoshino_ (~sid19222@public.cloak)
- # [05:27] * Joins: slightlyoff (~sid1768@public.cloak)
- # [05:28] * Joins: jsbell (~sid6276@public.cloak)
- # [05:28] * Joins: dcooney__ (~sid20727@public.cloak)
- # [05:28] * Joins: pdr__ (~sid7901@public.cloak)
- # [05:28] * Joins: igrigorik (~sid16869@public.cloak)
- # [05:29] * Joins: kochi1 (~kochi@public.cloak)
- # [06:05] * Joins: sicking (~sicking@public.cloak)
- # [07:02] * Joins: glenn_ (~gadams@public.cloak)
- # [07:06] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [07:42] * Joins: glenn (~gadams@public.cloak)
- # [07:48] * Quits: glenn_ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [08:40] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [09:12] * Joins: Lachy (~Lachy@public.cloak)
- # [09:28] * Joins: darobin (rberjon@public.cloak)
- # [09:35] * Joins: glenn_ (~gadams@public.cloak)
- # [09:40] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [09:50] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [10:32] * Joins: Lachy_ (~Lachy@public.cloak)
- # [10:35] * Quits: Lachy (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [10:36] * Joins: dom (dom@public.cloak)
- # [10:36] * Joins: Lachy (~Lachy@public.cloak)
- # [10:39] * Quits: Lachy_ (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [10:41] * Joins: Lachy_ (~Lachy@public.cloak)
- # [10:44] * Quits: Lachy (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [10:44] * Quits: Lachy_ (~Lachy@public.cloak) (Client closed connection)
- # [10:49] * Joins: Lachy (~Lachy@public.cloak)
- # [10:53] * Quits: Lachy (~Lachy@public.cloak) (Client closed connection)
- # [10:58] * Joins: Lachy (~Lachy@public.cloak)
- # [11:12] * Joins: Lachy_ (~Lachy@public.cloak)
- # [11:13] * Quits: Lachy (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [11:46] * Joins: smaug (~chatzilla@public.cloak)
- # [11:56] * Quits: Lachy_ (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [11:56] * Joins: Lachy (~Lachy@public.cloak)
- # [12:03] * Joins: Lachy_ (~Lachy@public.cloak)
- # [12:03] * Quits: Lachy (~Lachy@public.cloak) (Client closed connection)
- # [12:19] * Quits: Lachy_ (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [12:42] * Joins: Lachy (~Lachy@public.cloak)
- # [12:53] * Joins: Lachy_ (~Lachy@public.cloak)
- # [12:57] * Joins: Lachy__ (~Lachy@public.cloak)
- # [12:57] * Quits: Lachy_ (~Lachy@public.cloak) (Client closed connection)
- # [12:58] * Quits: Lachy (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [13:28] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [13:53] * Joins: Lachy (~Lachy@public.cloak)
- # [13:56] * Quits: Lachy__ (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [14:09] * Joins: glenn (~gadams@public.cloak)
- # [14:14] * Quits: glenn_ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [14:22] * Quits: Lachy (~Lachy@public.cloak) (Client closed connection)
- # [14:22] * Joins: Lachy (~Lachy@public.cloak)
- # [14:23] * Joins: Lachy_ (~Lachy@public.cloak)
- # [14:25] * Quits: Lachy (~Lachy@public.cloak) (Client closed connection)
- # [14:29] * Joins: glenn_ (~gadams@public.cloak)
- # [14:33] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [14:38] * Joins: dka (~dka@public.cloak)
- # [14:53] * Joins: Lachy (~Lachy@public.cloak)
- # [14:53] * Quits: Lachy_ (~Lachy@public.cloak) (Client closed connection)
- # [14:54] * Quits: Lachy (~Lachy@public.cloak) (Client closed connection)
- # [14:54] * Joins: Lachy (~Lachy@public.cloak)
- # [14:55] * Joins: glenn (~gadams@public.cloak)
- # [14:59] * Joins: glenn__ (~gadams@public.cloak)
- # [15:00] * Quits: glenn_ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [15:03] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [15:10] * Joins: smaug (~chatzilla@public.cloak)
- # [15:15] * Joins: glenn (~gadams@public.cloak)
- # [15:17] * Joins: glenn_ (~gadams@public.cloak)
- # [15:19] * Quits: ed (~ed@public.cloak) ("ZNC - http://znc.sourceforge.net")
- # [15:20] * Quits: glenn__ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [15:23] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [15:26] * Joins: glenn (~gadams@public.cloak)
- # [15:30] * Quits: dka (~dka@public.cloak) (dka)
- # [15:30] * Quits: glenn_ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [15:36] * Joins: lgombos (~gombos@public.cloak)
- # [15:38] * Joins: ed (~ed@public.cloak)
- # [15:43] * Joins: glenn_ (~gadams@public.cloak)
- # [15:44] * Quits: lgombos (~gombos@public.cloak) (Client closed connection)
- # [15:46] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [15:57] * Joins: lgombos (~gombos@public.cloak)
- # [16:04] * Joins: glenn (~gadams@public.cloak)
- # [16:07] * Joins: glenn__ (~gadams@public.cloak)
- # [16:09] * Quits: glenn_ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [16:09] * Joins: glenn_ (~gadams@public.cloak)
- # [16:11] * Joins: glenn___ (~gadams@public.cloak)
- # [16:11] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [16:15] * Quits: glenn__ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [16:17] * Quits: glenn_ (~gadams@public.cloak) (Ping timeout: 180 seconds)
- # [16:29] * Quits: Lachy (~Lachy@public.cloak) (Ping timeout: 180 seconds)
- # [16:31] * Joins: Lachy (~Lachy@public.cloak)
- # [16:44] * Joins: lgombos_ (~gombos@public.cloak)
- # [16:44] * Quits: lgombos (~gombos@public.cloak) (Client closed connection)
- # [16:45] * Joins: lgombos (~gombos@public.cloak)
- # [16:45] * Quits: lgombos_ (~gombos@public.cloak) (Client closed connection)
- # [17:50] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [17:59] * glenn___ is now known as glenn
- # [18:05] * Quits: dom (dom@public.cloak) ("")
- # [18:09] * Joins: sicking (~sicking@public.cloak)
- # [18:20] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [18:30] * Quits: darobin (rberjon@public.cloak) (Client closed connection)
- # [18:47] * Joins: shepazu (schepers@public.cloak)
- # [19:36] * Joins: jsbell_ (~jsbell@public.cloak)
- # [19:36] * Joins: sicking (~sicking@public.cloak)
- # [19:38] * Joins: lgombos_ (~gombos@public.cloak)
- # [19:38] * Quits: lgombos (~gombos@public.cloak) (Client closed connection)
- # [19:39] * Joins: lgombos__ (~gombos@public.cloak)
- # [19:39] * Quits: lgombos_ (~gombos@public.cloak) (Client closed connection)
- # [19:42] * Joins: lgombos (~gombos@public.cloak)
- # [19:42] * Quits: lgombos__ (~gombos@public.cloak) (Client closed connection)
- # [19:53] * Joins: hober (~ted@public.cloak)
- # [20:02] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [20:06] * Joins: sicking (~sicking@public.cloak)
- # [20:46] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [20:55] * Joins: chaals (~Adium@public.cloak)
- # [21:06] * Joins: darobin (rberjon@public.cloak)
- # [21:24] * Joins: sicking (~sicking@public.cloak)
- # [22:24] * Joins: lgombos_ (~gombos@public.cloak)
- # [22:24] * Quits: lgombos (~gombos@public.cloak) (Client closed connection)
- # [22:34] * Joins: Lachy (~Lachy@public.cloak)
- # [22:46] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [22:52] <sicking> Domenic: ping
- # [22:53] <Domenic> sicking: pong
- # [22:54] <sicking> Domenic: I have an API design pattern question. Have you heard of the "Presenation API"?
- # [22:54] <sicking> aka "TV API"
- # [22:54] <Domenic> sicking: yeah
- # [22:54] <Domenic> "second screen API"
- # [22:54] <sicking> yeah
- # [22:55] <sicking> The question at hand is: Should the startSession function return a Promise<PresentationSession> or a PresentationSession
- # [22:55] <sicking> we could synchronously return a PresentationSession which is in a "connecting" state
- # [22:56] <sicking> and which then transitions to "disconnected" state if we fail to establish the connection
- # [22:56] <sicking> either way PresentationSession will be transitioning between various states
- # [22:56] <sicking> if you for example lose network connection
- # [22:57] <sicking> there's concern that if we return a promise, that there's essentially two "state systems"
- # [22:57] <sicking> one for the initial state transition of having an intial connection
- # [22:57] <Domenic> Good question. No strong feelings, but for streams at least (which similarly have lots of transitioning) we let it start out in a waiting state and give a promise-returning .wait() method to tell when the transition between states completes
- # [22:58] <sicking> if we had an API for give-me-a-stream-for-a-http-url
- # [22:58] <sicking> would that return Promise<Stream> or Stream?
- # [22:58] <Domenic> well... it would return a Promise<Stream>, because the promise can tell you when the headers are downloaded
- # [22:59] <Domenic> however if we had a give-me-a-stream-for-a-TCP-socket, that would return a Stream
- # [22:59] <sicking> in that case you'd synchronously return a Stream, even before we've hit the network?
- # [23:00] <Domenic> yeah I think I would
- # [23:00] <Domenic> in node that's what they do
- # [23:02] <sicking> I feel like there's some sanity to having a promise which is resolved once there's a reasonable expectation that the rest of the API can succeed
- # [23:03] <Domenic> yeah that is kind of the motivating idea behind the HTTP request case
- # [23:03] <sicking> Another example is the getSandboxedFileSystem
- # [23:03] <Domenic> there it's grounded in the promise being for the request body though
- # [23:03] <Domenic> in contrast for e.g. node there's fs.createReadStream() and fs.createWriteStream()
- # [23:03] <sicking> in the current (very rough) draft that returns a Promise<Directory>. But since all the funcitons on Directory is async, we could return a Directory instance even though we're still displaying a permission UI to the user
- # [23:03] <Domenic> if the filename passed for createReadStream doesn't exist (or createWriteStream if you turn off creating new files) then it will just create a stream that immediately transitions to the errored state
- # [23:04] <Domenic> interesting case
- # [23:05] <sicking> In that case it felt nice to have a catch-all for the permission part failing
- # [23:05] <sicking> i.e. not having to worry that each .openForRead or .createFile call could fail due to the user denying permission
- # [23:06] <sicking> though technically they all could still due to out-of-disk space
- # [23:08] <sicking> another quirk here is that PresentationSession uses DOM Events to signal state transitions. I feel like I'd be more inclined to *not* use Promise<PresentationSession> if we used some form of ES "observable" instead
- # [23:09] * Quits: panzana` (~panzana@public.cloak) ("Lost terminal")
- # [23:10] <Domenic> by observable do you mean "async iterable" or "observable property"
- # [23:10] * Joins: panzana` (~panzana@public.cloak)
- # [23:11] <sicking> Either really
- # [23:11] <sicking> I'm sad that Object.observe by default observes all properties. That makes me more reluctant to rely on it for DOM interfaces
- # [23:12] * Joins: Lachy (~Lachy@public.cloak)
- # [23:22] <Domenic> So is wycats
- # [23:22] <Domenic> This can be fixed
- # [23:23] <sicking> Domenic: does the use of DOM Events make you want to use Promise<PresentationSession> for the initial state transition more? Or do you still feel like it's ok either way?
- # [23:23] <sicking> Domenic: let me know how I can help with that
- # [23:23] <Domenic> sicking: what DOM events?
- # [23:23] <Domenic> sicking: basically say that Mozilla would prefer to implement a version of object.observe that allows restriction to certain properties
- # [23:24] <sicking> so PresentationSession is currently defined to use DOM Events to indicate transitions between its various states (disconnected, reconnected). So if we were to synchronously return a PresentationSession, that would mean that that initial state transition would be done with a DOM Event.
- # [23:25] <sicking> Domenic: on es-discuss?
- # [23:30] <Domenic> sicking: I guess that makes me prefer a Promise<PresentationSession>, yeah, just so I can compose it more with other promise-based things. Otherwise I'd probably wrap up the initial creation and transition into a promise in user code, lol
- # [23:31] <sicking> Domenic: ok
- # [23:31] <Domenic> sicking: es-discuss would probably work, maybe cc Raf directly. As long as you can back it up, with "we have engineers ready to implement Object.observe in our JS engine, but before they do we want to fix the spec." Because right now it's basically a Chrome-only API which is pretty silly; Chrome would love more people to implement it.
- # [23:32] <sicking> Sadly I don't have JS-eng engineers at my command these days.
- # [23:36] <smaug> heh
- # [23:37] * smaug is not at all Object.observe with DOM interfaces makes any sense
- # [23:37] <smaug> +sure
- # [23:57] * Joins: lgombos (~gombos@public.cloak)
- # [23:57] * Quits: lgombos_ (~gombos@public.cloak) (Client closed connection)
- # Session Close: Tue Oct 14 00:00:00 2014
The end :)