Hello,

Nicolas, you have started with plan outline and I will continue with
questions. Many of them have obvious answer, however they need to be
explicitly answered.

On Mon, 2005-03-28 at 20:30 +0100, Nicolas Roard wrote:

<snip>

> What would be a good desktop then ? 
> 
> A) components, cooperation and sharing 
> 
> 1)  existing mechanisms
> 
> I think that one of the main point of a good desktop would be good
> cooperation between the applications/components. It's better to have
> applications/components doing only one thing, but doing it well,
> cooperating with other applications, than to have huge, bloated
> applications that do everything in an average way.
> 
> How can we do that ? well, there's different possibilites. Using
> GNUstep already gives us a lot of mechanisms for cooperation:
> pasteboard, services, filters..
> NeXTSTEP showed how the pasteboard could be the central communication
> bus for exchanging data between applications. We should build on top
> of that and encourage theses mechanisms.
> 

- What are existing mechanisms?
- How they work?
- How are data shared and/or transferred using them and in what form?
- Do we have to serialise objects, make them accessible by shared memory
or by distant objects or by other ways?
- Do the objects have to be written on the disk to be shared or can they
be shared directly in live application as anonymous objects with known
structure?
- Are those mechanisms currently public or not? Which of those
mechanisms can be made public and how? (for example: exporting handled
pasteboard types of an application and documenting contents of the data
in the pasteboard)
- What are advantages AND disadvantages of certain method? -> What are
methods suitable for and what are not?

> 2) proposed additional mechanisms
> 
> On top of the current mechanisms, we probably want to add things like
> "roles" (where you could identify roles in applications/components and
> call / use roles instead of application -- hence providing a good
> abstraction over which actual application / component will do the
> job), "programmable services" (ie some kind of registry for services
> callable using distributed object), a more powerful filter system, and
> of course NSDataLink/Linkback for embedded documents edition.
> 

- To what mechanisms can be roles added and how?
- How one finds appropriate mechanism for his task - find mechanism with
given role?
- Who will define the roles? Are they going to be
etoile-cetralised/standardised or user definable or both?
- Is there any hierarchy of roles? If yes, it is only one hierarchy or
can be there more? Or can the roles be grouped randomly?

> 3) scriptability : one virtual object environment
> 
> Another aspect is of course easy scriptability of the environment --
> ideally we want to provides the illusion of cooperating objects over
> applications. Exactly what StepTalk does : Étoilé applications should
> have a good StepTalk support.
> 

- How should application advertise its scripting capabilities?
(partially answered)
- Where objects of the scripting process live? (not fully solved yet)

> 4) sharing
> 
> Another important part in a good desktop would be an emphasis on Once
> And Only Once : databases must be shared across applications (things
> like the adressbook, the bookmarks...). The user should not have to
> type/enter informations more than once, as a general rule.
> This idea is also true for sharing components among programs as much
> as possible. Providing Gorm palettes for components would be nice !
> 

Databases:
- What standard shared databases shoud be in the environment?
(Addresses, bookmarks, communication (emails, IMs), notes, ...)
- Who defines the structure of the standard shared databases?
- How can be the standard structure customised? (userInfo dictionary?)

Components:
- What should be the API for components to be shareable between more
apps?
- Should the applications have environment-provided mechanisms for
loading extensions/plugins/bundles/modules?

More questions? :-)

Regards,

Stefan Urbanek
-- 
http://stefan.agentfarms.net

First they ignore you, then they laugh at you, then they fight you, then
you win.
- Mahatma Gandhi



Reply via email to