> Linux Desktop people need to figure out how to do less in their Desktop Environment, not more. Identify those things that really must be integrated, and then carve off all the other apps to let them develop (or fail) on their own. The fact that each DE has it's "official" browser is silly. Nobody uses it, they all use either Firefox or Chrome (or possibly Opera). E-mail clients are in the same category. They should not be part of the DE, they should be separate apps (possibly developed by some of the same people), and if they are good, people will use them, even on different desktops. If they aren't good, they will die and people will use good ones.
If you try and make "everything" (or even, "everything that a user interacts with") be part of your project, you are doomed to failure (because you cannot possible do "everything"
In the kernel space there are frequent debates over the question of if such-and-such functionality belongs in the kernel or should be external. There need to be similar debates in the DE camps. Just because you CAN make something depend on internal functionality doesn't mean that you should. Even if the internal API is 1000% faster than the external API, if it's something that is run once per user login, it's probably not a performance difference that matters in real life.