Minimal kdelibs on embedded platforms
Albert Astals Cid
aacid at kde.org
Thu Nov 19 19:40:54 GMT 2009
A Dijous, 19 de novembre de 2009, Inge Wallin va escriure:
> As some of you may know, KO GmbH, the company I work for, has helped Nokia
> port KOffice to Maemo and their new telephone n900. I think this is only
> the first example of where KDE applications and maybe also (parts of) the
> desktop will be used in embedded environments with other constraints than
> the normal desktop.
>
> One of the problems we have encountered was memory consumption and flash
> disk space. Right now, the subset of 6 libraries from kdelibs we are using
> have a footprint of a little over 10 MB. We were told that this was far
> too much and that we had to shrink it down a lot. This is what I hope to
> start a discussion about.
>
> As far as I can see, we can take 3 different approaches to lessen the
> kdelibs impact:
>
> 1. Make the application in question not use kde technologies at all and
> instead make it a pure Qt application. This would be a little like Marble
> in kdeedu that can be compiled both with a qt-only option to cmake or a
> kde option. If there is an existing application that is already using
> much of kdelibs, it's more difficult but still doable.
>
> 2. Check the application in question and see exactly which part of kdelibs
> it is using and then create a tailor-made library with only exactly those
> classes that are used directly and indirectly.
>
> 3. Create a general kdelibs which still keeps the same API as the normal
> kdelibs, but which is much leaner and therefore also has much less
> features. In this case, we would have to create alternative classes with
> the same API, for instance a kde file dialog that just inherits
> QFileDialog and does nothing else. All of KIO would disappear at this
> point, which would lose us some nice features but save a lot of memory.
>
> I will not touch approach 1 in this mail. KO has started with approach 2
> for KOffice. This approach is probably also usable if somebody wants to
> create stand-alone application packages for environments like Windows or
> MacOS X.
>
> We have also combined this with a little of approach 3, so that we can
> achieve the absolute minimal kdelibs that fits the exact needs of KOffice
> on the device. The flip side of this is that no other KDE application will
> have much use of this library. Any other kde application would have to
> redo this work for itself. Therefore it is not packaged as kdelibs, but as
> libkok -- KOffice Kde(libs).
>
> What I would like to discuss a bit more is approach 3. I see a lot of
> potential for kde technology on many different kinds of platforms. We have
> already today a plasma containment for netbooks, and I see no reason why a
> mobile phone couldn't be next. Even more interesting are running
> (variations of) kde applications on these platforms. Already today several
> KDE applications have two different UI's: the normal desktop one and a
> plasmoid. One that comes to mind is parley, also from kdeedu. So a third
> one with, say, a touch screen interface is not a far fetched thought.
>
> To create a good kdelibs implementation with lots of flexibility and a span
> of features/resource needs we need some design. I imagine that at least
> the following needs to be done:
>
> * Some library reorganization. I think there are some classes that should
> move between the libraries to reduce interdependencies.
>
> * An idea of which features are necessary and which are possible to cut
> away. And then a clean way to build the libraries with all or parts of the
> removable modules disabled.
>
> And maybe more. If this is going to become a successful venture we need to
> cooperate and make the embedded kdelibs as important to us as the desktop
> is.
>
> Thoughts?
Tell Nokia 10MB is cheap these days.
Albert
>
> -Inge
>
More information about the kde-core-devel
mailing list