Meeting notes

April 20th, 2010

Last week was a very interesting week for our WebKit group in Igalia, a lot of things happened, we even found that a volcano explosion did not allow Philippe to come back from San Francisco, hopefully he will make it at the end of this week. Luckily enough Juanjo, Xan and me have tickets for one of the few airports not closed in Europe.

Regarding software, we had the incredible opportunity to meet with a lot of WebKit engineers in the WebKit Contributors Meeting, it was very interesting to attend to the discussions and comment about the current situation of the project with the people there. Personally I would stress the debates about: WebKit2, Javascript engine performance and hardware acceleration drawing. I’ve also spend some time with Eric creating a version of the new-run-webkit-tests for Gtk+, I still have to check the patch and upload it. We also participated in the green bots hackathon, which allowed Gtk+ bots to enter in the core bots group, it took a little bit more time but now it should be easier to control the bots. Related with WebKit we also met some people in the bay are that are using WebKitGTK+, it is nice to check how the work we are doing is useful for those products.

I’ve also attended the Linux Collaboration Summit (just after the WebKit Meeting), it was not a bad experience, Google gave us a Nexus One after all. I was at the MeeGo workgroup where Nokia and Intel presented their agendas for the platform. I also was at the Desktop workgroup, the main topic was desktop technologies and the integration with Internet services, it is going to be interesting to check how the desktop will evolve to integrate Internet services, and what role free software plays in that environment.

Of course I have to mention I really enjoyed the city, we did not have much time but Martin helped us to discover very nice places and food.

WebKit meeting next week and rendering

April 9th, 2010

Lately I’ve been checking the rendering code in WebKitGTK+, graphics are always very challenging. We want to check how to improve scrolling and rendering in general. Maybe some of the points are interesting for someone else or maybe you can send me some feedback about them:

  • I’ve used cairo-trace and cairo-perf-trace to check the performance of different backends doing a usual short browsing session (open slashdot and scroll) with Epiphany. I wanted to add Skia to the test because I wanted to compare with Chrome backend. Cairo Skia backend does not look well maintained, I had to change some code in order to compile it, but it worked eventually. The results are interesting because shows that Xlib backend is faster (probably accelerated operations) than Skia and Skia is a little bit faster than the Cairo image backend but quite similar, both probably running on the CPU:
    [ # ]  backend                         test   min(s) median(s) stddev. count
    [  0]     null                     epiphany    0.644    0.652   2.06%    6/6
    [  0]       gl                     epiphany    7.121    8.770   8.91%   15/15
    [  0]     skia                     epiphany    2.106    2.110   0.11%    5/6
    [  0]     xlib                     epiphany    1.874    1.903   1.41%    5/6
    [  0]    image                     epiphany    2.154    2.180   1.09%    6/6
    [  0]  image16                     epiphany    3.721    3.752   0.59%    6/6
    

    If this is correct we have to look inside WebKit for improvements, which means we have to review the rendering process carefully.

  • After checking the patches for the tiled backing store I’ve implemented a tiled backing store for WebKitGTK+ in a branch of a local repository in Igalia. It still has some pending work (graphic context not correctly used in forms, frames are not supported, threading, resizes, etc.). Results regarding performance are not the expected ones but it works and we can check the performance, conclusion is still not clear, blit is fast but we need to improve the tiles rendering. I think we have to be very sure that we are improving the situation when adding complex code, so there is still work here to show it makes sense.

I would like to add that cairo-trace is an awesome tool, Cairo people deserve a lot of kudos for implementing it. I will use cairo-trace to check the tiled backing store and how the solution of the form controls rendering behaves with regard to performance.

Regarding the other part of the topic, next week some of us will be in San Francisco for the Webkit meeting, we will also attend the Linux Collaboration Summit and meet some people there; so if you are in the bay area and you want to have a drink just sent us an email. With the last WebKit2 announcement I think it would be a very interesting meeting.

I almost forgot, our WebKit team in Igalia has grown and we have more motivated people working with us (currently Xan, Philippe, Sergio, Mario, Juanjo and me, and Diego doing his internship), this is good because we could work in more interesting topics inside the project.

WebkitGTK+ and Epiphany these days

January 27th, 2010

Some threads

After the hackfest and the Christmas holidays we continued working in the GNOME browser, it is hard but someone has to do it :-P . I wanted to do a small summary because in this time without blogging a lot of things happened and I think sharing the report could be interesting for other people.

The roadmap for 2.30 is waiting just for the soup on-disk cache (Dan is working in this one), so currently we are doing some cleaning work in Epiphany, addressing the current regressions, Diego has joined the group to help with it. Xan did an awesome work finishing the DOM bindings, this patch should be the beginning of the work in this topic in order to have complete bindings. Of course Philippe has been working in the multimedia support adding nice features like the on-disk buffering. Millan is helping also us with the a11y support and on this regard I’m still waiting for a review of the bug 25676 which is required for the caret browsing.

Trying to solve some a11y issues I’ve changed the WebKitGTK+ tooltips support to get rid of some of the work-arounds that it had, now it uses the GtkTooltip API. Regarding the a11y requirements we still have some limitations to position the tooltip that it is not clear how we could solve.

I’ve been also trying to finish some refactoring of the load states inside Epiphany, hopefully now it would be easier to deal with that code.

I wrote this summary initially as a personal report of our work and felt it was nice to share it, this way I can create more interesting posts than using just my work ;) . It is also nice to check the interest of other people and companies using WebKitGTK+ in their desktop and in their products.

