Re: [webkit-dev] New feature announcement – Video conferencing and peer-to-peer communication

2011-05-17 Thread Leandro Graciá Gil
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

2011-05-16 Thread ᛏᚮᛘᛘᚤ
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

2011-05-16 Thread Adam Barth
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

2011-05-16 Thread Ian Hickson
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

2011-05-13 Thread Adam Bergkvist
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

2011-05-13 Thread Tony Gentilcore
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

2011-05-13 Thread Eric Seidel
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

2011-05-13 Thread Adam Barth
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