[haiku-development] Re: Idea for the next GSoC : Webkit integration

  • From: "Stephan Aßmus" <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 27 Feb 2011 10:56:53 +0100

> On Sat, Feb 26, 2011 at 1:47 PM, Barrett <barrett666@xxxxxxxxx> 
> wrote:
> >
> > The next gsoc is close and i'm thinking about proposing myself for
> > integrating our webkit port in the media_kit. As far as i know, it 
> > can allow
> > us to see the beta version of youtube in HTML5 and since HTML5 will 
> > be the
> > next standard (in the long period) could be good to make Haiku a 
> > bit forward
> > with the times.
> 
> Implementing HTML5 video and audio with the Media Kit has been on my
> mind (and probably Stephan's) for some time. But I don't think it is
> appropriate for GSoC. See more below...
> 
> > Since i'm not an expert developer, i don't know if it could be 
> > appreciated
> > as gsoc project, and i have not a precise idea of how WebPositive 
> > works. Can
> > anyone figure me what are the essential step to do that? Is there 
> > any reason
> > that make the project unsuitable for gsoc?
> 
> I don't think this (or really any project related to WebKit or
> WebPositive) is good for GSoC, even for expert developers. I actually
> was thinking this before I read your email because I was considering
> whether I wanted to be a mentor this year.
> 
> WebKit is just a massively huge project and it takes many months to
> get familiar with it. Compiling WebKit can take as long as compiling
> Haiku, so it can be frustrating at times. Committing patches to 
> WebKit
> is also fairly complicated. Lastly the Haiku Media Kit is also a
> pretty big and complex system, and most Haiku developers (including
> myself) would probably have a lot of trouble working on this project,
> let alone mentoring it. Stephan would be an ideal mentor, but he is
> very busy these days and does not have the time.
> 
> So I would seriously consider another project if you want to apply to 
> GSoC.

Indeed I am quite busy these days, including last night when I read 
this mail and wanted to reply in a similar way. :-)

Working on this GSoC project would involve multiple complex tasks, as 
Ryan already pointed out. The first step would be to synchronize the 
WebKit version that the port uses to the current WebKit repository. 
That allone is quite tricky and could take someone familiar with the 
port and WebKit (which has undergone restructuring in the meantime) 
several days easily, if things don't go well and new stuff has to be 
written to get the current WebKit going, it could take weeks alone for 
this step. Then one has to analyze and throughroughly understand how 
multi-media works in WebKit. This involves creating new implementations 
of the related interface for the Haiku port, but it likely also 
involves work in the network layer. The Haiku port uses the cURL 
backend, but no other port uses it IIRC and it's outdated. I've had to 
update that layer already, because it wasn't targeting the current 
version of libcurl, which is included with Haiku. Once all this is 
figured out, the Haiku Media Kit itself needs to support streaming. 
This again requires a good understanding of how everything works in the 
Media Kit and changing existing plug-ins. The implementation of the 
graphics layer in the Haiku WebKit port may or may not be suitable for 
the multi-media requirements, or at least may need some improvements, 
which requires a good understanding of the Interface Kit and app_server 
interaction. One needs to mess with Media Nodes, since playback of 
audio requires connecting a node to the system mixer. There are tricky 
issues with synchronization of the audio to the video, especially with 
regards to seeking by the user, or, what's much worse and actually 
quite common, network hickups. All in all, the project involves many 
complex subsystems, I am sceptical that it can be done in three months 
even by a very experienced Haiku developer.

Best regards,
-Stephan


Other related posts: