Username or EmailPassword
On a different topic, has anyone realized why Gnome and KDE are so differnt? It really is because of the engine. KDE started out with an existing engine.
While clearly Qt and GTK are differentiators, I think the difference runs much deeper than that, into actual development philosophies.
For instance, take your previous point:
What a enterprising developer needs to do is create a system wide plugin infrastructure that could make the plugin available to all of the applications. The developer of the plugin could decide the rest.
Substitute plugin infrastructure for component framework, which is what you were basically implying, and you've essentially described KDE.
KDE stresses the developmental advantage of having reuseable components for consistency and ease-of-development. Build protocol handling into the core so that any KDE application can deal with it transparently by simply accessing the file picker. Build functionality into kparts so that things like document viewing are not only simplified for the OS, but can easily be embedded into applications. Etc.
KDE 4 takes it further by wrapping interface translation layers around things like hardware access or multimedia functions to isolate application developers from having to code for or even deal with the underlying OS/system framework. When Amarok began porting to KDE4, they were able to incorporate video playback capability from phonon by simply adding 7 lines of code. That's the type of rich application development environment the KDE devs are aiming for, one that provides a powerful, easy-to-develop tool for the app developers while providing a powerful, consistent application interface for users.
One could argue that maybe KDE takes abstraction to an extreme level, but I would disagree. It's often dismissed as bloat or complexity by KDE detractors, but I wouldn't necessarily consider an extensible framework to be bloat if it leads to easier app development. That abstraction approach is also leading to application portability among OS-platforms, and from an efficiency point-of-view it strikes me that if you load up a KDE environment with several KDE applications versus a Gnome environment with several equivalent Gtk applications, you will see a significant difference in resource utilization, in KDE's favor.
Gnome exemplifies the Unix philosophy of one tool - one job, do it the best that you can. There's nothing wrong with that in principle. And many people will prefer the simplicity of Gnome and it's predetermined settings. But at the same time I would consider things like frameworks to be tools as well, and I sometimes think that automatically labeling components or features as bloat simply because it doesn't provide a direct, short-term benefit is short-sighted. Gnome is fine as a DE, but frankly I consider DE to be a bit of a stretch, it really aims to be more of a comprehensive window manager. I don't see any of the application integration or interoperability that one would expect from a comprehensive desktop environment, it just strikes me as a configurable interface for running Gtk-based apps, but then in fairness I don't really use Gnome that often and my preferences are certainly different from everyone else's.
I think it's good that KDE and Gnome are stretching themselves in their philosophical directions, as long as interoperability doesn't take the hit. As long as KDE/Qt apps run fine in Gnome and Gnome/Gtk apps run fine in KDE, everybody wins because users *and* developers will always have their choice of preferred tools.
Just my 2c...
I do agree. What you are speaking of is easily one of the best things about KDE. From a develoment perspective KDE is easier to create applications with. That is what gnome was trying to do with Bonobo but... oh well.
But the problem is that those ideas need to come out in the user interface as well. I would be floored if KDE came out with a more simplistic interface but with the ability to insert system wide pluggins/components.
Look at what the model has done for firefox. Firefox starts out very simple. But I can add web development tools, ad blocking, tab customizations, I can even add audio controls. Now think of that on a large scale.