On 4/4/07, Isaiah Beerbower <[EMAIL PROTECTED]> wrote:
Hello all!

I have some thoughts concerning the future design of Etoile.

To start out I'll mention that this email references discussion from the
chat room. Most of it will be from the conversation in David Chisnall's
"No More Files!" email.


I think we should eliminate applications all together. It seems that
almost all of them have been eliminated. If we keep just a few of them,
they'll be awkward for the user, as well as stick out terribly.


There was a problem discussed in the chat room: Since services are
bundles, and bundles can't be unloaded, we'd end up with a bunch of
loaded bundles which are taking up memory. A work around was to try and
load an application like a bundle. This however would need to be hacked
into shape, and would end up with bad results.

I propose (please tell me if this is a stupid idea) that we have
services be, well, services. Instead of using a bundle they would be
similar to an application, but not an application. If I am correct,
applications get their behavior from the NSApplication class. I propose
we create our own class (EtoileService) and a new function
(EtoileServiceMain) to start the run loop. This way we could define our
own behavior for services. EtoileService would have some sort of
integration with NSDocument (or, probably, EtoileDocument) to give the
document oriented behavior.

There would probably be one service for each main data type. Extensions
in the form of bundles could be loaded into these separate services.
When all documents using the service are closed, the service is shutdown
and the bundles go with it.


In getting rid of applications we would also get rid of windows. All we
would have are documents and panels. I also think preference panels
should be eliminated. To change preferences you would open the
preferences document (since that's what they are, documents). A service
would include a plist file describing what preferences there are and how
they are to be edited.


I also think we should add more pickers (like the color picker and font
picker). We could have a calculator in a picker. Another idea would be
to have a date/time/timezone picker. And the possibilities don't stop
there. Oh no, they go on!


Please critique my ideas without mercy!

Well, for start, services (in the gnustep sense) ARE applications, not bundles.
And I don't see why we would get rid of applications and have only
bundles -- applications are useful, they run in separate process :-)

Now, that does NOT mean that our "applications" will behave as
isolated as current desktop applications do -- to the contrary ! and
they will likely not be really similar to "current applications". But
I don't see why technically we should get rid of them.

Basically what you are proposing is awfully close to the architecture
we already have :)

(and yes, services are described already in a plist, etc ;-)

I'm not sure about the "let's get rid of prefrences panels" -- it
seems to me more an etymologic change (let's call them preferences
documents!) than a real technical change.

On adding more "pickers" it's a good idea. Not sure about a calculator
one, but a date/time picker would be neat, yes. Other "pickers" idea ?

thanks,

(ps: I didn't answer to david's mail -- but basically I entirely agree
with him, files are bad. The only problem I have is how long will it
takes us to do it, and what should we do in the meantime)

--
Nicolas Roard
"La perfection, ce n'est pas quand il n'y a plus rien à ajouter, c'est
quand il n'y a plus rien à enlever." -- Antoine de St-Exupéry

_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à