- From: Alex Russell <slightlyoff@google.com>
- Date: Wed, 12 Jun 2013 17:45:17 +0100
- To: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
- Cc: "www-tag@w3.org List" <www-tag@w3.org>, Harald Alvestrand <hta@google.com>, Dominique Hazael-Massieux <dom@w3.org>, Anne van Kesteren <annevk@annevk.nl>, Yehuda Katz <wycats@gmail.com>, Jonas Sicking <jonas@sicking.cc>, Ryan Sleevi <sleevi@google.com>, Tab Atkins <tabatkins@google.com>, Domenic Denicola <domenic@domenicdenicola.com>
- Message-ID: <CANr5HFXS7XmNof3pA_0Bo6U3zJ4ZupCawA9GNBtoYzBqY=a8cA@mail.gmail.com>
On Wed, Jun 12, 2013 at 5:00 PM, Stefan Håkansson LK < stefan.lk.hakansson@ericsson.com> wrote: > On 6/12/13 5:25 PM, Alex Russell wrote: > > Sorry for the slow response. Inline: > > No problem! Some responses inline below. > > > > > > > On Sat, Jun 8, 2013 at 3:54 PM, Stefan Håkansson LK > > <stefan.lk.hakansson@ericsson.com > > <mailto:stefan.lk.hakansson@ericsson.com>> wrote: > > > > On 6/6/13 5:45 PM, Alex Russell wrote: > > > Hi Stefan, > > > > > > Thanks for taking the time to reply. > > > > > > On Wed, Jun 5, 2013 at 6:19 PM, Stefan Håkansson LK > > > <stefan.lk.hakansson@ericsson.com > > <mailto:stefan.lk.hakansson@ericsson.com> > > > <mailto:stefan.lk.hakansson@ericsson.com > > <mailto:stefan.lk.hakansson@ericsson.com>>> wrote: > > > > > > On 6/5/13 6:48 PM, Alex Russell wrote: > > > > Hey all, > > > > > > > > As part of our agreed work to help coordinate with WG's > about > > > > idiomaticness and cleanliness of APIs, Anne and I joined > > the Media > > > > Capture group for a call today to discuss the adoption of > > > > Promises/Futures in their API. The minutes are here: > > > > > > Thanks for joining! > > > > > > > > > Thanks for having us. I know it was a loaded topic and I > appreciate > > > everyone taking the time, if only to acquaint us with the various > > > positions and constraints. > > > > > > > http://www.w3.org/2013/06/05-mediacap-minutes.html > > > > > > > > I don't think it's stretching the case to say that the > > reception was > > > > something close to hostile, if not outright incredulous. > > > > > > I agree to that people did not exactly embrace Futures. I > > think it shall > > > be seen in light of that the WebRTC is really complex. In > > addition to > > > discussing the API design in W3C space, there is a huge > > controversy in > > > the IETF - involving about four separate WGs - on signaling > and > > > protocols for setting up the real-time media and data over > > the network. > > > > > > > > > I see. I should note for whatever record there might be that I'm > > hugely > > > grateful that WebRTC is happening and for the work that your > > group has > > > put into enabling this capability in the web. Efforts like WebRTC > and > > > Media Capture are one of the reasons I have hope that our > > platform can > > > compete. > > > > > > I think many are simply exhausted by discussing so many > > different topics > > > in different groups, so they want to minimize changes > > wherever they can. > > > > > > > > > I can understand and appreciate that exhaustion. > > > > > > Everyone would prefer if the platform had grown a Promises > contract > > > about the same time it introduced XHR, but that water is under > this > > > bridge and now all we can do is set about doing the best we > can...and > > > that will mean many changes across many APIs to (finally!) > present a > > > unified front. If WebRTC/Capture can't make the change now, there > > will > > > be future opportunities to do so in the future. We only hoped to > > engage > > > in an attempt to save you the legacy burden. > > > > Yes, and it is good that you do that. I think you put a seed in the > mind > > of many at the call. The result will quite likely be that for now > WebRTC > > continues with the current design, but everyone has an eye on the > > development of Promises, and the final outcome is not clear yet. > > > > > > Glad to hear that. It sounds like the CSS WG is looking at them for an > > API now as well, and we've resolved what I think is the final (small) > > controversy there. > > > > I personally share the WG's view that at least for the WebRTC 1.0 > > document the WG should for now continue with the current callbacks. > > > > > > And the path we proposed doesn't require you to abandon that to adopt > > Promises. It's good if you can, but compatible if you don't. > > > > There is too much other stuff going on, and Promises is not exactly > at > > LC yet > > > > > > There's no owner for the DOM spec right now, so it's not clear what that > > statement is meant to imply. Practically speaking, both Chrome and FF > > are implementing now and the design is done. > > For me it is a problem if there is no owner for the spec right now. I > think there should be a W3C document describing Promises the Media > Capture/WebRTC references. > I'll leave that question for Anne to address. > And I assume that pushing this through the W3C process could mean changes. I don't think so. It's a small contract, and we've bike-shedded it to death in the CSS and public-script-coord threads as well as a pre-standards debate that was months-long with the various people who are stakeholders in the Promises community. It will be this particular pantone version of this particular color forever. CC-ing some folks who can give you more insight into that statement. > > > - there could be changes as Promises go on in the W3C process and > > having to follow that would be yet another thing for the WG. But if > > Promises stabilize in the no too distant future we could revisit. > > > > > > I'd like to understand what you think that means. In particular, what > > "stabilized" would look like given the current DOM WG. It's a core type > > that's being included broadly in new APIs. None of the recent changes > > would have had observable effects for users of your API. What more are > > you looking for? > > Maybe we're speaking past each other, but should not Promises be > documented in a W3C document (and I assumed in the DOM spec)? It's not clear it matters. If it does, we can do the same copy/paste from a WHATWG spec that other W3C specs routinely do. > > > (Regretfully there was also some arguing that Futures might > be in > > > fashion now but soon forgotten - I think that was beside the > > point.) > > > > > > > > > I'm afraid that argument -- which strikes me mostly to be from an > > > ignorance of common JS library patterns and idioms -- indicates a > > major > > > blind spot for this WG. Not understanding that everything from > > WinJS to > > > JQuery rely on a Promises (and promise-like abstractions) says > more > > > about the WG's current participants than it does about Promises > and > > > their popularity (or faddishness). > > > > > > Honestly, this argument makes me want to suggest that other TAG > > members > > > should start immediately looking at WebRTC/Capture APIs for other > > > idiomaticness issues as the WG doesn't seem equipped for the task > as > > > currently constituted. > > > > > > What do you think the right way would be for us to provide that > > sort of > > > feedback in? > > > > I think you're right in that the weight of the TF/WG lies with RTC > > experts (people who are really good at protocols like RTP, with > jitter > > handling, codecs, and so one) and that there are not that many with a > > Web background. Naturally that influences the designs we're making. > > > > Personally I have from time to time argued for simplifications, and I > > think that some things could be made simpler to use - but it is also > > easy to lose functionality if you simplify. From another perspective, > > perhaps our platform is better off with a harder to use, but more > > capable API than the other way around? > > > > > > This is a false dichotomy, as presented. > > > > It's possible for an API to be powerful and complicated but still be > > idiomatic. An API can be low-level (requiring lots of effort to > > accomplish things) but still be naturally expressable and usable in your > > source programming language. > > > > The move from ad-hoc callbacks to Promises changes your semantics not at > > all (AFAICT), but makes it easier to use. You might therefore call this > > "cosmetic", but in aggregate, cosmetic changes add up to a trustable, > > reliable surface area that has a uniform charachter and flavor or a > > hodge-podge of useful-but-ugly oneoffs that paint no coherent picture > > when zoomed out. > > I agree to this - there is no inbuilt conflict between capable and > natural. But let me put it this way instead: I would say that the focus > of the work so far has been more on making sure that the API is capable, > and less on ease to use. > That's fine. I hope you'll also feel that your API is not 1.0-ready until the sharp edges have been polished off, though. I can't agree that the current focus has delivered the hoped-for product, only a capable one. > And my (and many other's) assumption has been that Futures/Promises > would have to go through a W3C process to become a standard, and in that > process we would likely see changes, and we (Media Capture/WebRTC) > should focus on other stuff until Futures/Promises have advanced a bit > in the W3C process. > > > > > I think a good starting point would be to comment, on the list, the > > document "Media Capture and Streams". It is the one closest to a LC, > and > > I hope it is reasonable from an web API perspective - but feedback > and > > comments are most welcome and would be helpful. > > > > > > I will. Additionally, I'll be asking that you participate in a future > > TAG meeting and present your API in detail for review. > > Sounds great! Great! Would really enjoy that. > > As for the "WebRTC 1.0" document, that API is much more complex to > use. > > Part of the complexity probably comes mistakes on our side (we could > > have found more clever ways to interface to the underlying > solutions), > > but it is also a result from combining a lot of complex technologies > > together, and enabling the application to use those technologies in a > > way that enables good services to be built. This document is also > > further away from a last call, so perhaps it can be looked into > later. > > > > > > For the record, I'm /all for /adding power to the platform. My comments > > are constrained to the form that power takes, and not a discussion of > > the layering. Low-level stuff naturally takes work to form into > > something that does a higher-level job; and it's great that we're > > getting these primitives into the platform. My concern, once we've > > agreed to do it, is that we do it well. > > > > Well, those were my thoughts, I don't know what Dom and Harald > thinks. > > > > > > > > > > And I think almost no-one ruled out Futures, people more said > > "let us > > > wait and see for a bit". > > > > > > > > > Which is good! > > > > > > > Unlike some other groups which I've had the pleasure to > > work with, > > > > participants here seem to be worried that a relatively > minor > > > change (and > > > > a backward compatible one) is a major compatibility risk. > > > > > > > > Perhaps further discussion of the acceptance of Promises > > across > > > the W3C > > > > might ease their minds, and I was hoping those here with > more > > > experience > > > > might be able to guide the discussion to a less contentious > > > conclusion. > > > > > > > > Regards > > > > > > > > > > > >
Received on Wednesday, 12 June 2013 16:46:15 UTC