gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proper way of connecting to apps


From: Stefan Urbanek
Subject: Re: Proper way of connecting to apps
Date: Sun, 22 Jun 2003 13:07:11 +0200

On 2003-06-22 12:54:08 +0200 Richard Frith-Macdonald <address@hidden> wrote:


On Sunday, June 22, 2003, at 11:10  am, Stefan Urbanek wrote:

<snip>

Yes, if you consider that the way MacOSX does it is the correct way. Other 
thing is that how would you expect it to behave.

It behaves the way MacOS-X behaves.
It behaves the way I expected it to behave.

I do not think is is reasonable to introduce incompatibilities unless MacOS-X 
is *OBVIOUSLY* wrong.  In other words, not only must your opinion of how it 
should work be different from the MacOS-X version, but your opinion should be 
overwhelmingly agreed with by other people.


Ok, this is religious topic, so we leave it as it is without any conclusion :-)

<snip>


This is something I wanted and was asking for. I knew that there are some 
methods in -gui for doing the sutff and I just wanted them to be public. 
Thereis also a method -_connectApplication: in NSWorkspace.m, but it seems to 
be different from GSConnectApplication.

GSConnectApplication is good method, but it requires some NSPort and a NSDate 
to be passed. Would it be possible to create a simple wrapper fot that method 
which takes just one argument? like public gnustep extension method in 
NSWorkspace -listenerForApplication:(NSString *)name ?

Sure it's possible, but my vote is against doing this.
I don't believe that this would be a good extension...
Keeping APIs as small and simple as possible should be a major aim for GNUstep.
Additional APIs should add really useful functionality, either useful for 
*lots* of people, or providing important features that can't reasonably be 
handled another way. This doesn't qualify.


This API will be useful for *lots* of people. It is new API for new GNUstep 
functionality, not publicaly present on OSX. That functionality is: easy 
cooperation of applications by using communication with application listeners. 
This will make GNUstep environment more integrated.
As I have said, there is currently  only one such kind of service and that is 
implemented in Terminal.app. With this method more services can be created and 
accessed very easily.

The problem is, people work on their own code, and see a feature they want for 
what they happen to be doing now.  Psychologically, it's hard to step back from 
the current work and look at whether the feature will be used.  Over the past 
few years I have removed a *lot* of non-standard stuff from the base library 
(some things that I added myself in earlier days) as it became clear that 
nobody was using it and it was just confusing newbies.


I agree with you. However, think about this proposal. I think it is not 'just 
another non standard stuff'.


The code to handle launching and connecting to an application is pretty simple 
really, and very few applications ever need to use it ... so adding a public 
convenience method to do it is IMO a bad thing.

Well, few or many? At this time, just a few. Why? Because it is complicated to 
make cooperative applications at this time. If we make it easier for 
applications to cooperate, then people stop writing 'all in one' applications 
and start delegating functionalities to other applications. Applications then 
can start to serve as 'active objects' and can eb complementary to frameworks. 
Applications are just 'frameworks with user interface'.

Also, I think that most inter-application communications can (and probably 
should) be done using services rather than direct messaging, so that services 
provided by applications are advertised to other applications in a uniform 
manner ... direct messaging is a pretty special case for closely cooperating 
apps which can't use the standard services mechanism for some reason.


Yes, direct messaging is special case. It is special case now. See my comments 
above.

What do you think?

Stefan
--
http://urbanek.host.sk

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]