Monday, August 25, 2008

kwin ftw

Since I'm a little obsessed these days with software design that is adaptive, flexible and sturdy, it was with interest I read Lubos "Seli" Lunak's recent blog where he said:

"KWin's design is still about the same like in KDE2.0, and, apparently, it still just works. I can't see a problem with not having been designed from the group up for compositing, something that nobody even thought about at that time, yet getting there when the time comes"


That is really impressive as imeans that the code has the property of being able to go the distance by being easily extended and reworked without having to toss the whole lot.

What was really great to read in that same blog entry was that Seli has optimized KWin's performance and that it should now generally be on par with Compiz. Very, very nice.

We should keep in mind, however, that this is only half the battle: the effects themselves also need to be both performant and well tuned. The tuning aspect is actually more to do with the human perception than the CPU cycles in this case: non-linear animations (Sebastian, along with others, have done a lot of work in this area for KWin effects), animation timings (often shorter is better), functionality (I've given up on having time to go back to the coverflow switcher myself and implement mouse interaction =/ ) and little details like alignments and consistency are the other half of the battle.

That is why people like Lucas Murray and the other KWin effects hackers are my heroes for the week.

Permanent kudos to Seli, though, for ensuring that KWin can continue to rock on in the free world.

p.s. I heard not so long ago that KWin was originally pronounced like "Quin" rather than "Kay Win"; that is such a nicer sounding name! Perhaps we should spell it Kwin instead? =)

p.p.s. Coverflow switcher mouse interaction would rock, e.g. hovering a window could show it's title in a properly angled bubble above it, clicking on a window would select that window, etc..

p.p.p.s. nVidia's latest beta drivers seem to address the performance issues people were seeing with KDE 4.1 apps like plasma.

p.p.p.p.s. I've noticed that Seli has been blogging a lot more often this year, which is awesome. Is there a causal link between working on visual coolness and blogging? Hmmm...

7 comments:

Martin Graesslin said...

Mouse interaction in coverswitch would be nice only problem as far as I see it is that it would be difficult to identify the window under the mouse cursor, but I think it would be possible ;-)

I have a different idea how to implement it. Some time ago I saw a mockup on kde-look which showed coverswitch combined with boxswitch. I liked the idea and plan to implement it. There it would be possible to have mouse interaction.

dhaumann said...

Lubos for the next Akademy award, this is pretty obvious, isn't it? :)

Aaron J. Seigo said...

@martin:it shouldn't be too, too difficult; just need to map the mouse position to the transformed image of the window.

all the same, look forward to seeing what you come up with on the cover+box switch

@dhaumann: shhhh! you're going to give away the surprise! ;)

Rasi said...

to your p.p.s.: i have all my troubles even with latest beta:

glitches in taskbar (when clicking cashew)

dolphin being slow on selecting multiple items with the rectangle

plasmoids dont move with tv-out enabled (could also be plasma bug, not sure)

Philipp said...

Hi there,

primarily I'm a lawyer and not a techie, but I really like what's going on with KDE these days.

Thanks for your work, your stubbornness ;) and for being back as a blogger!

baxeico said...

To your knowledge, will the KWin optimizations mentioned by Lunak go in KDE 4.1.1?
I ask it here because I don't know how to comment on Lunak blog.

Thank you all guys!

Yves said...

I hope Lubos will backport these optimizations into the 4.1 branch