KDE architecture diagram

Aaron J. Seigo aseigo at kde.org
Fri Jun 8 12:09:36 UTC 2012


On Friday, June 8, 2012 12:35:46 Martin Klapetek wrote:
> While I share your idea of Plasma Workspaces, I would imagine that
> different parts of the kernel are maintained/developed by different people.

and they don't whinge at each about it ;)

> Sure, the core is the same, but the platform-specific stuff needs to be
> different (if only a little). So one needs to see the difference between
> core and the "workspace" in our Plasma case.

the "core" makes up 95%+ of the "workspace".

i'm beginning to think that people are judging on the looks rather than the 
code, and that worries me because it would mean people are making conclusions 
without knowledge.

the design of Plasma lets us take the overwhelming majority of code and re-use 
it across workspace shells. that's the entire point. i've calculated that the 
current delta between Active and Desktop is ~15000 LOC, and that once we merge 
some branches (e.g. the QML screen locking branch) that will drop down to ~10k 
LOC. the other ~250 LOC (not counting kdelibs, qt, and all that of course :) 
is shared.

from libplasma to the script engines to the plasmoids themselves there is 
great consistency.

so differentiating between core and workspace is not as useful as one might 
expect at first.

> In other words - if you add
> method to the core and make use of it in Active, it doesn't magically
> happen on desktop too.

not always, but often yes it does. did you notice the new activity manager.

> Which I think might be on of the problems - seeing
> the Plasma team focusing on Active, bringing new features there 

many of those new features are available to and have appeared in the desktop. 
the new activity manager daemon, the QML components, improvements in various 
plasmoiods, etc. 

there is still much more to take advantage of in Desktop, and thankfully the 
design lets that happen easily. the same design that has let us do Active. it 
is *not* a zero-sum game where Active takes away from Desktop or vice versa. 
efforts in one improve the others. they also bring in more developers.

there's also the fact that working on a touch interface gives new interest in 
and perceived (and real) sustainability to the KDE Workspaces.

let's look at the big picture here.

btw, it sounds very whingy when people get annoyed that we've worked on Active 
just because they'd like us to work more on Desktop. it sounds very much like 
we're being told "do what *i* want". well, all of us who worked on Desktop and 
now contribute to Active have also continued working on Desktop in parallel. 
who do you think did the new Applets chooser, work of libtaskmanager and the 
tasks widget, etc. etc.?

my hope is that instead of whinging at us about working on Active and ignoring 
our parallel efforts on Desktop, that people will pitch in and work on the 
parts that interest them and move those things forward faster.

> desktop is...well, it's the same for the past 3 years. 

tasks launchers, new window switcher (in QML no less :), several plasmoids 
ported to QML (only somewhat user visible in that the results are usually 
graphically smoother, but necessary work), addition of javascript for the 
layouts (and many improvements to that in the last 18 months), system tray 
refinements, the Plasma KPart now used in a number of apps ...

now, i do understand what you're saying: the desktop hasn't had a major set of 
visual changes in the last few years. it's all been incremental and 
evolutionary. that does *not* mean people have not been working on it or 
caring for it.

performance improvements and bug fixes are critical to the maturing and 
therefore the adoption of the desktop interface.

> And just look at
> Facebook - they change stuff every 2 years or so. Now I'm not saying let's
> forget what we have and start over. Not at all. But we're quite stagnating.

compare 4.5 with 4.9. use 4.5 for a week or two, then come back to 4.9. 
there's been forward movement.

now, when we make change, we need to be able to say why we're making those 
changes. change for its own sake is useless. which means that not doing a 
revolution every N years is not necessarily a bad thing. major changes should 
happen when they need to. not sooner, not later.

