Skip navigation.
KDE Developer's Journals

Misconceptions about the Portland Project

krake's picture

There is an article over at linux.com which predicts that the Portland initiative will fail to reach its goal of "unifying the Linux desktop".

Unfortunately the author somehow missed that "unifying the Linux desktop" is not the goal of Portland.

Moreover, aside from failing to understand what solutions we are aiming for, the article also claims that other projects like LSB or freedesktop.org would also be failing to reach it.

I guess I don't have to point out that neither of the latter two project has "unifying the Linux desktop" as its goal either.

Now the question is, why did the author think that Portland aims at this unreachable goal?

Is it some bad wording on the website? Some ambiguity in a press release?

Obviously any project where contributors of different free desktop teams work together will result in some kind of common good, be it a specification or a shared implementation.
However there is quite some difference between doing common stuff in a compatible way and removing all differences. i.e. "unifying the Linux desktop"

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
segedunum's picture

Sigh

I am beginning to wonder whether Portland's developers and those involved with it even know what on Earth the thing is.

Portland is one layer and API that masks the differences between Gnome and KDE, correct? If so, then it's an effort to unify the two desktops, albeit indirectly by creating a new 'desktop' called Portland. As time goes on you'll find that ISVs and developers will tell you that the featureset of Portland is not enough, and they want more APIs that allow them to do more similar things between Gnome and KDE. Take this to its logical conclusion and you'll have a huge layer that attempts to abstract away every difference between Gnome and KDE, covering an awful lot of features and wasting an awful lot of effort into the bargain. ISVs will also start demanding common ways to do things like install system services, which goes beyond even the desktop. Before you know it, you've got one desktop and one distribution anyway.

The very reason why Portland exists, and the LSB, is because ISVs and other people have the problem of porting to multiple desktops like KDE and Gnome and multiple distributions. There seems to be an awful lot of denial from many people that that is why these initiatives have been started. I can't think why.

I guess I don't have to point out that neither of the latter two project has "unifying the Linux desktop" as its goal either.

Then in the wider scheme of things, it's essentially useless. See above as to why.

Now the question is, why did the author think that Portland aims at this unreachable goal?

Is it some bad wording on the website? Some ambiguity in a press release?

Because the people who started it, are working on it and are involved with it don't even seem to know what it actually is themselves.

However there is quite some difference between doing common stuff in a compatible way and removing all differences. i.e. "unifying the Linux desktop"

No there isn't, because that's essentially what is required. I'm glad you've admitted that something that is required is an 'unreachable goal' above, but you seem to have done it without realising it.

zander's picture

pampered?

Sounds like you have a far too idealistic worldview Smiling

On Windows there are no general classes for non-trivial menus (if you want icons in your menus, you are on your own), there is no (non-trivial) file-open dialog, you can't ask the system for the default browser, etc.
On Gnome and many other desktops many of these things are also missing.
Printing services, do it yourself. Reusing global desktop settings, no go. Anywhere.

All of those are not true for KDE and its a common misconception to think that ISP will be happy if they can just choose one desktop environment and be done with it. That won't work since the component reuse is just not as advanced anywhere else as it is on KDE, so these companies end up coding 100% themselves anyway. Well, they could choose KDE, IMO, but for various reasons its not that simple Smiling
Slightly off topic; this is why so many company-internal projects are focussing on Java since its the first framework that actually unified all these things. Naturally that creates the install-dependency which is why so many are now relying on webapps. See the trend?

So, what the portland project does is basically provide a selected set of already-made services via a common interface. If you ever worked in creating GUI apps for companies or even for sale, you'd know that the 80/20 rule applies. 80% of the apps use 20% of the features available. So portland will be good enough for 80% of the apps that are deployed on Linux.
I know you are a programmer and you are trained to think in corner cases, let me reassure you, thats incorrect in this case; this project really will be enough for the majority of the apps that ISVs want to ship.

So, please go out and talk to ISV developers, see what kind of problems they have to solve, see what demands (normal, non programmer) users have for this kind of software and then come back and revise your opinion.

jaroslaw staniek's picture

On Windows there are no general classes

On Windows there are no general classes for non-trivial menus (if you want icons in your menus, you are on your own), there is no (non-trivial) file-open dialog, you can't ask the system for the default browser, etc.

