Monthly Archives: March 2009

Joining Collabora

In other news, I am now working for Collabora! It is a great opportunity for me, and I will do my best to be on par with the great people that are now my colleagues. I have had the pleasure of working with Marco Barisione, and Pierre-Luc on WebKitGTK+, for some time, and some (most? =)) of them are also fellow Debian and GNOME developers, so I feel at home.

Contributing to WebKitGTK+ and Epiphany is something I do as part of my job too, now, and I’m not planning on dropping my volunteer contributions =). I have actually landed some patches, and worked on the 1.1.4 release with my @collabora.co.uk address already, and I hope the future holds more opportunity for such contributions!

WebKitGTK+ 1.1.4 released!

So, we have been able to keep up with releasing every two weeks. I can’t say I emptied my wishlist for this release, but we did get a good load of good new features, and bug fixes. Go get it, and come back to read about what’s new.

Those of you who hate when you middle-click a link and it opens in another window will be glad to know that this version clears the only lasting missing piece of API required to allowing the browser to concede your wish. If you get irritated with weird scrolling behavior when using the keyboard, this release also fixes most of the remaining pet peeves, with a proper GtkBinding implementation for our WebView, done by Xan.

Font rendering has also received some much needed love, and we have chased and killed most of the problems with WebKitGTK+ wanting to download stuff instead of displaying them because of bad headers provided by the server. There is still work to be done in this area, but most of it will probably go into libsoup, instead.

You may have heard about HTML5 media tags support. Well, we have sharpened some of the rough edges of the code that already existed, making it able to play some basic ogg examples, such as the ones used by the Mozilla guys for testing.

Now on to make 1.1.5 rock even more!

WebKitGTK+ 1.1.3 released! =D

No, you’re not reading it wrong… “but what about 1.1.2?”, you ask. Well, we made a small mistake with the soversion there (if mistakes regarding soversion are ever small, that is =/), so we had to quickly release a fixed up version before packages start showing up for distributions with an incorrect library soname. Apologies.

With this release we have a shiny new website at http://webkitgtk.org/, hosted by Igalia and designed by Christian Dywan, who’s one of the contributors to WebKitGTK+’s code. This new release sports many interesting features and fixes. You may remember me talking about the download support initially contributed by Collabora, which I was fixing up and pushing for inclusion. Well, it is now available, and already implemented in Epiphany 2.27.0. Christian Dywan tells me he won’t let Midori stay behind Epiphany on this one, so expect support for downloading correctly integrated in Midori as well.

Some more pet peeves got fixed with this release, such as scrolling with keys such as space bar, home, end, not behaving the way people expect. We also found more improvements which are in order for libsoup, and we’ll be pushing them, even though we have added small workarounds to WebKitGTK+ itself for the time being.

We have added proper logging support for our port, providing a WEBKIT_BUILD environment variable. Documentation on how to use this will follow soonish, but for now you can look at the LoggingGTK.cpp file to know what values you can add to that variable. Also notice that only debug builds use logging to its full extent!

WebKitGTK+ 1.1.1 has now hit Debian experimental, by the way, and I plan to have 1.1.3 uploaded early this week. An epiphany-webkit package based on 2.27 is in the works, and should be in soon, too. There seems to be lots of interest in having a PPA for Ubuntu, as well, so we may see that happening soonish. We plan to get more testing this way, and be able to uncover and fix more bugs, so that we can get a rock solid release ready in time for GNOME 2.28.

Bossa Conference e Order of The Stick =)

Então, finalmente pude ficar um pouco mais tranquilo (essa semana foi punk) e posso falar do que achei da Bossa Conference: foi muito legal; reencontrar meu antigo amigo module, conhecer pessoas como o Jorge Pereira, Danilog Cesar, e muitos outros foi divertido =). Também tive oportunidade de trocar umas poucas palavras com o Simon, do QtWebKit (a apresentação dele foi fenomenal, inclusive), e o Thiago Macieira, com o David Zeuthen, do PolicyKit, e com o Olivier Crête do Empathy/Telepathy.

As palestras foram de muito alto nível. A única coisa ruim que eu posso falar do evento é que se você não está hospedado no hotel onde ele acontece, fica meio complicado conversar com as pessoas o tanto que você provavelmente gostaria (que foi o meu caso). Isso porque o hotel tem piscinas muito convidativas, e eu não me senti muito à vontade de ir na tora de calção e entrar na piscina com a galera ;) .

Em conversas com algumas pessoas foi levantado que existe uma grande demanda por um RSS do The Order of the Stick já com as imagens, e eu prometi postar aqui o RSS que eu mantenho há algum tempo (desde antes de a página ter um link para RSS), e que tem as imagens =): http://kov.eti.br/~kov/ots.xml.

