Le 1 mai 05, à 22:07, Yen-Ju Chen a écrit :
Although it is interested to have this kind of information about
what Etoile will be,
I am more interested in how we can build this kind of environment.
We need to a more detailed diagram about the Etoile for developers,
for example, which framework is build on top of which framework.
The most bottom one is of course GNUstep.
Then what is the framework just above it ?
A compress library and a regular expression library come to my mind
first..
LuceneKit need both of them, and a workspace build on top of
LuceneKit (and others).
So my point is that it is very nice to have this document for users.
We also need a similar document for developers of Etoile.
It's hard to tell the relationship between components
from the existed document on Etoile wiki.
With this kind of diagram, we can also have a progress report
on each component so that people will can when Etoile will be
completed.
Yes, I fully agree with you, our UI discussions are a bit foggy because
of this fact and our incomplete wiki glossary : we need to be sure we
are talking about identical concepts (folder vs project to take a basic
example). I have started to write some design documentation for
frameworks like IconKit, PreferencesKit for example and I created early
diagrams to have a better idea of Étoilé from developer point of view.
I hope I will be able to put them soon on the wiki in an acceptable
state :-).
I think we really need to have a parallel development between what we
want on the user side and how we implement it on the developer side,
because they are lot of interesting ideas currently discussed but
several UI ideas are out of current Étoilé scope or not doable (mainly
because we are really few developers and we cannot think without
GNUstep inheritance), we shouldn't forget that Étoilé first goal isn't
to rethink desktop environment from scratch at every levels, even if we
could wish to be able to do it in future.
The best we can do is to layout flexible foundations with proper design
documentation in order to be able to refactor them regularly and easily
in future when we will need to move forward.
We also need to accept we will do things in wrong way sometimes too ;-)
because we learn things faster by coding and experimenting (when
discussion is a bit stalled).
I think we are starting to have a good idea of Étoilé at bottom or
middle levels, but we need to sort out problems like :
- how we implement sessions management
- how we implement service/component duality
- how we aggregate components in custom Service/Application tailored
for particular work (thinking about BluTulip, ImageEdit, Text editor
etc. in this context)
- how we handle document bundles (in Étoilé and outside)
- how we fake single address space (in local and distant way)
- how we push forward model objects management in order components
share their data easily with an unified protocol (that could involve
stuff like CoreData, Controller layer, StepTalk etc.).
- how we implement modular persistency (OS persistency vs managed model
objects persistency… CoreData again may be with some extra twists :-)
- which third-parties frameworks we want to include in Étoilé (Regex,
XML, HOM, AppKit extensions, ZeroConf, etc.)
- which parts of GNUstep need improvements or extensions from our side
(hmm look at Cocoa in Panther and Tiger especially) in order to ease
your task and to benefit to GNUstep itself
- which parts of GNUstep we are going to support but to phase out for a
better or more adequate solution (NSFileManager for example)… what we
can do to have a compatibility layer with Cocoa on Mac OS X for theses
evolutions.
Quentin.
--
Quentin Mathé
[EMAIL PROTECTED]