Hello friends: This will be bit long mail, but please take a look a it. Some time ago we were discussing in this list the possibility of making a modular and integrated version of LXDE. For this goal the main applications of the desktop, panel, filemanager and daemons, will have to be transformed into shared libraries or plugins. At that moment this idea was rejected under the argument of stability, a crash in a module will produce a general crash in the desktop.
Despite of that, I keep working on it, inspired by the though that limiting the functionality of the applications were not enough to grant the lightweightness of our system. With the pass of time new functionalities will be required, and new applications will be added in result the overall resource consumption will be increased. So, how we can reduce the impact in system resource consumption due the addition of new functionalities in order to grant that the future versions of lxqt will keep lightweight ? The answer to this question is: interoperability. The exchange of data and funcitonalities. Usually this is achieved using IPC such as D-BUS or "shared memory" but, are they compatible with our context were the resources consumption must be keep at minimum? Let's take a look at D-Bus. This mechanism requires the serialization of the data to be transmitted so you will never use it to share by example the icons of the applications between the panel-menu, the file-manager and the runner instead of that every applications gets it's own copy. In other hand "shared memory" allows us to share such kind of data without replicating it but doesn't allows the call of remote procedures. So our applications will have to re-implement the procedures related to the data manipulation or delegate then into a shared library as libmenu-cache does. As you know, the interoperability between applications in LXDE right now is limited to the essential parts but, what if we were able to share every single bit with out using dbus, "shared memory" or other similar IPC? In this case there will be not duplicated data or procedure in our system. There will be only one instance of each Icon, one implementation of the "execute_deatached" procedure, one QT main cycle (I invite you to measure how much memory consumes a qt application without functionalities), one logging service, etc. So we will be able to reduce the resources consumption to the minimum. This could be achieved by doing what was mentioned at the beginning of this mail, the integration of the main components of our desktop environment as pluggings into a single application. After this explication I would like to present the implementation of such idea, It was named MoonLightDE, and it aims to be a lightweight and fully integrated DE with out space for data or procedures duplication. Basically it is formed by a core wish implements a service oriented architecture in order to ease the communication between components, heavily inspired by the eclipse architecture, and a set of modules wish provides the functionalities. The components of LxQT were take as start point for the development, right now are transformed into modules (plugins) the panel, the file manager, the runner, the globalshortcuts-daemon and the notification daemon. So we have something functional. It is available at: https://github.com/MoonLightDE/MoonLightDE If interested take a look at the wiki for build instructions. I would like to invite you to take a look at it and if you can do some benchmarking. Thanks for your time. Best Eng. Alexis López Zubieta Nova Light Development Team University of Informatics Sciences.
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft
_______________________________________________ Lxde-list mailing list Lxde-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxde-list