Tuesday, December 15, 2009

Nokia WebKit Code Camp

So last week Nokia ASF hosted a Qt WebKit Code Camp in Wiesbaden, Germany. It was the first time most of the people working on - or using WebKit inside Nokia, got together and met face-to-face. It is obvious that we have a great bunch of clever people, but also that we still have a lot of work to do before out Qt port is up to the level of the Google and Apple ports, but don'tworry, we are definitely getting there!

Before the event, I had a look at adding tiling support to see if it would actually bring noticable performance improvements. I did a small presentation about it, which you can find below. [UPDATE] The implementation is an experiment to avoid doing unnecessary calls into WebCore and is only meant as input for other people working on adding tiling support to WebKit. I would like to thanks ProFusion, Antti Koivisto and Benjamin Poulain for fruitful discussions who helped to the current implementation.

Having working on NPAPI plugin support before, I can tell you it is not a very beautiful part of a browser. Some time ago, we were so lucky that Girish joined us and implemented support for windowless plugins. Now he has even gone one step further and written a huge blog post about it, something that is definately worth checking out. You can find it here:


Also, join me in congratulating him in becoming an official WebKit committer!

At the office we are starting to get into Christmas mood! and friday I'm heading off to Europe to celebrate the Christmas holidays with my family and girlfriend.

Anselmo just took this nice picture from our office:

Merry Christmas to you all!

Tuesday, December 01, 2009

The world just became a bit cuter

Today is an important day for me, as Qt 4.6 has been released; the first release that I have been deeply involved in.

Actually, I can say that my employer Nokia Technology Institute, INdT, has done a great job on Qt 4.6, as we have contributed to various areas:

  • QGraphicsAnchorLayouts: My ex-team implemented a new layout together with Jan Arve, where one can anchor widgets together in the Graphics View. It is extremely flexible, as the layout has no pre-defined concept of how should the items be arranged. The final position of each item is totally dependent on how you set the anchors.

  • Qt Mobile Demos: Three great demos, showing off the power and flexibility of the Qt 4.6 development framework. This video says it all:

    A cool video by my co-worker Ian Andrade

  • PySide: A Python binding for Qt 4.6, that currently works on Linux, Maemo and Mac OS X, with Windows on the way.

  • QtWebKit: Great works has happened on the WebKit front. Personally I have worked on plugin issues, a new QGraphics-based widget, testing framework, API reviewing, DOM access from C++, among other things. It has been a crazy 9 months since 4.5, and it is amazing how much we have got done.

    For more information on the WebKit work, checkout my Maemo Summit presentation, but keep in mind that the PluginDatabase support has been postponed for the next release.

Please enjoy Qt 4.6! Download it today!

Thursday, November 12, 2009

There we Go.

Last week I visited Google for the first time. I even passed by Rob Pikes office...

Today I'm using the language he and his team just created. Lots of inspirations from C, python, limbo and friends, and I actually had fun playing around with it.

1 package main
3 import "fmt"
5 func PrintAll(x interface{}) {
6 var str string;
7 switch value := x.(type) {
8 case bool:
9 if value {
10 str = "True"
11 } else {
12 str = "False"
13 }
14 case string:
15 str = value
16 default:
17 return
18 }
19 fmt.Printf(str + "\n")
20 }
23 func main() {
24 PrintAll("Hello world");
25 PrintAll(true);
26 PrintAll(false);
27 }

Now look at that :-) Hello World, here we Go.
$ 6g test.go && 6l test.6 && ./6.out
Hello world

PS: "!" replaced with ".", emphasising that I'm talking about "Go" and not the "Go!" language.

Tuesday, October 20, 2009

LatinoWare 2009

So, tomorrow 7 people from the Qt Labs Americas at the Brazilian Nokia Technology Institute are going to the biggest South American open source conference, LatinoWare in Foz de IguaƧu.

Jesus Sanchez-Palencia and Anselmo Melo will do a mini introduction-course to most the new features on Qt 4.6, and I will do a more elaborated presentation about what we have done with out WebKit support in 4.6, and where we are heading!

Artus Souza, Caio Marcelo e Eduardo Fleury will also be doing very interesting presentations about the KDE Plama Netbook edition, as well about Qt Anchor Layouts.

So, hope to see many of you there!

Friday, October 16, 2009

Great week of Qt/Maemo events

So I arrived in Brazil again after one great week in Europe, attending the Maemo Summit in Amsterdam and the Qt Developer Days in Munich.

The Maemo Summit was a great event and it was nice to finally meet the community, now that I have worked with Maemo for 3 years.

I did a short presentation (25 min) about QtWebKit, what it is, why we chose WebKit for Qt, and about what we have been working on the last year. It was surprisingly well received, as different people told me that it was one of the best presentations there.

I also got to meet one of the guys from the Nokia Starlight project, which has since when been opensourced (read more here!). Their work is really great and I'm looking forward cooperation more with the guys and getting their changes reviewed and integrated in the upstream WebKit.

As you can probably deduct from the above, I have been working remotely at part of the Qt WebKit team for about a year now. Great gang of people, so it has been a very interesting and productive year.

Qt 4.6 is looking really good and I'm currently thinking much about what we should concentrate on for Qt 4.7. Shortly, I expect to be looking into creating a clean and open backlog on the WebKit wiki.

After the Maemo Summit, I went to Munich to give a more elaborated and detailed WebKit talk. Qt Developer Days is growing! Almost 700 people present, very professional presentations, great oppotunities to meet up with the trolls - something that just has to be experienced.

Personally it was a great oppotunity for me to meet the difference people working on WebKit, such as people from Starlight, a WebKit performance hacker from The University of Szeged, people working on the Nokia Web Runtime etc. and it was also nice to be among many of my friends again :-)

After the Qt Dev Days in San Francisco, I will see if it will be possible to publish the slides online, so watch this space!

Tuesday, August 18, 2009

LGPL Python bindings for Qt released

I am very happy to announce that our OpenBossa labs have just released LGPL licensed Python bindings for Qt, endorced by Nokia. It is our first product being released as part of our newly founded Qt Labs Americas, and we hope they will be well received by the Python and Qt communities.

Though, not being part of the Python team, I have long followed the project and tried to encourage the team and their work, and I think that they can all be very proud.

The product is not a binding alone, but also a Binding Generator and an API Extractor, which should make it easier to generate bindings for other languages as well as easily bind other Qt libraries, and make them accessibly through Python.

Please check out the brand new site: http://www.pyside.org

Tuesday, June 02, 2009

A look at QML Declarative UI and CSS3 Animations

Last week a wrote a small article, taking a good look at Qt's new declarative UI format, QML as well as the new CSS3 features in WebKit, allowing for somewhat similar features.

Both are very interesting technologies, that might become quite important in the long run, so if you are interested in one of the above, you should really go check out the article :-)

The article introduces the two technologies, their concepts, and tries to look at their similarities and differences. Write writing the article I implemented some examples in both QML and CSS3, and I have based some of the article on these findings.

You can find the article here: