Deep Inside the K Desktop Environment
Lemmingue writes "Ars Technica published a very good article about the KDE architecture. It's a essential read for anyone wondering how Konqueror can open documents in the same window or just understand the license issues regarding the Qt use.
The article describes most of the technologies behind the KDE (Qt, KParts) and how the project is organized.
The article is full of links, screenshots and diagrams."
...you guys will link up my new Prescott article that went live this morning!
(Looking back at this post with the preview function, I'm thinking, "is this a troll, flamebait, informative, funny, all four, or none of the above?" I post, you decide.)
Senior CPU Editor | Ars Technica | http://arstechnica.com/
From TFA:
In addition to DCOP, the upcoming KDE 4 is expected to also support D-BUS, which was designed using DCOP as a model but with the added advantage of having no dependencies,
Thank $deity! KDE would in general benefit from ridding the application programmer from dependencies to GPL'd stuff. KDE "needs" (to the extent any piece of software needs anything) to be able to render Gtk-applications with native LAF, so that the application developers can choose their license freely. I'm not aware if the dependency problem with DCOP relates to Qt, however. Without GPL (and QPL), KDE could have been embraced as the standard Linux desktop environment ages ago. So far it only has the most users, but that's not enough if it's not "strategically viable" (if you work for Trolltech/KDE: please spare the lecture about corps affording $1500/dev/year, we've all seen it).
KDE could really collect the jackpot by allowing development of native KDE apps via Gtk/other LGPL'd lib. I assume QtGtk isn't up to the task yet?
DCOP, BTW, is a very sweet and underadvertised technology. We need DCOP-like scriptability for all the applications. It has a very transparent feel, just like a good Unix methodology should.
Save your wrists today - switch to Dvorak
Yes, we published this several months ago, and have made no recent revisions to it. If you're going to link us up (which we always appreciate!), why not do it to our new article on the Future of Prescott?
Regarding the subject: probably because someone among the KDE people thinks s/he can do better than the author of the original app. As far as apps like kopete and kontact go, they actually did do better. Konqueror is still primarily a file manager (excellent browser too, but I guess the "standard" browser will be Firefox in the near future), and significantly better than nautilus as far ergonomics and features go. It also preceded nautilus chronologically.
Save your wrists today - switch to Dvorak
The idea is to have software the integrates and takes advantage of everything the kde environment has to offer. There are two ways of doing this. 1. Pull your hair out trying to cajole existing applications originally created off of an entirely different framework, to take some, limited advantage of what kde has to offer. 2. Start from scratch with an environment that makes fast development very easy and very quick, without massive quantities of hair left in your hands.
...and IN SOVIET RUSSIA, beowulf clusters imagine 1, 2, 3 profit!!!! jokes made out of YOU!!!
Slashdot posted it when it came out.
I'm convinced--the editors absolutely do not read Slashdot. The last straw was last week when Michael duped a story from three hours earlier that was still on the front page.
Gnomes Gone Wild?
Everytime some one posts a Deep Inside article makes me think of Deep Inside Devon, or some other Deep Inside .
Well, I don't really like juK... I use amaroK.
Gaim sucks. Kopete's better.
Evolution is slow. Kontact is fast.
All these programs, though, use KDE technologies that made them a *lot* easier to develop and a pleasure to use.
I guess the real question is: Why not?
Actually Konqueror/KHTML and Kontact are not really reinventing the wheel.
;) ), and second, everybody is reinventing the wheel all the time anyway, so what?
The work on KDE's filemanager and HTML engine dates back to the days when the only usable *cough* browser was Netscape4.x and Mozilla seemed only like a great failure.
Kontact is basically an aggregation of long time existing KDE applications like KMail, KNode, KNotes etc., pre-dating e.g. Evolution.
That said, this question about reinventing the wheel is stupid anyway. First, there are many things about KDE that KDE has had first (like, the first usable Linux GUI
Has it occurred to anyone that supporting non-l337 g33kz using KDE as a primary desktop will be made more difficult just because it's impossible to keep track of all the dopey names for things?
How does 'kopete' relate to 'chat' or 'instant messaging'? How does 'Konqueror' relate to 'browsing the web'? How does 'Apollon' apply to p2p? How does 'K3b' apply to CD burning/ripping? KMail works. KControlCenter works. Easy for someone to figure out what it does by its name. That is what A NAME IS FOR. We're not dealing with hungarian notation here: The whole idea of a UI is that it needs to be completely descriptive at a glance, and anything that is counterintuitive or obscurantist needs to be fixed or replaced. Normals expect this, they don't think it a crutch, and they're not expected to know better (as developers who take issue with HN may argue other developers _are_ expected to).
At least Apple (and even M$ to a lesser extent) uses prosaic names like iPhoto, iChat, Mail, DVD Player, iCal, Address Book, which makes it easier for mortals to understand their metaphor (Safari being the most egregious exception). KDE ware names seem purposefully opaque, and if you want to make a dent in the GUI you either have to hope for great icons and forget the names, or you have to do more work than you should have to do.
I love KDE, I think anyone from 3 to 103 could use it comfortably, but I shudder to think about all the help calls I'd get from people just trying to find shit in the interface.. It took me an hour of googling to figure out what the hell Apollon was! Anything that can or should be in a base KDE release (or a bundle, like kdemultimedia or kdenetwork) should have a simple, descriptive name, even if it means stepping on the toes of obsolete projects or capricious developers.
(OTOH, maybe you don't give a damn about condemning your less technical friends and/or family to a life of M$ hell. Oh well.)
"Qt is GPLed, and as such, prevents FOSS developers from using any OSS licenses that are not compatible with the GPL. Ironically enough, XFree86's license is not compatible with the GPL, and hence XFree86 could not include a Qt configuration utility."
Your first statement is wrong. Should I bother reading the rest?
http://www.trolltech.com/developer/faqs/license_gp l.html#q19
http://www.trolltech.com/developer/faqs/license_gp l.html#q114
IMHO, the best theme for KDE is plastic but almost all themes are "low-impact". Only a few used to use fancy ways to render their widgets, I don't know if any survive.
Gentlemen, you can't fight in here, this is the War Room!