Common Interfaces for Gnome and KDE Released
An anonymous reader writes "Today OSDL and freedesktop.org announced the release of Portland 1.0, a set of common interfaces for GNOME and KDE. From the article: 'Specifically, these tools make installing and uninstalling menus, icons, and icon-resources easier for developers. They also can obtain the system's settings on how to handle different file types, and program access to email, the root account, preferred applications, and the screensaver. There's nothing new in this kind of functionality. What is new is that developers can use these regardless of which desktop environment -- KDE or GNOME -- they're targeting.'"
I hope that this doesn't result in a net addition of one more package that users have to install. If common interfaces are going to be adopted by KDE and GNOME, at the same time some GNOME- or KDE-specific libs should be abandoned. Duplication of function sucks for end users having to install all kinds of stuff, and it sucks for developers too since there's more code to maintain.
Bluecurve made a standard GUI appearance for users. This project gives a single API that developers can use when writing applications, so they can run more comfortably on both GNOME or KDE.
Everything is *not* integrated together on Windows. Native Windows apps target different APIs than .NET WinForms apps, which are different again from the upcoming XAML stuff in .NET 3.0 -- and that's just the "Windowing" applications. Getting the disparate technologies to play nicely with each other is a bitch and will likely not get better anytime soon.
And if you're about to copy and paste the MS boilerplate marketing hype about the effectiveness of COM-.NET interop, slap yourself vigorously and back away from the keyboard.
Looks like you got caught up in the overloaded use of the word "interface". You're thinking in terms of the GUI, but this is about application interfaces. KDE and GNOME will still look as different as always, but now applications can use a single interface to install menu items for either KDE or GNOME. This is good. It's one step on the long road to wooing commercial ISVs onto Linux.
The only open question is whether or not this will work in the long run. For example, at one point the LSB was supposed to standardize filesystem locations across distros so that installers wouldn't have to know if your distro uses "/etc/http.conf" or "/etc/apache/httpd.conf" (LSB appears to have dropped that pipe dream). If distros and developers don't pick up and use these new interfaces, it doesn't much matter that they exist.
Too simple? I remember my mother's blank stare when she saw Ubuntu shut down for the first time: "why is it sending the KILL signal?"
The Portland API will have an option to turn on more options.
cpeterso
Plus, not to put too fine a point on it, this will be one more thing that developers will have to worry about. Right now, we have something like:
if (kde) { -stuff- }
else if (gnome) { -other stuff- }
else { -handle neither being installed- }
Now, well have something more like:
if (portland) { -stuff- }
else if (kde) { -other stuff- }
else if (gnome) { -yet more stuff- }
else { -handle neither being installed- }
Is it that big a deal? I don't know, I don't develop Gnome/KDE apps. (I wish I did!) But I hope that it either sweeps the G/K development world by storm and is adopted very, very quickly, or that it dies immediately. Otherwise, it makes things more complicated, not less.
How is a common API going to reserve the differences in user interface? GNOME keeps things simple, a little too so for many users, why KDE is known for making more options available.
So how's that speech-recognition software test coming?
I have found there are just two ways to go.
It all comes down to livin' fast or dyin' slow. -REK, Jr.
I guess you meant are you right or are you wrong?
We've always been at war with Eurasia.
> The strength of Windows in the corporate desktop is that everything is integrated together.
Wow, I want the version of Windows you've got!
Advanced users are users too!
As I'm reading the comments in this article I detect an optimistic view in many comments that suppose that this is, somehow, going to integrate Gnome and KDE so they have the same programs, appearance or even, from the programmer point of view, that you will be writing applications for either KDE and Gnome without having to choose a specific environment. I think this is far away from reality. freedesktop.org has been very active and successful in providing specifications (and now libraries and command-line tools, it seems) about the location and format of different desktop resources. I think the goal here is that, for example, if a given desktop environment has an applications menu, it can go to a known place and display, add or remove items there, and the changes will be reflected in any other desktop environment you use, so all environments "share" the same menu.
As the article mentions, the desktop resources it tries to unify are the applications menu, the icons and icon themes, the mime types (that is, which application to be used for opening this type of file) and several other aspects or "concepts", if you want to use that word, shared among desktop environments. This is far away from a merge in desktops or desktop APIs. First off, Gnome is written in C and KDE is written in object-oriented C++. For that to happen, you either would have to start writing Gnome apps in C++ or convert KDE to plain C (ha! good luck on that!). I suppose now the Gnome people will proceeed to update/rewrite the relevant parts in the Gnome libraries and apps so that when they need to add a new icon set, they will use this new interface and the icon set will be installed "across desktop environments". The KDE people will probably proceed to either update the relevant apps to use the new API or maybe integrate the API using an object-oriented inside the KDE libraries. Or, if something similar is already abstracted in one or more classes (I suppose it probably is), refactor (reimplement, replace the internal workings) those classes and recompile. But, in any case, KDE will be KDE and Gnome will be Gnome, and each one will continue to work its own way and have its own libraries. The difference will be that they will now share another small library to allow desktop resources to be shared. And this can be extended for any other desktop environment using the new API, like it could be XFCE4 or Enlightenment or whatever. The new API is probably in C, so it will have bindings or wrappers for many other languages.
Bluecurve is basically a disguise: you set up KDE and GNOME so that they look the same. It's purely aesthetic.
Portland is about communication -- getting GNOME and KDE apps to talk to the opposing desktop more reliably.
Example: both GNOME and KDE provide screensavers. Suppose you have a media application that wants to disable the screensaver while it's playing. Now suppose the app is a KDE app, but you're running it under GNOME (or vice versa). Portland makes it simple for the KDE app to contact the GNOME screensaver.
It's an abstraction layer. You tell your apps to target services through Portland, and Portland will contact whichever service is actually running. Theoretically more desktop environments could be set up to provide the potland APIs, allowing a GNOME app to contact the XFCE screensaver, and so on.
I think the next sentence is more important:
As an example, I run a GNOME desktop with KMail as my primary email application and a locally-installed Firefox (i.e. not the distro-provided one) as my primary web browser. As things are, I not only had to to tell GNOME that KMail and Firefox are my email and web apps, but I had to track down the KDE control center (which isn't in the menus under Fedora's GNOME config) in order to tell KDE that Firefox was my preferred browser. Otherwise, KMail would try to load everything in Konqueror, because it uses the KDE settings even when running under GNOME.
Targeting an app to Portland instead of to GNOME or KDE would let the app pick up the settings from the desktop the user is actually running (as long as the desktop used the Portland API).
Try comparing it to having sex with either Roseanne Barr or Kate Moss. The basics are the same, but I'm sure look and feel alone will create a preference of one over the other.
Evolution I get, but what's half-baked about Kmail?
And which parallel universe did you crawl out of?
I was walking across a bridge one day, and I saw a man standing on the edge, about to jump ... are you religious or atheist?"
off. I immediately ran over and said, "Stop! Don't do it!"
"Why shouldn't I?" he said.
I said, "Well, there's so much to live for!"
"Like what?"
"Well
"Religious."
"Me too! Are you Christian or Jewish?"
"Christian."
"Me too! Are you Catholic or Protestant?"
"Protestant."
"Me too! Are you Episcopalian or Baptist?"
"Baptist."
"Wow! Me too! Are you Baptist Church of God or Baptist Church of the Lord?"
"Baptist Church of God."
"Me too! Are you Original Baptist Church of God, or are you Reformed Baptist Church of God?"
"Reformed Baptist Church of God."
"Wow! Me too! Are you Reformed Baptist Church of God, reformation of 1879, or Reformed
Baptist Church of God, reformation of 1915?"
"Reformed Baptist Church of God, reformation of 1915!"
To which I said, "Die, heretic scum!" and pushed him off.^W^W^W^W^W^W^W"That's ok, I am from 1879, but we can be friends anyway!"
DYWYPI?