Next Iteration Sprint, confirmed !

Martin Gräßlin mgraesslin at kde.org
Thu Apr 26 12:52:55 UTC 2012


On Thursday 26 April 2012 12:41:32 Aaron J. Seigo wrote:
> On Monday, April 23, 2012 17:42:42 Martin Gräßlin wrote:
> > My expectation from the sprint is that we will figure out a new
> > interaction
> > of the shell and windowing system which is not possible at the moment. We
> > have pretty much reached what's possible with Plasma tells KWin what to
> > do.
> > But turning it around (Plasma becomes a plugin to KWin) will give us
> > complete new possibilities which I will start to explore as soon as we are
> > in feature freeze.
> 
> i am currently very, very sceptical about this approach. this is because it
> is a set of statements with no foundation.
> 
> * what would be the potential improvements?
> * what are the realistic improvements?
> * why can't it be done with the current way it is done?
> * why is a whole new shell needed at all?
> * do we really want to weld everything together? (this is not zero cost)
> * and most importantly: why will the user care?
> 	* what is our end goal / motivation?
Your questions are very valid and important. And I will try to provide some 
reasoning for it.

If we look around we see that both GNOME Shell and Unity went for an approach 
to integrate the desktop shell into the compositor and did not follow KDE's 
working approach. At the time when we introduced Plasma we were the only 
Desktop Shell being able at all to integrate Compositor and Desktop Shell, so 
why did they invent a new wheel instead of following our approach?

I evaluated that question and came to the conclusion that if we would start 
all over today we would do the same. Something like GNOME Shell could not be 
implemented with our current solution.

I give now some examples of things which are just not possible with Plasma and 
KWin being two different applications. Please note that I consider those as 
examples and not as something I propose to do.

* combine present windows with application launching (e.g. SAL, Kickoff or 
KRunner)
* include running windows in search and launch
* Tasks Applets showing live thumbnails instead of icons
* Include window/desktop thumbnails in QML (showstopper for tooltips)
* Include thumbnails of running windows in an application launcher and still 
having smooth scrolling

We also see that our current solution has rough edges which we could not solve 
yet:
* Panel tooltips movement not really synchronized/smooth
* No crossfading between thumbnail tooltips when going from one item to 
another
* Inability to identify windows of the desktop shell to give them special 
treatment
* Dashboard conflicting with window management
* Conflicting screen edges for auto-hiding panels
* same context menu for KWin and Tasks

Many of those issues seem to not exist on competitve (proprietary) platforms 
and it makes me really sad seeing our competitors having better solutions in 
that area given that our technology and our features are all there and in fact 
much better.

At the same time we know from many projects we have worked on that the current 
solution is just hackish and does not scale. Just remember the window strip in 
PA 1/2. A complete nasty hack, which was extremely slow. This was solved by 
bringing Plasma technology into KWin: QML, Plasma Components and Plasma 
Packages.

Our current solution to KWin/Plasma integration is adding more X atoms. Sorry 
but I don't want to see any more X atoms passed around. It's an extremely 
hacky and ugly solution requiring the synchronisation of three processes 
compared to having the same with QML in just one.
> 
> anytime i see "a new shell" i get shivers running up and down all the wrong
> places of my body.
> 
> i've yet to see the above laid out cleanly and until that happens, there's
> no way to make a good decision. if we simply state the result before the
> reasons are well understood then we may as well bring out the roulette
> table, spin it and let it decide what we do next. :)
You are of course right with that and that's nothing I want to do. I was just 
afraid that we are in our thinking of what is possible and what not which 
would limit our ideas. If we would not even think about possibilities like 
what GNOME Shell is doing with the dash just because we think it's not 
possible, it could end up quite bad.

That's why I just mentioned that I see a huge potential if we step aside from 
what we have, open our mind (even if it results in a shivering Aaron ;-) and 
start thinking and dreaming. I am sure that we can find technical solutions to 
quite some of our current problems if we open up our mind.

That's why I also think it is important to open up to new contributors who 
could bring in a lot of manpower which is currently lacking in Plasma. If I 
see correctly there is a large amount of sponsored developers coming to the 
sprint. Which makes me quite happy :-)

Cheers
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120426/51f3519e/attachment.sig>


More information about the Plasma-devel mailing list