so saying "we're stagnating" when we not only have things like Active going on 
(which really takes the wind out of our sails, btw: "what you're doing has no 
value" is exactly how it ends up sounding like.) but also moving Desktop 
forward is ludicrous. btw, if you want to see a shell that is stagnating: 
Netbook. it hasn't seen any major work in a while.

so if we wish to talk about stagnation let us:

* stay real to the actual efforts, not invent "nothing has been happening" when 
there has been

* define what change we want to see and describe why that change should happen. 
speaking in generalities ("it's stangating") will not move things forward.

> And that's in my opinion, where we need the vision. Aaron's vision is
> great, but to me it sounds more like a general textbook "workspace vision".

can you point me to another workspace that is doing what we're doing? 

or, go back 8 years when i did my first presentation on the prototype of this 
vision at Akademy in Ludwigsburg and compare the ideas of what a desktop was 
then to what it is now ...

> I personally think we need a more precise vision (we already do have
> organic uis, don't we?). 

in some places. we still have work to do in many places. and we only have that 
now because we had that vision in the first place. other workspaces were not 
looking at this, especially not KDE.

> For example - what's our vision for integrating
> social media in the shell/Plasma? 
> What's our vision for integrating IM? And

great questions! :)

they are also domain specific, akin to "what's our vision for managing files 
from the desktop?"

there is a global "first principles" vision. i think it can be refined and 
improved.

based on that we have domain specific visions. like "how do we integrate social 
media better?"

btw, are you familiar with Share Like Connect?

> so on. Sure, there are teams doing these tasks, but we should imho have a
> common vision, or goal if you wish, clearly defined by the Workspace
> leaders.

agreed.

> it. To reach one great Workspace. Just like for Active - you have a vision
> of creating a touch-based interfaces (very simply speaking),

that isn't the vision of Active. "touch based" is a domain-specific 
implementation vision within Active (the domain is "tablets"), but the goal is 
to also support set top boxes and other form factors that are not 
primarily/exclusively touch. 

the actual vision is in 3 quick points. the UX goal is: "an interface that 
adapts as users change Activities".

the other two parts are:

* a fast embedded UX platform with minimal memory requirements
* customizable and modular to support different form factors

in support of this we have a HIG in formation to describe our visual and 
touch-based UI language.

if you're wondering where i found this information, it's all on the main page 
of plasma-active.org right near the top.

> so basically
> there's a vision of how you'd like Okular to behave in such environment.
> And I would like to have this precise vision for the rest of the Workspace,
> not just "to have scalable interfaces".

you mean something like:

* an interface that adapts as users change Activities
* integrate social interation patterns with the desktop
* seamlessly blend all "system" (from a user's POV) UX into a single 
uninterupted visual design to frame applications with

this is what we've been working towards all this time, btw.

if you want to know why we aren't fully there yet, i'd be happy to share the 
last 4 years of history of the project.

> Each and every team can do their own vision. But then there will be
> inconsistencies, different functionality etc. 

agreed. we need to come together. that's what the intent was here. i think it 
got off to a very poor start because some people think they know what we've 
been doing, what the design of plasma is and they haven't bothered to do any 
actual research .. while being quite willing to share their opinions.

> Just look at System Settings
> - common place for so many apps and yet each module looks different. And it
> looks bad in the final result.

interestingly, the #1 thing people often write about Plasma Desktop when 
reviewing it is how beautiful it looks and how everything seems to fit.

we know they are wrong ;) and that much is left to be done. but i am also a 
big believer in realism. if we overstate how shitty things are, we will be 
more likely to change things that do not need it, or even just give up because 
after all this effort things still "suck".

> So I think there should be some well
> understood "lead", a way the Workspace should go. Which currently there's
> not. Or it's not well known.

it's just not well known. or, more accurately, it has been ignored. it used to 
be fought against, then it was ignored and now ... 

btw, did you know that just recently a developer on this list started working 
on harmonizing the tooltips between dolphin, system settings and libplasma, so 
we'll have consistency there?

there was also a discussion on g+ (not a good location, i know :) about 
QML'ifying system settings between myself and the system settings maintainer 
(and others). we'll probably take things we've learned from Active Settings 
and apply it there.

and you do realize that when we started, KWin was also a separate component. 
it was only because we invited KWin in and the KWin developers really "got it" 
why this was important. as a result, KWin has brought all sorts of 
improvements and new ideas to the table that would never have happened without 
them. we shared a vision, we shared development effort, we brought things 
together. even with kwin, there is still vision sharing to be done (as can be 
seen in Martin's recent emails :), but we have been picking up the pieces and 
bringing them together.

as for apps, many design concepts in today's dolphin have come directly from 
the workspace vision we've had. we do need to take this further out, but we 
have been bringing the ideas to those who have been open to them and within 
the limits of how fast our hands can write code.

i could point to any number of similar things in KDE3 that now work/look 
seamless in Plasma Desktop.

and now that you are here, we can go even further together! :)

the reason it hasn't gone further sooner? in part because these things take 
time. we had a lot of work to do in Plasma to get us to this point (and Qt 
changing about so much in the last 5 years did not help). 

in part because KDE people were not ready for this discussion. it used to be a 
hobby of some KDE hackers to take a shit on Plasma on the mailing lists, in 
their blogs, on web discussion boards and even in person. how could we have 
these discussions when that was the atmosphere?

now more people see that Plasma may be on to something and the idea of working 
together to bring about a seamless workspace starts to make more natural sense 
to people. it also helps that some of our competition has also moved in this 
direction (and to some extent they have done so because of Plasma), which 
helps more KDE people understand this is a good thing to prioritize.

but the Plasma people have been here for 3-4 years trying to make this happen 
and writing code that has brought it this far. i'm glad it finally is happening 
faster and with more people, because we all agree it's the best way forward 
and we need more hands.

denying the work and effort we've put in or the leadership we've offered is not 
a nice way to start this, however.

-- 
Aaron J. Seigo
-------------- 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/20120608/445823bf/attachment.sig>


More information about the Plasma-devel mailing list