Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
About the modularity proposal, I have no problem creating a new separate folder in WebCore for this feature. An example of its structure could be the following. In WebCore/mediastream: - GeneratedStream.h/cpp/idl - Stream.h/cpp/idl - StreamRecorder.h/cpp/idl - CallbackTask.h - MediaStreamClient.h - MediaStreamController.h/cpp - MediaStreamFrameController.h/cpp - NavigatorUserMediaError.h/idl - NavigatorUserMediaErrorCallback.h/idl - NavigatorUserMediaSuccessCallback.h/idl In platform: - MediaStreamRegistry.h/cpp (required for the DOMURL) - mock/MediaStreamClientMock.h/cpp In fileapi: - BlobCallback.h/idl (for the blob-providing callback used in the StreamRecorders) We would need to decide where to place the code for the tracklist objects, as they are also used by the HTMLMediaElement and enabled by the VIDEO_TRACK flag. These are: - TrackList.h/cpp/idl - MultipleTrackList.h/cpp/idl - ExclusiveTrackList.h/cpp/idl Finally, it requires minor modifications in the following files in WebCore. Note that this list may be increased in the future. - dom/EventTarget.h/cpp - dom/ScriptExecutionContext.h/cpp (for the DOMURL) - html/DOMURL.h/cpp/idl - page/Navigator.h/cpp/idl - page/DOMWindow.h/idl (to enable DOMURL with both the BLOB and MEDIA_STREAM flags) - page/Frame.h/cpp - page/Page.h/cpp So, with this more detailed information, do you think I should move the code to a separate folder? Any suggestions on where to put the tracklist object files? I'd like to have some consensus on this if possible, as this decision will affect the landing of the remaining patches. Thanks, Leandro On 17 May 2011 00:15, Ian Hickson i...@hixie.ch wrote: On Fri, 13 May 2011, Eric Seidel wrote: On the surface peer to peer video conferencing does not seem like something appropriate to add to WebCore/WebKit. Just like an API for reading my email is out of scope for the project. (But certainly lots of people build such things on top of WebKit.) :) What people are talking about as video conferencing and peer-to-peer communication here really are the building blocks for letting people build such things on top of the Web platform. The relevant part of the HTML spec is basically just these features: - A way to get input from the system camera(s) and microphone(s). - A way for two peers to connect and exchange data and audio/video streams directly, reusing the widely used ICE, STUN, TURN, and SDP technologies, assuming they have an existing indirect channel. - A way to record or display these streams. Actually deploying a video conferencing system would need far more than this. For example, you need identity and presence, which are not part of the Web platform but have to be built on top of it. You also need to actually implement the existing indirect channel mentioned above (e.g. using XHR or WebSockets), and you need to provide the STUN and TURN servers in the cloud. The components that are provided by this part of the HTML spec have other purposes beyond video conferencing; for example you can use the access to local camera and microphones for augmented reality tools, you can use the peer-to-peer component for exchanging real-time game state data in a video game, and you can use the recording component for recording video blogs. The parallel to e-mail apps is apt: it is much like how the platform provides XHR, input controls, and local storage, all necessary components for an e-mail app, but does not provide an e-mail app component; and the components it does provide can be similarly reused in other contexts. HTH, -- Ian Hickson U+1047E)\._.,--,'``.fL http://ln.hixie.ch/ U+263A/, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
The plan is to have the P2P VC WebKit code to do as little as possible and leave the implementation to the browser port, just like the MediaStream patches. And the code touches very little other code; Event, EventTarget, Navigator etc but obviously heavily depends on the MediaStream functionality. Is this a problem? Happy to modularize the functionality if someone can give me some pointers, show our work in progress etc. To get the standard (on whatwg) finalized an implementation is needed so that some real world usage can be had, and previously we have received some favorable comments re go-ahead on implementation. Personally I think this is a great feature and are committed to implement it properly. /Tommy On Sat, May 14, 2011 at 01:50, Adam Barth aba...@webkit.org wrote: One approach we talked about at the contributor's meeting to dealing with the ever-growing feature list of WebCore is modularity. Looking at the specification for this feature, there doesn't seem to be much interdependence between these APIs and the rest of WebCore. For example, there's nothing that couples with dom, css, or rendering. Would it make sense to try building this feature as a self-contained module? For example, you could imagine the following dependency diagram: WebKit - WebP2P | | | \/ + WebCore Ideally, WebCore would have some moderately well-defined interface for these modules, much like the WebKit -- WebCore interaction is mediated by clients. Ideally, these modules would just describe themselves using WebIDL and we could just generated bindings for them. As another example, webaudio might also profit from such as design. Of course, splitting this feature off into its own module doesn't remove all the costs of the new feature, but it would make it easier to work on WebCore proper without having to deal with all the complexities of every feature. Adam On Fri, May 13, 2011 at 11:10 AM, Eric Seidel e...@webkit.org wrote: That sounds like about 8 features. Seems we should think about this in smaller chunks... On the surface peer to peer video conferencing does not seem like something appropriate to add to WebCore/WebKit. Just like an API for reading my email is out of scope for the project. (But certainly lots of people build such things on top of WebKit.) :) -eric On Fri, May 13, 2011 at 6:19 AM, Tony Gentilcore to...@chromium.org wrote: For those interested, the cover bug for this work is here: https://bugs.webkit.org/show_bug.cgi?id=56459 -Tony On Fri, May 13, 2011 at 8:27 AM, Adam Bergkvist adam.bergkv...@ericsson.com wrote: I want to inform people on this list that we have been doing some early implementation work of the video conferencing and peer-to-peer communication chapter in the HTML spec (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication). This section of the spec is in an early stage and should be considered experimental, but as it becomes more understood, we intend to contribute to the WebKit implementation. Others are also (based on bugs reported) working on this. BR Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev -- Tommy Widenflycht, Senior Software Engineer Google Sweden AB, Kungsbron 2, SE-11122 Stockholm, Sweden Org. nr. 556656-6880 This email may be confidential or privileged. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it went to the wrong person. Thanks! And yes, I have to include this message in every outgoing email according to EU law. ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
On Mon, May 16, 2011 at 6:54 AM, Tommy Widenflycht tom...@google.com wrote: The plan is to have the P2P VC WebKit code to do as little as possible and leave the implementation to the browser port, just like the MediaStream patches. And the code touches very little other code; Event, EventTarget, Navigator etc but obviously heavily depends on the MediaStream functionality. There's a trade-off here between adding complexity to WebCore and sharing the functionality between different consumers of WebKit. Is this a problem? Happy to modularize the functionality if someone can give me some pointers, show our work in progress etc. I started a separate thread about modularity. That's somewhat of a larger discussion, and certainly doesn't need to block your work. It's unclear whether that's the direction the project will go in any case. In the near-term, I'd recommend putting this feature in a new directory and being careful about dependencies to and from your code. To get the standard (on whatwg) finalized an implementation is needed so that some real world usage can be had, and previously we have received some favorable comments re go-ahead on implementation. Personally I think this is a great feature and are committed to implement it properly. The high-level question is whether this feature is beneficial to the WebKit project. I've seen folks raise the following concerns: 1) Eric Seidel raised the question of whether this feature is appropriate for WebCore/WebKit, presumably because P2P video conferencing seems like something you'd build on top of the web platform (like an email service) rather than something that's directly related to rendering web pages. 2) Eric Carlson (in Bug 56459) says that the feature is important for WebKit but is concerned that the spec is a moving target and that implementing it at this stage might be costly for the project in the log run. After some discussion, he seems to agree that we should proceed with an off-by-default, vendor-prefixed implementation so we can provide feedback about our implementation experience to the standards process. My perspective is that I would like to see WebKit continue to be a leading implementation of the web platform. Leading is more expensive than following, of course, because followers can adopt a wait-and-see approach and only implement features that are already successful rather than placing bets that sometimes pay off and sometimes don't. From that perspective, the question boils down to whether this feature is a good bet for the platform. Adam On Sat, May 14, 2011 at 01:50, Adam Barth aba...@webkit.org wrote: One approach we talked about at the contributor's meeting to dealing with the ever-growing feature list of WebCore is modularity. Looking at the specification for this feature, there doesn't seem to be much interdependence between these APIs and the rest of WebCore. For example, there's nothing that couples with dom, css, or rendering. Would it make sense to try building this feature as a self-contained module? For example, you could imagine the following dependency diagram: WebKit - WebP2P | | | \/ + WebCore Ideally, WebCore would have some moderately well-defined interface for these modules, much like the WebKit -- WebCore interaction is mediated by clients. Ideally, these modules would just describe themselves using WebIDL and we could just generated bindings for them. As another example, webaudio might also profit from such as design. Of course, splitting this feature off into its own module doesn't remove all the costs of the new feature, but it would make it easier to work on WebCore proper without having to deal with all the complexities of every feature. Adam On Fri, May 13, 2011 at 11:10 AM, Eric Seidel e...@webkit.org wrote: That sounds like about 8 features. Seems we should think about this in smaller chunks... On the surface peer to peer video conferencing does not seem like something appropriate to add to WebCore/WebKit. Just like an API for reading my email is out of scope for the project. (But certainly lots of people build such things on top of WebKit.) :) -eric On Fri, May 13, 2011 at 6:19 AM, Tony Gentilcore to...@chromium.org wrote: For those interested, the cover bug for this work is here: https://bugs.webkit.org/show_bug.cgi?id=56459 -Tony On Fri, May 13, 2011 at 8:27 AM, Adam Bergkvist adam.bergkv...@ericsson.com wrote: I want to inform people on this list that we have been doing some early implementation work of the video conferencing and peer-to-peer communication chapter in the HTML spec (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication). This section of the spec is in an early stage and should be considered experimental, but as it becomes more understood, we intend to contribute to the
Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
On Fri, 13 May 2011, Eric Seidel wrote: On the surface peer to peer video conferencing does not seem like something appropriate to add to WebCore/WebKit. Just like an API for reading my email is out of scope for the project. (But certainly lots of people build such things on top of WebKit.) :) What people are talking about as video conferencing and peer-to-peer communication here really are the building blocks for letting people build such things on top of the Web platform. The relevant part of the HTML spec is basically just these features: - A way to get input from the system camera(s) and microphone(s). - A way for two peers to connect and exchange data and audio/video streams directly, reusing the widely used ICE, STUN, TURN, and SDP technologies, assuming they have an existing indirect channel. - A way to record or display these streams. Actually deploying a video conferencing system would need far more than this. For example, you need identity and presence, which are not part of the Web platform but have to be built on top of it. You also need to actually implement the existing indirect channel mentioned above (e.g. using XHR or WebSockets), and you need to provide the STUN and TURN servers in the cloud. The components that are provided by this part of the HTML spec have other purposes beyond video conferencing; for example you can use the access to local camera and microphones for augmented reality tools, you can use the peer-to-peer component for exchanging real-time game state data in a video game, and you can use the recording component for recording video blogs. The parallel to e-mail apps is apt: it is much like how the platform provides XHR, input controls, and local storage, all necessary components for an e-mail app, but does not provide an e-mail app component; and the components it does provide can be similarly reused in other contexts. HTH, -- Ian Hickson U+1047E)\._.,--,'``.fL http://ln.hixie.ch/ U+263A/, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
[webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
I want to inform people on this list that we have been doing some early implementation work of the video conferencing and peer-to-peer communication chapter in the HTML spec (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication). This section of the spec is in an early stage and should be considered experimental, but as it becomes more understood, we intend to contribute to the WebKit implementation. Others are also (based on bugs reported) working on this. BR Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
For those interested, the cover bug for this work is here: https://bugs.webkit.org/show_bug.cgi?id=56459 -Tony On Fri, May 13, 2011 at 8:27 AM, Adam Bergkvist adam.bergkv...@ericsson.com wrote: I want to inform people on this list that we have been doing some early implementation work of the video conferencing and peer-to-peer communication chapter in the HTML spec ( http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication). This section of the spec is in an early stage and should be considered experimental, but as it becomes more understood, we intend to contribute to the WebKit implementation. Others are also (based on bugs reported) working on this. BR Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
That sounds like about 8 features. Seems we should think about this in smaller chunks... On the surface peer to peer video conferencing does not seem like something appropriate to add to WebCore/WebKit. Just like an API for reading my email is out of scope for the project. (But certainly lots of people build such things on top of WebKit.) :) -eric On Fri, May 13, 2011 at 6:19 AM, Tony Gentilcore to...@chromium.org wrote: For those interested, the cover bug for this work is here: https://bugs.webkit.org/show_bug.cgi?id=56459 -Tony On Fri, May 13, 2011 at 8:27 AM, Adam Bergkvist adam.bergkv...@ericsson.com wrote: I want to inform people on this list that we have been doing some early implementation work of the video conferencing and peer-to-peer communication chapter in the HTML spec ( http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication). This section of the spec is in an early stage and should be considered experimental, but as it becomes more understood, we intend to contribute to the WebKit implementation. Others are also (based on bugs reported) working on this. BR Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication
One approach we talked about at the contributor's meeting to dealing with the ever-growing feature list of WebCore is modularity. Looking at the specification for this feature, there doesn't seem to be much interdependence between these APIs and the rest of WebCore. For example, there's nothing that couples with dom, css, or rendering. Would it make sense to try building this feature as a self-contained module? For example, you could imagine the following dependency diagram: WebKit - WebP2P || |\/ + WebCore Ideally, WebCore would have some moderately well-defined interface for these modules, much like the WebKit -- WebCore interaction is mediated by clients. Ideally, these modules would just describe themselves using WebIDL and we could just generated bindings for them. As another example, webaudio might also profit from such as design. Of course, splitting this feature off into its own module doesn't remove all the costs of the new feature, but it would make it easier to work on WebCore proper without having to deal with all the complexities of every feature. Adam On Fri, May 13, 2011 at 11:10 AM, Eric Seidel e...@webkit.org wrote: That sounds like about 8 features. Seems we should think about this in smaller chunks... On the surface peer to peer video conferencing does not seem like something appropriate to add to WebCore/WebKit. Just like an API for reading my email is out of scope for the project. (But certainly lots of people build such things on top of WebKit.) :) -eric On Fri, May 13, 2011 at 6:19 AM, Tony Gentilcore to...@chromium.org wrote: For those interested, the cover bug for this work is here: https://bugs.webkit.org/show_bug.cgi?id=56459 -Tony On Fri, May 13, 2011 at 8:27 AM, Adam Bergkvist adam.bergkv...@ericsson.com wrote: I want to inform people on this list that we have been doing some early implementation work of the video conferencing and peer-to-peer communication chapter in the HTML spec (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication). This section of the spec is in an early stage and should be considered experimental, but as it becomes more understood, we intend to contribute to the WebKit implementation. Others are also (based on bugs reported) working on this. BR Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev