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.
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.
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.
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).