Tag Archives: efl

QEdje – Init()

This is my first post that is aggregated by planet kde. My name is Artur (a.k.a. MoRpHeUz) and I work for Openbossa (open source stream of INdT– Brazil). We develop solutions for mobile platforms like the Nokia’s n8x0 devices and we are responsible for projects like Canola, Carman and Mamona. I would like to introduce the QEdje project, but to talk about QEdje I need first to explain Edje (from Enlightenment Foundation Librariesย  – EFL).

From Edje’s wiki: “Edje is a graphical design and layout library based on Evas (the canvas used by EFL) that provides an abstraction layer between the application code and the interface, while allowing extremely flexible dynamic layouts and animations”. Let me detail a little bit more: with Edje you can create dynamic and animated user interfaces easily and can make designer’s dreams really true (without “hurting” developers), with much less code than other approaches.

This way programmers doesn’t need to become designers (what usually results in bad usability or even bad interfaces) and designers doesn’t need to become programmers (that results in not so good technical approaches or even bad code) ๐Ÿ˜‰ . The fact is that Edje puts the control of the usability and beauty in the hands of designers and artists, separating (until some level) the application and the UI logic. It’s important to say that it’s different from other styling systems since you can change even the behavior of the widgets on the screen, not just it’s look.

The image below show more about the Edje work flow. Where it says “designer” you can read developer too. If you work like this, you can have designers creating the interfaces and developers translating them to Edje Script Language or even an automatic tool (sometime ago we developed a python script for GIMP which takes a photoshop file and creates the edje file – without the animations, off course).

Edje Workflow

Edje Workflow

Using EFL we created animated and themed applications for mobile devices, bringing beauty to the end user. The end user just love fancy stuff on their mobile devices, we have iPhone phenomenon to show that for us.

Canola's Main Theme Crystal's Theme
Canola's Black Theme

You may be asking yourself: “but how does this affect the desktop and does this have anything to do with KDE/Qt world ?”. Let’s go to the answers…

We always wanted to use Qt and now we have the chance! Our first need was something like Edje, that just changed our lifes regarding rich ui applications development. The first move was to create a port of Edje, and then QEdje was born. So at this point QEdje is a port of Edje, leaving the EFL world and coming to Qt world. We still have some work to do (features, bugs, …) but it’s already working in a nice way. In the future we plan to create some new features that the original Edje doesn’t have right now, but may be included too.

If you take a look at e17 (enlightenment window manager) you’ll see that it has a lot of cool stuff. The first thought was that Plasma could benefit somehow from it (and it looks like that Aaron thought the same – let’s see if we have something in this area after Akademy ๐Ÿ˜‰ ). This way Plasma, for example, can easily use QEdje to have fancy plasmoids and other applications can have rich UI looks (anybody thinking about image viewers, multimedia players, educational games, etc .. ? ๐Ÿ™‚ ). We’ll also make this easier by providing support for embedding QWidgets inside you Edje interface, so you can benefit from the huge widget’s library provided by Qt.

So, if your are going to Akademy and is interested, please watch our presentation. We’ll give more details, explanations, future plans, etc..etc..etc.. . And if you are not going to Akademy, please contact us at #qedje@freenode.net and take a look at the project’s website: http://dev.openbossa.org/trac/qedje . If you wish, contact me by email also.

That’s all for now, hope to have more news and demos soon! ๐Ÿ™‚