Not everything what you said is true:
* "there is no (non-trivial) file-open dialog". Hmm. Depending wheter we're looking at win95 (then it's in par with Qt 1.4, right?) or at win2k. BTW, maybe file dialogs _should_ be trivial? (with exception for better file previewing)
* default browser is started via ShellExecute (http://4programmers.net/WinAPI/ShellExecute). We even use this function in kdecore/win32 to execute and URL Smiling

That said, sure: the win32 API is terrible (read: damn backward-compatible). KDElibs and Qt to the rescue!

aseigo's picture

denial?

> then it's an effort to unify the two desktops, albeit indirectly
> by creating a new 'desktop' called Portland

no, there's no new desktop, not literally (as in you can start a desktop called 'portland') nor in essence (as in portland replaces the desktop frameworks).

specially, portland is a way for ISVs who are -not- using a desktop API to integrate at certain, well defined entry points. it doesn't require reimplementing these features and it certainly does not and will not cover all aspects of the desktop API. that is both unnecessary and nonsensical.

i know you keep pushing this horroshow concept as being The Reality of the Situation, but having been involved with the actual needs and requirements assessments i can tell you that there is no delusion as to the need or desire for it to be all inclusive. not even the ISVs who are involved want or need that.

your argument is like saying to someone bridging a river that bridging the ocean is impossible since eventually people will not only want to cross that one river but also the ocean and therefore a bridge for that river is doomed. doesn't quite make sense, does it? Eye-wink kevin and lubos and whomever else gets involved are making a river bridge .... it's not a random act of coding.

> The very reason why Portland exists, and the LSB, is because ISVs
> and other people have the problem of porting to multiple desktops
> like KDE and Gnome and multiple distributions. There seems to be
> an awful lot of denial from many people that that is why these
> initiatives have been started. I can't think why.

that was explicitly why portland was started, it's been the target goal all along. there has never been any denial of that or stating otherwise by those involved.

it's a pragmatic, short/mid-term band-aid solution for ISVs. what's important is that it supply a useful band-aid that doesn't become an eternal dependency (medication, not addiction) and that it eases the way for ISVs. it seems on path for that.

krake's picture

No need to sigh

Portland is one layer and API that masks the differences between Gnome and KDE, correct? If so, then it's an effort to unify the two desktops, albeit indirectly by creating a new 'desktop' called Portland.

Technically yes, conceptually no. It is an API for functionality that desktops usually provide but which they differently implement or hide behind some desktop specific API.

The difference is also the scope. While the desktop APIs provide whole frameworks for application developers, so they do not have to implement everything themselves, the Portland API provides access to a small number of specific tasks that are not (yet) implemented/accessible in a standard way.

Since the main desktop projects are in a position now, where they can use the same application<->session service communication, it is very likely that there will be a move to common remote interfaces and, in the long run, shared implementations.

KDE3 already demonstrates that a lot of desktop functionality can be provided this way, e.g. launching applications, IO abstraction, notifications, etc

The implementation of the Portland task will first be some compatability layer, then later on just map to the standard interfaces and, in the long run, eventually be faded out.

Your observation that the main target audience of Portland and others like LSB are independent software developers is absolutely correct. However, while implementing the tools and APIs, the projects also gain a better understanding about common desktop capabilities, about candidates for shared specifications or even implementations.

Then in the wider scheme of things, it's essentially useless. See above as to why.

No, because it can provide some solutions today. It might not be optimal option, but it can improve the situation now.

Because the people who started it, are working on it and are involved with it don't even seem to know what it actually is themselves.

I haven't got this impression yet. My guess is that since others always assume a much wider scope than intended, it makes clarification attempts somehow look like misunderstanding the whole thing.

segedunum's picture

My guess is that since

My guess is that since others always assume a much wider scope than intended, it makes clarification attempts somehow look like misunderstanding the whole thing.

The problem is, they assume a wider scope simply because that's what's needed.

krake's picture

Still a wrong assumption

It's a pity others interpret the Portland goals in a way they would like them to be, but it's important to know that the scope of Portland is concentrated on basic tasks.

Even if there is a need for a wider scope, those issues will be solved differently, for example PIM application tasks if Akonadi becomes the shared PIM data backend.

liquidat's picture

You're right

Did you mention that the author missed the only project which tries to unify specififc parts of the desktop, the tango-project?

It takes a sensible attempt (unify the icon naming scheme), and afaik this develops quite well and will be included into GNOME and KDE as a standard.

So the whole article is a joke: he misses the aims of the projects he describes, and also misses the only project which really aims for what he describes.

And last but not least: since the Tango Project develops so well his conclusion is also wrong Laughing out loud

segedunum's picture

Personally, I thought Tango

Personally, I thought Tango was a bit of a Gnome project, and I really can't see what on Earth it's trying to achieve. A default native look, common icon naming, stock icons and a cross desktop HIG. Big wow. There are bigger differences between applications and desktops than that.

The only way you can unify the two desktops is to have one - it's that simple. Remember that the problem of multiple desktops is a problem of the open source world, not something that anyone else remotely cares about.

liquidat's picture

Aaron mentioned once that

Aaron mentioned once that Tango was more driven by KDE people if I remember right.
However, you mentioned what they are trying to achieve, so where is your problem? Sure, they are not solving all problems which exist, and the Tango project does not wash my underwear. However, they are addressing issues, and are solving them. And some of them, especially a common HIG, are important. Others, like the icon name scheming, are nice and improve the feeling of the desktop a bit.

And that's much better than "nothing improved" because there are still issues left.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.