OSDL coders are looking to solve one of Linux’s greatest problems for developers: the battle between GNOME and KDE. The Open Source Developer Labs is previewing work that attempts to make life easier for software companies by bridging GNOME and KDE, the two competing graphical interfaces most widely used with Linux. The effort, called Project Portland, began showing its first software tools on Tuesday in conjunction with this week’s LinuxWorld Conference and Expo in Boston. Using them, a software company can write a single software package that works using either of the prevailing graphical interfaces.
Portland Looks to Unite Linux GUIs
About The Author
Follow me on Twitter @thomholwerda
2006-04-05 11:28 amwalterbyrd
>>I’d like to see some convergence in terms of package management and installation<<
Agree 100%. Also, how about standard gui admin tools? Right now the only semi-standard in the CLI. Compare this to windows which had control panel, and device manager, on every version of winodws for over ten years.
Well, maybe not device mananger on ver early versions NT. Still . . .
I am concerned that using this new level of abstraction, writing proper applications will become oversimplified. I am no Gnome/KDE developer, but it is quite clear that the layout used by GTK is different to the scheme used by Qt. There are also different HIGs to worry about, including wording, button order, spacing etc.
I think the current crop of desktop-specific applications is good, as each fit their own environment. Having said that, if the “porting” to this code permits them to retain their environment-specific intricacies, while also being environment-agnostic at the GUI code level, that can only be a good thing for creating popular applications that are equally as usable no matter what DE you use.
Edited 2006-04-04 19:25
From a user perspective (little of topic but) i see the battle between Gnome and KDE as both one of the biggest problems but also one of the biggest stregths of linux.
…but I think I smell an added 30MB of memory consumed here, which won’t be good on smallish systems. I’m fairly certain (but am definitely on thin ice) that to do this, they will also need to load the toolkits for both environments, much like you do if you want to run “Gaim” on KDE instead of “Kopete” which does the more or less the same things but uses the same toolkits as KDE.
Hey, I have the memory to spare in most machines, but the one I’m typing on at work is a PIII-800 with 256M of memory and I don’t think it’ll like any more memory usage much.
I am concerned that using this new level of abstraction, writing proper applications will become oversimplified
GNOME or KDE applications will still use their respective framework, Project Portland is about helping software that does not use any of the two, for example applications written “toolkit-only” (e.g. pure Qt application without KDE libs), using totally different toolkits, etc
Currently such applications have only very little or no desktop integration at all, even tiny things like being able to delegate opening an URL in the default browser or downloading a file using the desktop’s VFS framework are great improvements compared to todays situation.
I’m fairly certain (but am definitely on thin ice) that to do this, they will also need to load the toolkits for both environments
Both approaches, the use of commandline tools and the adapter library approach, will detect the running desktop and use its facilities.
The plan is to offer fallback facilities in case none of the supported desktops is running. There is no plan to start one of the desktop’s base system in such a case.
It sounds very good, and something like that was neccesary, but not at the expenses of increasing the memory use and making both Gnome and KDE hevier than they are already!
On the other hand, one of the richness of Linux is the capacity to change the Graphical interfaces and windows managers. Even if these are the Two Bigs, why restrict this only to Two?
It would be even more complicated, I know, but the desirable thing would be to achive this kind of GUIs interoperability but with some more GUIs too.
Like that, Linux xould benefit from further integration between different kernels and GUIs, but without loosing one of its main Richness.
Some other alternatives are really worthy too (Xfce, Enlightenment, or even Fuxbox) to consider, for their visual, ergonomic, and speed differences…
It would complicate the process, but at the end, it would be an inmense benfit for all: for Linux, for the users, and for the Opensource in general.
Of course the linux trolls kept on screaming choice for years and years when any attempt (no matter how feeble this is) at some sort of unification attempt.
The grownups at the Portland Project and OSDL understand why desktop linux has failed to have any reasonable growth in marketshare and why it’s a nightmare for ISVs to target Of course this doesn’t change anything with all the distros out there.
There should have been one standard desktop 9 years ago or so. Of course that doesn’t take away from anyone’s freedom no matter what the trolls would have you believe.
2006-04-04 11:10 pmvitae
The grownups at the Portland Project and OSDL understand why desktop linux has failed to have any reasonable growth in marketshare…
At the risk of being one of those “trolls”, I would have said Linux’s growth has been significant considering it started off a one man project without corporate backing and despite all the hurdles it’s had to overcome. It’s flexibility is it’s strength, and the variety of desktop environments out there doesn’t restrict a corporation like Sun, Novell, Rocklyte, Linspire, Red Hat or whoever from putting out it’s own packaged OS and then getting software companies to port apps to it and hardware companies their drivers. The Linux “product” for the general audience could be standardized to a single desktop in that way, and the other corporations can follow suit if it make progress. But that doesn’t mean there can’t be other distros out there for people with other tastes. The ability run something like LiteStep on Windows or X11 on a Mac doesn’t diminish their success.
2006-04-05 12:57 amslate
The Linux “product” for the general audience could be standardized to a single desktop in that way, and the other corporations can follow suit if it make progress.
Uhmm, that’s the whole point. You can’t take away “freedom” since it’s all open source. Hell, there are alternative shells for windows too. I shouldn’t have to state the obvious that you can run whatever you want.
The point is for ISVs and others to have the ability to target a common denominator.
The linux trolls I speak of are the groupthinkers that scream that someone is going to take away choice if some kind of minimal standards are voluntarily adopted by the majority of meaningful distros.
Desktop linux should be at about 10-15% of the market right now, but it continues to stagnate at low single digits. And I see it only getting worse with better offerings from Apple – though that restricts choice, offers better software solutions because of a standard platform.
I guess in the near future I’ll finally move to OSX for my desktop Unix solution (I gave up on desktop linux except for a windows xserver or some other of virtualization solution a long time ago)
The grownups at OSDL and the portland project get it, but it’s a little late. Will the troll fanboys get it eventually?
2006-04-05 5:09 amCelerate
“The linux trolls I speak of are the groupthinkers that scream that someone is going to take away choice if some kind of minimal standards are voluntarily adopted by the majority of meaningful distros.”
Oh please, people are entitled to having opinions without being called trolls just because you dissagree with them. For a noob here you really do have a big mouth.
“Desktop linux should be at about 10-15% of the market right now, but it continues to stagnate at low single digits. And I see it only getting worse with better offerings from Apple – though that restricts choice, offers better software solutions because of a standard platform.”
ROFL! Linux isn’t going to plunge just because some new guy said it would. You’re not the first and you won’t be the last to make that prediction out of some desperate denial that Linux is holding its own.
“I guess in the near future I’ll finally move to OSX for my desktop Unix solution (I gave up on desktop linux except for a windows xserver or some other of virtualization solution a long time ago)”
Lemme guess, all this poison is because you were some ballsy Windows user who couldn’t stand the hit to your ego when you realized you knew nothing about Linux and couldn’t make yourself look like an uuber geek within the first week with it. I doubt the resident Mac users want a loudmouth like you amongst their ranks.
“The grownups at OSDL and the portland project get it, but it’s a little late. Will the troll fanboys get it eventually?”
More condescending remarks from the eternal fountain of wisedom I see. If you want to see a troll, I have a mirror to sell you.
2006-04-05 2:31 amporcel
There was no linux desktop nine years ago. You are an idiot and your ravings are that of an ahistorical fool.
Linux is what you make of it! If you think, the linux desktop should have existed nine years ago, why didn’t you code it?
Linux began its real journey as a desktop with the release of KDE 2.2 and KDE 3.0 and the respective Gnome releases. Of course, if you compare what linux offered in the win 3.1 days, then it wasn’t that terrible. But in those days, in both the windows and GNU/Linux world, the desktops were more window managers with applications running on top than truly integrated desktops.
Archiv of the portland mailing-list:
Since there was a lot of talking without any code the KDE developer Lubos Lunak started to create DAPI (http://lists.freedesktop.org/archives/portland/2006-February/000131…).
It’s a library that talks over IPC to a desktop-specific daemon. So there is no such things as oversimplification since the daemon calls the functionality in the desktop libraries. So when the ISV application runs on KDE it gets the KDE file dialog and on GNOME the GNOME file dialog.
DAPI is similar to the RuDI idea (http://osnews.com/story.php?news_id=11762).
Some ISVs prefered a simpler, short-term solution. That’s why Jeremy White created the xdg-utils scripts (http://lists.freedesktop.org/archives/portland/2006-March/000288.ht…).
It’s a script collection which calls the command-line tools already offered by the desktops like e.g. kfmclient or gnome-open.
I don’t think this project will be a sucess even if it had unlimited fund and manpower. I think a “sucessful” result would either be an api containing features that both qt and gtk support today, but not features that only one platform support – therefore its features would be severly laking and meager; the other case would be that Portland includes all (or nearly all) features that both qt and gtk supports today – this would result in a API bloat and probably would be very unituitive to program against.
And as others here has pointed out, it would require more resources (memory/CPU) than a “native” toolkit.
I think it realy would be easer and better to develop a totaly new common toolkit or unite behind one of the current than creating a new “monster”.
2006-04-04 9:32 pmslate
Of course there should have been a common-denominator C-based API in the beginning, then there could’ve been a higher-level C++ API that didn’t try to be faithful to the API, but at least there would have been a common denominator, as well as all the other language bindings. Remember, it’s a pain to bind to anything besides C code.
That didn’t happen, as many other things didn’t happen in desktop linux. So we’re stuck with a major mess that the Portland Project and OSDL are trying to address.
And at the same time many linux users are just moving to OSX for a cohesive Unix desktop.
It’s one of those things that if you don’t get right the first time, then it’s very hard to rectify – especially with all the code that has been written using these toolkits.
either be an api containing features that both qt and gtk support today
I tried to clarify that in one of my other postings above: it is not about toolkit capabilities, it is about desktop integration.
Lets say you are a developer of a GTK+ application, for example Adobe Reader and you have this nice embedded links in one of the documents you show and you want to open that URL in the user’s preferred browser.
If you would want to do that today, you would have to detect the running desktop, either call the respective commandline launcher or load a desktop specific plugin.
With the solution developed in Project Portland you always have the same interface to worry about, either the xdg-open launcher or the respective DAPI call.
So Project Portland is providing features to applications they didn’t have access to before.
So from the application developer’s point of view it adds features, while from the internal point of view it is just another way to call already existing features.
This didn’t turn into another KDE/Gnome flamewar.
In my opinion the inconsistent UI is one of the main things that holds back Linux when compared with Mac OS or Windows.
It’s not a problem if you’re happy to stick with nothing but KDE or GNOME, but I find that neither have enough apps for my needs without the other. I really hope that this can be implemented as I hate turning my desktop into an inconsistent mess by mixing KDE and GNOME apps.
What does this mean for people choosing toolkits like Qt for portability though? That is why I chose Qt. Between Qt and GTK, the former seemed like the easiest for hassle free deployment of my apps on Windows and Linux (and maybe OS X later).
2006-04-05 3:38 amslate
Basically it means because of the horrible Qt license that Qt will become deprecated. OSDL caved, but made it clear that Qt has held back the linux desktop.
And to porcel, 9 years ago KDE and to a lesser extent Gnome were coming into fruition. But because of braindead lack of cooperation, desktop linux failed.
Desktop linux could’ve been better than OSX, not it’s just a historical footnote except to “enthusiasts” – yeah, that’s a euphemism for you zealot drones.
2006-04-05 4:59 amCelerate
“horrible Qt license that Qt will become deprecated”
Oh no! We’d better deprecate the rest of Linux too, including the kernel for using the same license. Quick! It’s holding back the “Linux desktop”!
Can you prove they made these comments about Qt, because frankly it sounds absolutely absurd to me. The license is fine, the problem is their price tag on the commercial version.
“And to porcel, 9 years ago KDE and to a lesser extent Gnome were coming into fruition. But because of braindead lack of cooperation, desktop linux failed.”
Wow man, in that case Windows and Mac OS failed because they weren’t compatible either. When you think about it KDE and Gnome are different desktop environments, but they could have been part of completely different operating systems too. Just because they share the same kernel and GNU tools, and thus can run many of each other’s applications, doesn’t mean they cause desktop Linux to fail. If anything the choice is benificial since Linux would loose many users if either one of the desktop environments were to cease development, and there is already a lot of cooperation, the only significant barriers are:
– GTK and Qt don’t render the same
– KDE and Gnome have different user interface guidelines.
– KDE apps start slow outside of KDE.
“Desktop linux could’ve been better than OSX, not it’s just a historical footnote except to “enthusiasts” – yeah, that’s a euphemism for you zealot drones.”
And calling you a troll is just a euphemism for arrogant childish person who has a cow orifice for a mouth.
2006-04-05 9:20 amOokaze
Depends on what language you are more familiar with.
Also, C is much more portable than C++. You know, base class problems and the like plague C++.
C++ is also difficult to do right. Most of the apps needing patching when changing gcc version are C++ apps.
This not to say that Qt is not good, just that your experience may not be the same for everyone, so for some people, GTK+ will be a better choice.
So many separeted approachs to unite…
…weird, but the objective is good! =]
(also, it’s a good thing that freedesktop isn’t Linux-only focused… I couldn’t tell about Portland by this article, but I hope it’s not Linux-only! =] )
Seems like a good effort.
Browser: MOT-1 MiB/2.2.0
This sounds nice because there are so many KDE tools I miss out on, where the gnome counterpart are playing catchup (and I’m sure there are viceversa situations).
“the battle between GNOME and KDE” is alittle strong though, especially lately with there being more collaboration between the two then ever.
I am very happy to see this.
It may be a long and winding road, but it is a travel worth taking.
Apps that worth with either/or makes life so sweet.
About time, I’d say.
As unrealistic as this sounds, I’d like to see some convergence in terms of package management and installation. This would make changing distros easier, and I think it would go a long way to getting rid of the “Linux is such a fragmented mess, it will never be serious player” stereotype.
That being said, what a pipedream…