posted by Eugenia Loli on Wed 22nd Aug 2001 04:55 UTC
IconCarsten "The Rasterman" Haitzler, the man behind Enlightenment (E), the extremely configurable window manager for X, speaks about the new, highly anticipated, version 0.17. Already more than a year of development, the new E, will not just be a window manager, but a desktop shell, battling for its place to our desktops, between KDE, Gnome and WindowMaker. The team developing E17 are using some technically interesting methods, while they assure us that speed will be present, plus a visually stunning GUI for the X Window System. Read on for the interview and 3 exclusive screenshots of E17.

OSNews: 1. What are the technical challenges you are facing by developing E17?

The Rasterman: Everyone wants alpha blended this and anti-aliased that... to graft that into the rendering system we had, that relied on windows and pixmaps would have bene a nightmare... so it was time to stand back and redo that.. thus evas was born. Imlib2 was the "lets fix imlib" project section. The event handler was rather crufty in e16... that was also replaced and virtualized... overall the core code is a LOT cleaner.

2. Will the overall performance expected to be better than E16, or even than Gnome or KDE?

The Rasterman: E17 is built for sheer performance. It should be able to equal or beat anything else doing anywhere near the same level of visual work - and many things doing a lot less visual work. Rememebr you can't compare something that displays 2 lines and a box with something that fills the srceen with alpha blended images and anti-aliased text. They are different levels of visual work, but even so - e17 should be not far off a lot fo the performance of the simpler visual displays. e17 isn't a whole desktop. It's a desktop shell - think of it as a window manager + desktop background manager + file manager + config tools all in one.
If you look at it as that you can only try compare it against apps that do the same - or combinations of apps, so comparing against KDE or Gnome isn't right - nor is comparing against fvwm, windowmaker or sawfish. e17 is sitting somewhere in between. But if you compare to the combo of programs needed for example for nautilus + swfish + panel etc. e17 should stack up to be as fast if not a LOT faster, and use less resources. I will point out I have no hard empirical evidence, just anecdotal and sporadic experience - and I do not want to demean the other pojects at all - but i'm using them as a fencepost to measure against. I just think that e17 is heading for being leaner and significantly faster. Even though the codebase for E gets bigger as time goes on.. the speed goes up - as do the abilities.

Click for a larger version

3. The whole new E17 tends to abstract almost everything (a strategy also found on other window managers), from the file system node monitoring to the rendering library. Doesn't that make things more "bloated", complicated and slow?

The Rasterman: "Bloated" - that is relative. Considering e17 will take up lets say a combination of nautilus + sawfish + panel + etc. its actually very lean. Also abstracing allows for greater optimizations within that subsystem - without impacting other bits of code. efsd (the filing system daemon and abstraction layer) was in fact a massive optimization - to improve user interactivity, usability and speed, without over-complicating the code. Virtualizing the rendering system with evas was the best thing we could have done. It's blindingly fast for what it does.. and even makes he old rendering code look slow. Evas optimizes out a lot of work for the program using it - leaving the program (ie e17) to get on with its job instead of having to think of optimizing its rendering. It allows for different rendering targets too and easy improvements in abilities.

4. Is E17 still based on GTK+? If yes, why did you not choose a C++ API where C++ is known to help a lot when it comes to GUI programming?

The Rasterman: It never was based on gtk+. I use gtk for a few development utils because it's there and works. We have a widget set of our own brewing that uses evas - its an example showcase of how evas can be very powerful - even for an entire widget set. As for c++ - i personally am just not comfortable with it. I come from a background of doing assembly programming. For me C is a very high level language and i just don't feel good about C++. Also the C++ compilers and tool sets for linux are much less mature than their C counterparts - meaning more problems to deal with. You also don't NEED C++ to do good GUI coding. It's a matter of style. e17 has a semi-OO setup. You setup event handlers (think of them as classes) and callbacks (methods if you like) in them - it's a very loose comparison - but it works quite well.

Click for a larger version

5. How do you see the future of Linux concerning the desktop? Can Linux really become easy to use as Windows or Mac or is it bound to its unix-like roots by definition?

The Rasterman: I doubt it. The problem is linux will never unify in the desktop - why? No one really contols it. It's an open page for anyone to write on - KDE and Gnome are both trying. I have been for using it as a development platform for a long time - as long as either of these projects - but i don't see "dominance" of the desktop happening - and ease of use won't be quite there till one side wins - which it won't. The beauty of X and linux is the variety.. And the ability to - if you don't agree - go and do your own thing. Those that think the same might use that stuff too. It's friendly competition and it's healthy. Users get more adapt with time and learn things. They will adapt - just like people learn to drive cars in the end.

6. How do you see the future of desktop and the GUI evolution in general? What did you think of MacOSX or XP when it comes to GUI design?

The Rasterman: MacosX is very pretty - though i am not sure it's any better than the old Mac UI. XP - I haven't seen much of it, so i can't say. To be honest - I don't speculate much on this - it's still an area of open possibilities. I think once the new ages of graphics cards comes to be ubiqutous (i.e. 3d accelerated cards everywhere) the immense power in a gfx card will open up UI's to do what they before couldn't dream of for sheer lack of compute power. MacOSX is s start in using that... things will continue to get better.

Click for a larger version

7. Does Enlightenment have future plans to incorporate OpenGL into "normal" window programming? What are your other thoughts about the future of E?

The Rasterman: Currently its able to use GL to do any of its rendering. Evas allows this by its design as an abstraction layer - and it works. I actually was running my desktop background view and file manager view using OpenGL yesterday. It works. This is why evas is so important to E - and in future it has many more possibly uses outside of E.

8. Any estimation as to when the first public beta will be ready?

The Rasterman: I never speculate on release dates. When it's done :)

e p (0)    18 Comment(s)

Technology White Papers

See More