- In 2011, when I wrote my last post I was working on WebKit2 stuff, I was helping to create the initial parts of the GTK+ code. Our goal was to prove it was the best way to spend our time if we wanted to improve graphical result, and I’m glad to say we were right. If you test Epiphany WebKit2 it is easy you check the differences. Now better developers than me are taking care of that work and we are getting a good multiprocess engine.
- We started working in the accelerated compositing for WebKitGTK+, after some initial tests and decisions nowadays we have a fairly complete solution with TextureMapper. The implementation includes a fallback cairo backend and the OpenGL one, it even works in WebKit2. We are trying to push this work as much as we can in order to have it integrated as the GNOME 3.6 graphical solution. WebGL is also working in both versions of the API and even video acceleration is among our goals for this release.
- We added WebKit2 test support and we are now passing 27000 tests, that is an amazing figure. Phil made a great effort to rationalize the use of our bots and we have now a good solution.
- We released WebKitGTK 1.8 for GNOME 3.4 and we started the 1.9 cycle. And after this time it is still a painful task to do, good thing that now Carlos takes care to keep dist-check working.
- We started helping with cairo-gl multisampling compositor, our plan is WebKit integration, this library and last changes in accelerated compositing are good foundations to create a great user experience in any device. There has been good feedback from the WebKitEFL people. They are using this backend in Tizen browser with very good results.
- Awesome Martin and me talked in the last desktop summit (Berlin) about WebKit2GTK+ current situation of the engine and future work. We introduced some work we have done this last year, I think we get the picture mostly right.
- I attended another WebKitGTK+ hackfest in A Coruña, it was great to meet old and new collaborators of the project. We spent a lot of time with accelerated compositing at that point.
- Last year some guys decided to nominate me as a WebKit reviewer and other nice guys backed the proposal.
- In 2012 I had the opportunity to attend the last WebKit meeting in Cupertino, it is really amazing how many interesting things are being developed around the technology and the possibilities we have in the future for a platform like this. I like San Francisco and it is always great to come back every year.
Also in the last year we celebrated Igalia’s 10th anniversary, the truth is that we started working on the project in the beginning of 2001, so I have been working here for more than 11 years already. We use the legal date to celebrate it for technical reasons. It has been a very long trip already, and I feel I’ve changed a lot because all the experiences we had, good and bad. Best thing is that I was able to work in a challenging project with great people, and learn a lot from them.
I think that was all for the wrap-up, probably I’m missing something someone will remind me, sorry about it Internet. I almost forgot, another interesting experience was the time off I had in the beginning of this year, for a little bit more than one month, it was a good way to celebrate the 10 years working.
The 3.6 release is going to bring the WebKit2 support and we will try to have Epiphany integration ready at that point, that would close a great development cycle. I’ll try to blog more from now on and give more information about this (/me smiles), probably explaining some of that work more in detail would make a lot of sense.
By the way, I’ll attend GUADEC this year again, see you there.
On April several developers from our team had the chance to attend the WebKit contributors meeting in Cupertino, I’ve spent a couple of more days in San Francisco to take advantage of the long trip and spend some time hacking with Martin and Xan.
It is always a good moment to catch up with the people in the WebKit community and think about your position and motivation in the project. I would like to thank the Apple team for making it happen. We talked about WebKit2, not all the decisions are made and things like C API could change its design in the future, stay tuned. We are pushing WebKit2GTK+ and now it is more complete and it is easier to contribute to. We even have landed the test runner patch, and now running tests is possible.
We also did some hacking, fixed some issues in WebKitGTK and prepared 1.4.0 release, the new stable release that includes most of the work we have done the last year. All the tests that are passing now have made this new stable release a better library, it is easy to realize about it after spending some time using the browser. It is clear that software needs taking care of the small details, if you want someone to use it, and that takes time and effort. Our team in Igalia has made a good work creating the best WebKitGTK+ release so far. We have come from a big file with skipped tests to more than 22.000 tests passed and that is a huge difference that the final user can check.
I hope more people can enjoy the software and contribute to the code, this is one of the reasons free software rocks.
After some months of cleaning, fixing and landing all the required patches (some provided by Motorola devs), yesterday we landed the last one adding the shared memory support, so you can safely download and compile WebKit2 with GTK+ using the trunk of the WebKit svn. Just add –enable-webkit2 to the compilation configuration of your choice and you’ll get a small MiniBrowser implemented with WebKit2 C API.
Basic feature of this new API is that it uses a split process architecture, the UI is separated from the web content in a different process. It means a lot of pros and some cons, currently at Igalia we are ready to face the cons so we can get all the pros, creating more stable and responsive applications using the port. Our plan is to add the complete support and make Epiphany work with it at some point.
We are also adding WebKitTestRunner support which will help a lot with the development. Besides the C API we are implementing a GTK+ friendly API, basically we are using the WebKit1 API over the WebKit2 C API, so you can even test it with the GtkLauncher and your own GNOME application easily.
The code and APIs are still development status, there is still a lot of work to do, so just use them for testing purposes, this is just the initial step and we hope after this a lot of people can contribute to make the port rock even more.