My interests these weeks are Cody’s GtkOffscreenWindow widget and the DOM bindings, I was wondering also about the visual result of the scrolling in Epiphany, it has some tearing and I think we could do it better. Really interesting things to check :) .

The WebKitGTK+ hackfest is over

December 23rd, 2009

webkit_hackers

After the last hours hacking, it is a good moment to comment a little bit about the week spent in the hackfest. I’m quite happy with the result of the organization done by Igalia, although I’m not the best one to give an unbiased opinion about it. Regarding the development and after checking the list of things we wrote the first day in the agenda it looks like we were able to work in a lot of the points and fix some of them. It was a good week for the projects WebKitGTK+ and Epiphany, thanks to the veeery long days of hacking,

Xan posted a good summary of the work we have done this week, I would like to add we worked in the a11y, we have uploaded a patch to fix the caret browsing and we have proposed the change in the tooltips implementation, trying to solve a problem. I have also finished the cache API patches and added a workaround to the test of the middle click paste so we could upload the patch, and other misc patches. A very interesting week indeed, we have to repeat it. In the TODO list I would like to point out some topics for the next months:

  • DOM bindings
  • Gecko regressions in Epiphany
  • libsoup disk cache
  • multimedia stuff
  • a11y

In Igalia we would like to work in these points in the next months, if you are interested in other topics and you want to propose something to us (Igalia), just contact us, any support or suggestions are welcome.

Kudos to all the people that help in this awesome project.

WebKitGTK+ hackfest next week

December 12th, 2009

WebKit

Next week we will try to push WebKitGTK+ project even more with a hackfest in Coruna, Juanjo and Xan have worked hard to organize a very nice event. I’ll be there trying to help the organization and pushing some of the WebKitGTK+ development we have done lately in Igalia and any other interesting points of course. It would be nice to check tests stability and reduce the Skipped tests file, finish cache API, push a11y a little bit more and check Epiphany status/plans; I’m also interested in the performance analysis to define where we should work in the future.

If you are interested in this technology, you want to use it , you want to add a new feature or you want to support the work of the people involved in the project you can contact us, this is a good moment for that. The technology used and and the people involved in the project makes this port a good choice for anyone trying to integrate WebKit in a platform.