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
