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.

Attachment: 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

Reply via email to