Se você estiver interessad{o,a} no código, está no diretório python/ots-rss do meu git de brincadeiras:


$ git clone git://kov.eti.br/srv/git/play.git/

Tem uma implementação alternativa em Vala no diretório vala/ots-rss, mas você precisa do rss-glib, do Emanuelle Ebassi com um patch que eu fiz e não sei se ele incorporou. Então se você estiver _realmente_ interessad{o,a}, entre em contato hehe =).

Bossa Conference

Então. Eu vou. =)

Há quem esteja dizendo que a conferência é uma inundanção de palestrantes relacionados a KDE e Qt, o que é próximo da verdade, muito embora eu esteja ansioso para conhecer alguns GNOMErs que já vi que estarão lá. De qualquer forma, essa talvez seja uma boa oportunidade para eu comentar o que eu achei do recente lançamento da Qt 4.5, com a licença LGPL.

Quem já me conhece sabe que eu não morro de amores nem por C++, nem por KDE. Então muita gente (que gosta de KDE) veio correndo me dizer como agora GTK+ tinha acabado, provavelmente imaginando que eu estava achando ruim a notícia. Engraçado que um outro amigo me disse há mais de um ano que GNOME ia acabar com o lançamento do KDE4 =). Antes de mais nada, comparar Qt com GTK+ não faz sentido. A GTK+ é um toolkit gráfico e widget set razoavelmente limitado. A Qt é um pacote enorme, com funcionalidades de todo tipo, incluindo coisas como banco de dados, rede, XML, svg, 3D, renderização web, entre outros.

Mas é importante lembrar que a maioria dessas características existe sim para desenvolvedores GTK+! Então, eu acho mais sensato comparar Qt com o ‘mundo’ glib, que inclui coias como a libsoup, o gstreamer, GDA, WebKitGTK+, Clutter, e por aí vai. Eu não acho que exista um ganhador absoluto e imediato em uma disputa por espaço, nem acho que o fato de a Qt ter sido lançada como LGPL vai afetar tão negativamente o mundo glib como parecem acreditar alguns. GNOME continua sendo dominante no desktop livre, e além de GTK+ existem, como eu disse, diversas tecnologias de qualidade, e a facilidade de criar bindings significa que ainda existem mais bindings feitas para tecnologias glibicas, com auto-geração de bindings para qualquer biblioteca baseada em glib muito próximo de ser realidade.

O mundo Qt também tem diversas tecnologias bem-feitas ao seu redor, e eu respeito muito os times que geraram projetos como Nepomuk e KHTML (que serviu de suporte para o WebKit, em que eu trabalho bastante hoje). E eu acredito que nós vamos continuar a ver as tecnologias dos dois mundos se aproximando e se complementando.

E Qt ter sido lançado como LGPL, e, principalmente, passar a ter um modelo de desenvolvimento de comunidade, é uma ótima notícia! Isso significa que a colaboração entre as tecnologias fica facilitada, e que o projeto KDE (e outros projetos livres, inclusive do mundo glib!) não precisam ficar marginalizados com relação ao desenvolvimento da Qt (o fato de o pessoal do KDE ter que manter um pequeno fork da Qt era triste, por exemplo). E a Qt continua sendo livre, assim como o KDE, o que já é suficiente para que eles sejam considerados aliados, para mim. Então, all the power para Qt 4.5!

WebKitGTK+ 1.1.1 released

A new version of WebKit’s GTK+ port is here, as also announced by Xan! Before I start listing the new features and fixes, let me give you a download link =).

For this version we have changed the binary interface slightly, which requires a soversion bump, so rebuilding applications is in order. The API is still stable, though.

Another major change worthy of note is that we have made libsoup the only HTTP backend available for WebKitGTK+, removing the CURL related code from our port (the CURL backend remains in the tree, though, as it is used by other ports). This should simplify implementation and allows us to expose Soup objects in the API, reducing the amount of wrapping code that is necessary. We are already exposing the SoupSession we use internally, providing yet more power and flexibility to applications using our API.

In this release we finally get to see the official debut of the Web Inspector in the GTK+ port. Can’t wait to see releases of our dear browsers featuring the inspector =). Numerous improvements to hading policy decisions regarding navigations and window creation requests to the application have also come with this release.

We worked hard on finding and fixing crashes for this release, but also numerous fixes for those pet peeves that bother us just a bit, but enough to add up got landed. There are more of those to kill, but things look promising. We are hoping to release again in two weeks, so expect more fixes soon.

So, that’s it. Grab the new version, test it, report bugs, and enjoy!