Tuesday, August 12, 2008

Presenting QEdje

So Nokia bought Trolltech and brought Qt into the fold. Really surprising to most of us, but also very exciting. I had never used Qt before, though heard lots of nice things about it from my team at the German Aerospace Center. Actually, I have never been much fond of KDE, and 4.0 also didn't make me that excited, though I must say that the same counts for GNOME these days.

Anyway, Qt seems to be gaining ground so I installed Qt, and me and my team started researching this nice new technology. I have never been fond of programming in C++, maybe I have changed, but programming in Qt/C++ have been a breeze so far. Qt is a high quality piece of software and something not to be ignored.

Working on Canola and other internal projects during the last year have brought a lot of experience to the team. We have learned that our investment in MVC, our plugin system and the Edje [1] canvas interface description language have born fruits, and is something that we cannot do without; I'm still amazed how much we completed in basically a years time.

So Qt seems to be an important player in Nokia's future, atleast for the Internet Tablet, so to be better aligned with that, we researched the viability of porting Edje to Qt, and are very proud of making the announcement that the most important parts are already there and released under the same license model as Qt.

Three guys from the team are present at the aKademy conference and have been giving a lecture on Edje and our QEdje project. The presentation went very well, and the audience seemed interested. Aaron Seigo went so far to look at implementing Plasma [2] objects (so-called plasmoids) using QEdje. How that went I don't know, but I guess we will see shortly.

The presentation was written using python together with QEdje and pretty fancy in my opinion, but we have put a PDF version online for those of you who are interested and didn't go to the lecture.

It can be found here: "QEdje Presentation" (7z compressed) at the project site. A high quality version of the video is also available.

QEdje is still running a bit slow on the Internet Tablet and we have been writing various profiles which we have shared with the Qt developers, showing that we will need some heavy optimizations before we can write applications like Canola and Carman using Qt + QEdje. The Qt developers have been really friendly and paid attention to our requirements, and to make my day, Andreas Aardal Hanssen announced [3] at the conference that they are working hard on improving the raster graphics path in Qt and that it is already 40 times faster in some situations. Now that is what I needed to hear! Tusind Takk!

[1]: Building Interfaces with Edje: The Edje Developers Guide
[2]: Plasma, http://plasma.kde.org
[3]: Qt 4.5 to dramatically improve QtWebKit and QGraphicsView..., dot.kde.org