Hi all,

I want to reply before this thread ends discussing only the "how do we
patch projects" topic, as it is just a small part of the real problem.
I've seen other devs and myself complaining on how things work on
e-land, from how the ideas are discussed (design) to how they are
implemented (implementation) and what happens between the process with
other dependent projects (api breaks?). But instead of saying
different solutions we can have, i would prefer to explain what i have
in mind from a code perspective, what i have done and what are the
problems with current status.

- Canvas Server: This was an idea to allow different process access a
canvas space and draw into it (think of them as having the gadcons on
different processes) and a simple framebuffer multiplexer.  Some time
ago, i retook the evoak project, refactored it and implemented it in a
different way (as a plugin to evas, and stand alone library), it
worked nice enough, but was just a proof of concepts because evas
needs many things to be able to use it. (dependencies, internal
changes, etc). So this *idea* ended up being nothing, evas should
support foreign objects if it wants to avoid the dependency "issue".

- Better support of the fb system specially for embedded devices
(interesting how now, everyone seems to be interested on this field).
I reworked completely ecore_fb, i sent an email also to the list
explaining what i had done, and what was left. (is almost done, what
needs to be done is sending the utf8 string of the keypress to the
event system). It did has some interest from other devs, but i wasnt
satisfied of the approach mainly for one reason: having the input
system mixed with the graphics system. In any case, there was no goal
on what ecore_fb should be.

- Memory Pool Allocator. I remember the discussion about the memory
fragmentation and a need for a double pointer malloc, i already
implemented a small library (mem pool) that supports different
policies (firstfit, bestfit, etc) through a plugin system, with only
one implementation (firstfit) because im not that good on memory
algorithms, but with a good and simple interface. This was made public
only through irc, with of course, no interest; even if it was a public
need.

- Shared Memory. Some people has said that a cache mechanism is needed
between process, to share images and fonts between efl projects from a
common place. I have coded a daemon that manages such shm segments
using e_dbus as the communication and the previous project as the
manager of elements inside the shm segment, with good results (it isnt
finished btw). I also remember Cedric's mails about a cache mechanism
which wasnt included into evas (can't recall now if it is inside yet).
So evas was looking also for a cache mechanism, that (mostly sure)
won't be usable from outside and any other app or library wishing to
use a similar concept, simply can't. So here arise another problem
with evas, its idea of being everything by itself, with its own data
types, isnt a good thing.

- Eet, one of the main needs of my ecore_fb rework was the array
support on eet, i already sent an email on the list (many months ago)
which wasnt reviewed. So of course is another problem with the current
patch flow. I know i have cvs access here, but wasnt just an addition
on the features, but an API break, so i preferred a review and
comments before commiting it (as i usually do).

- Evas, on every efl related discussion, always ends on evas, i won't
explain *again* what are the "problems" or limitations with Evas as i
said it too much times.

So the above just resumes what's going on here, is not that i want to
flaunt my coding skills, is just that the above examples, summarize
the problems. Poor communication, bad mid/long term goals for each efl
component (of course a piece of software is dynamic by nature, but an
anarchic way of doing things isnt a good option). Raster, you have
said several times (sames applies to me and also to Brian i think)
that ecore should and must be split, what is the plan behind it? when
should it happen? how? or maybe another one should take the decission
and start it?

Almost every projects depends on Evas, so Evas is our bottleneck for
features, if we want something new, Evas will (and currently does)
limit us. Let's say we want to make evas cache all of its images /
fonts (there's no other place where we can think of a cache system, as
everything ends on Evas) and that are accessible to other
applications, then it should need a way to communicate through a
socket (for the shm synchronization), what will happen? does Evas will
implement again a socket interface (or a dbus interface in case of my
shm daemon) instead of using ecore ones, we won't do it because there
will be a double dependency?

I have already said on several times that we need a solution for the
current status, from a community point of view and from a technical
point of view. If the projects inside the CVS aren't related (as
someone suggested) and are just someone's ideas, of course there's no
need for it, because there's no community.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to