Re: "hooking" into another app

2008-04-15 Thread Christopher Nebel

On Apr 15, 2008, at 3:20 PM, Ricky Sharp wrote:


On Apr 15, 2008, at 5:13 PM, Jens Alfke wrote:


On 15 Apr '08, at 3:07 PM, Don Arnel wrote:

Actually, after playing around with the Accessibility API I've  
found that changing the layout of UI elements won't adversely  
affect the external app's code at all.


Changing the x/y coords of views in the nib won't, but other types  
of changes might, since the views just seem to be identified  
according to some numeric order. It might be the tab (responder- 
chain) order, or the order in which the views are listed in the  
compiled nib, but in any case it could change if the nib is  
changed. For example, if you decide to change the tab ordering, or  
if you delete a button and replace it with a new one.


See prior e-mail regarding GUI scripting.  I've personally done all  
of the above, and it had zero impact on my app being fully  
accessible.  I like to think of the accessibility frameworks as  
offering users this: "tell me what's there and I'll interact with it".


Just because your application is accessible doesn't mean it's  
accessible in exactly the same ways, and that's what's required if  
you're going to start treating the accessibility of another  
application as API.  The second bit is exactly correct, and the key  
point is that that's *all* it does -- it lets you discover and  
manipulate what's on the screen *right now*.  This is perfectly  
sufficient for an assistive program like VoiceOver, but notice that it  
makes no guarantees about what will be on the screen tomorrow, even  
for the same application.  Attempting to write client application that  
works by manipulating another app's UI presumes a level of stability  
that really isn't there.  Maybe it'll work next time the application  
or OS is updated, maybe not.  This may be acceptable for your  
purposes, but you should be aware of the risk.



--Chris N.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-15 Thread Bill Cheeseman
on 2008-04-15 5:37 PM, Jens Alfke at [EMAIL PROTECTED] wrote:

> I'm not so enthusiastic about it Š it's basically the GUI equivalent
> of Application Enhancer, or of HTML screen-scraping.

That really isn't fair. I avoid Application Enhancer like the plague. In
fact, I had to work with Unsanity so that I could modify my own applications
in order to avoid APE's interference.

The Accessibility API is a fully public and supported API from Apple. It is
designed to make all Mac applications accessible to users with disabilities,
so that Mac applications can meet federal legal requirements under the
Americans With Disabilities Act. There is nothing skanky about it. I've been
working with it for several years now, and I find it entirely reliable and
useful.

You may be confusing the Accessibility API with GUI Scripting. Although GUI
Scripting is based on the Accessibility API, GUI Scripting is designed only
to offer AppleScript services that are unrelated to the purpose of the
Accessibility API. It is certainly true that a scripter is well advised to
use an application's built-in AppleScript support, if available, before
resorting to GUI Scripting as a last resort, for exactly the reasons you
state. But that only has to do with AppleScript. If an application supports
AppleScript, it probably does so much better than GUI Scripting does. For
that reason GUI Scripting is a last resort for a scripter, to be used only
if direct AppleScript support is unavailable.

But the original poster wasn't asking how to use AppleScript. He was asking
how to write an application. The operations he wants his application to
perform are perfectly handled by the Accessibility API. In fact, they are
exactly what the Accessibility API was designed to do.

--

Bill Cheeseman - [EMAIL PROTECTED]
Quechee Software, Quechee, Vermont, USA
www.quecheesoftware.com

PreFab Software - www.prefabsoftware.com


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-15 Thread Ricky Sharp


On Apr 15, 2008, at 5:13 PM, Jens Alfke wrote:



On 15 Apr '08, at 3:07 PM, Don Arnel wrote:

Actually, after playing around with the Accessibility API I've  
found that changing the layout of UI elements won't adversely  
affect the external app's code at all.


Changing the x/y coords of views in the nib won't, but other types  
of changes might, since the views just seem to be identified  
according to some numeric order. It might be the tab (responder- 
chain) order, or the order in which the views are listed in the  
compiled nib, but in any case it could change if the nib is changed.  
For example, if you decide to change the tab ordering, or if you  
delete a button and replace it with a new one.



See prior e-mail regarding GUI scripting.  I've personally done all of  
the above, and it had zero impact on my app being fully accessible.


I like to think of the accessibility frameworks as offering users  
this: "tell me what's there and I'll interact with it".  Meaning, the  
API queries what is there on the screen and listens to notifications  
to update that info.  This info offers objects (e.g. a button) and  
possible actions (e.g. 'press).  Users then use their assistive  
devices to take actions like moving the focus or to press buttons.


What specific tab of a tab view that comes up as the default is not an  
issue.  Users will be able to know that the original default is not  
currently selected, but will have the ability to select it.  And, then  
to interact with the controls contained therein.


As this is getting off of being Cocoa-specific, future responses may  
be better served on the dedicated accessibility list.


___
Ricky A. Sharp mailto:[EMAIL PROTECTED]
Instant Interactive(tm)   http://www.instantinteractive.com

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-15 Thread Jens Alfke


On 15 Apr '08, at 3:07 PM, Don Arnel wrote:

Actually, after playing around with the Accessibility API I've found  
that changing the layout of UI elements won't adversely affect the  
external app's code at all.


Changing the x/y coords of views in the nib won't, but other types of  
changes might, since the views just seem to be identified according to  
some numeric order. It might be the tab (responder-chain) order, or  
the order in which the views are listed in the compiled nib, but in  
any case it could change if the nib is changed. For example, if you  
decide to change the tab ordering, or if you delete a button and  
replace it with a new one.


—Jens

smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: "hooking" into another app

2008-04-15 Thread Ricky Sharp


On Apr 15, 2008, at 4:37 PM, Jens Alfke wrote:



On 14 Apr '08, at 2:39 PM, Bill Cheeseman wrote:


However, the
Accessibility API is also wonderfully useful for doing lots of  
other things,
such as hooking into a text chat window so that you can log the  
incoming

messages.


I'm not so enthusiastic about it … it's basically the GUI equivalent  
of Application Enhancer, or of HTML screen-scraping. Just as  
searching through the raw HTML of a website isn't a reliable way to  
get information from the server, groping through the views of  
another app isn't a reliable way to interact with it. In both cases,  
there's nothing to keep the layout of the user interface from  
changing in the future, and even minor changes that don't have a  
visual effect could break anything that's groping inside them. (For  
example, if the order of two buttons gets changed around for some  
reason in a nib, something using the accessibility API to drive  
those buttons is going to end up pressing the wrong one.)


That's not how accessibility works though.  When an app supports it  
(which most Cocoa apps do if using the Aqua UI), the visual UI  
hierarchy is ultimately flattened into an accessibility hierarchy (see  
various overview docs for more detail).  Also, you don't access things  
by absolute position, or physical order.  So, if layout changes, you  
can still access the required button.


Perhaps you're thinking of the specific case of GUI scripting?  In  
that case, you do sometimes end up with AppleScript commands that  
reference things by ordinal value (e.g. button 1 of window 3).


I understand that sometimes there isn't any other way to get  
something done, but IMHO using accessibility to do such things is in  
the "skanky hack that just happens to work" category. In the case of  
iChat it would be a lot better to use its existing AppleScript  
support to add handlers for when messages are received.



I will agree that this approach would be better.  After all, if  
accessibility is turned off,  there won't be any access to data via  
those APIs.  The AppleScript approach would be available no matter what.


Although, I have to say that I believe that of all apps out there,  
more probably support accessibility features than do AppleScript.   
Thus, YMMV.


___
Ricky A. Sharp mailto:[EMAIL PROTECTED]
Instant Interactive(tm)   http://www.instantinteractive.com

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-15 Thread Don Arnel
Actually, after playing around with the Accessibility API I've found  
that changing the layout of UI elements won't adversely affect the  
external app's code at all.


On Apr 15, 2008, at 5:37 PM, Jens Alfke wrote:

I'm not so enthusiastic about it … it's basically the GUI equivalent  
of Application Enhancer, or of HTML screen-scraping. Just as  
searching through the raw HTML of a website isn't a reliable way to  
get information from the server, groping through the views of  
another app isn't a reliable way to interact with it. In both cases,  
there's nothing to keep the layout of the user interface from  
changing in the future, and even minor changes that don't have a  
visual effect could break anything that's groping inside them. (For  
example, if the order of two buttons gets changed around for some  
reason in a nib, something using the accessibility API to drive  
those buttons is going to end up pressing the wrong one.)


I understand that sometimes there isn't any other way to get  
something done, but IMHO using accessibility to do such things is in  
the "skanky hack that just happens to work" category. In the case of  
iChat it would be a lot better to use its existing AppleScript  
support to add handlers for when messages are received.


—Jens___


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-15 Thread Jens Alfke


On 14 Apr '08, at 2:39 PM, Bill Cheeseman wrote:


However, the
Accessibility API is also wonderfully useful for doing lots of other  
things,
such as hooking into a text chat window so that you can log the  
incoming

messages.


I'm not so enthusiastic about it … it's basically the GUI equivalent  
of Application Enhancer, or of HTML screen-scraping. Just as searching  
through the raw HTML of a website isn't a reliable way to get  
information from the server, groping through the views of another app  
isn't a reliable way to interact with it. In both cases, there's  
nothing to keep the layout of the user interface from changing in the  
future, and even minor changes that don't have a visual effect could  
break anything that's groping inside them. (For example, if the order  
of two buttons gets changed around for some reason in a nib, something  
using the accessibility API to drive those buttons is going to end up  
pressing the wrong one.)


I understand that sometimes there isn't any other way to get something  
done, but IMHO using accessibility to do such things is in the "skanky  
hack that just happens to work" category. In the case of iChat it  
would be a lot better to use its existing AppleScript support to add  
handlers for when messages are received.


—Jens

smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: "hooking" into another app

2008-04-15 Thread I. Savant


  Though the link was funny, I'll ignore the flamebait and answer the  
technical aspect of this post:


You yourself said that the OS is resistant against this sort of  
attack in the following quotes:



Well, password fields are "special" and are 'resistant' to key
logging, but you don't have to 'hook into' any apps to log the rest.




  Note the quotes around 'resistant'. Password fields are not simply  
left open to key logging like everything else. Try it - write a key  
logger that logs all keyboard events on the system (you'll need  
Carbon). Then google around for the 'why'.


  Whether it's bullet proof or not was neither asserted by my post  
nor defended by others. It's merely 'resistant' to key logging. There  
are easier ways of getting a user's passwords (say, from their  
keychain) if you've managed to sneak an application on their system.


I dont know what could be confusing about logging text that is  
displayed in a text field, perhaps you could elaborate on how this  
was confusing.


  With the exception of the first misinterpretation (which was not a  
big deal, please forgive us our humanity), the OPs question was  
answered with several approaches: APE, AppleScript, and the  
Accessibility API. All are valid, all have advantages and disadvantages.


--
I.S.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


[Moderator] Re: "hooking" into another app

2008-04-14 Thread Scott Anguish
None of this is relevant to this discussion or Cocoa. Nor was your  
earlier response.



On Apr 14, 2008, at 11:04 PM, Matt Burnett wrote:
You reply couldnt be more fanboi-ish. If that wasnt enuf you have a  
documented history of being a apple fanboi





Either you're confusing this with another thread or you're trolling  
for 'apple fanboy security' flamewars. Stick to Cocoa discussion on  
the cocoa-dev list, please.


So im the troll huh? Which is why i'm posting with my real name  
instead of a pseudonym like yourself. I suppose my post wasnt  
directly Cocoa related, but it still dealt with OS X development,  
albeit at the kernel level. If you would have bothered to check the  
email headers, you would have seen that my message was sent with  
Apple Mail, which would further reduce the likely hood of being a  
troll. And finally if you would have bothered to google my email  
address you would find plenty of posts on the darwin-dev lists  
critizing Apple's lack of support for function hooking.



This is not acceptable behavior for this list, or any Apple list for  
that matter.



Everyone, please take note that this type of blatant foolishness will  
not be tolerated, nor will posting links to posts about other users.  
This will result in your posts to the list being moderated, as Matt's  
have now been.


Whether I.S. chooses to post under his real name or a pseudonym is not  
an issue. He's developed a reputation here of providing accurate and  
helpful answers to many questions.


Scott [Moderator]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Matt Burnett
You reply couldnt be more fanboi-ish. If that wasnt enuf you have a  
documented history of being a apple fanboi (http://projects.info-pull.com/moab/hallofshame/line-noise_offended-pimpdouche.txt 
)




 Not once was it suggested that the OS isn't open to this sort of  
attack.


You yourself said that the OS is resistant against this sort of attack  
in the following quotes:



 Well, password fields are "special" and are 'resistant' to key
logging, but you don't have to 'hook into' any apps to log the rest.



 Understood - in this case, it's unsupported system hack time, since
the Mac OS X world takes a different approach to security which means
you have to work a bit harder.





Not once did the OP ask for a 'feature', and not once was the OP  
criticized for asking for a way to do what he wanted.


The OP asked if such a feature existed, directly implying that if it  
did not, then it would be a desired feature. Although you didn't  
criticize him, Thomas Davie did with the following reply:


Someone may correct me if I'm wrong, but that sounds a lot like  
something that has been very very deliberately left out of any API...
I want to write an app that I'd like to have "hook" into a text box  
in Safari and log your IDs, passwords, and bank account status.




Several different approaches to the (very loosely defined) problem  
were offered by many different posters, in fact.


The OP's request couldn't be more straight forward. He said he wanted  
to ""hook" into a text chat window from another app so that I can log  
the incoming messages". I dont know what could be confusing about  
logging text that is displayed in a text field, perhaps you could  
elaborate on how this was confusing.




 Either you're confusing this with another thread or you're trolling  
for 'apple fanboy security' flamewars. Stick to Cocoa discussion on  
the cocoa-dev list, please.


So im the troll huh? Which is why i'm posting with my real name  
instead of a pseudonym like yourself. I suppose my post wasnt directly  
Cocoa related, but it still dealt with OS X development, albeit at the  
kernel level. If you would have bothered to check the email headers,  
you would have seen that my message was sent with Apple Mail, which  
would further reduce the likely hood of being a troll. And finally if  
you would have bothered to google my email address you would find  
plenty of posts on the darwin-dev lists critizing Apple's lack of  
support for function hooking.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread I. Savant

On Apr 14, 2008, at 8:27 PM, Matt Burnett wrote:
The OS is all ready wide open to this sort of attack. Criticizing  
the OP for asking for this feature illustrates the false sense of  
security Mac users have simply because there isnt a spyware  
problem... yet. Apple allows you to hook IOHIKeyboard's  
_keyboardEventTarget.



  Not once was it suggested that the OS isn't open to this sort of  
attack. Not once did the OP ask for a 'feature', and not once was the  
OP criticized for asking for a way to do what he wanted. Several  
different approaches to the (very loosely defined) problem were  
offered by many different posters, in fact.


  Either you're confusing this with another thread or you're trolling  
for 'apple fanboy security' flamewars. Stick to Cocoa discussion on  
the cocoa-dev list, please.


--
I.S.



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Matt Burnett
The OS is all ready wide open to this sort of attack. Criticizing the  
OP for asking for this feature illustrates the false sense of security  
Mac users have simply because there isnt a spyware problem... yet.  
Apple allows you to hook IOHIKeyboard's _keyboardEventTarget.


On Apr 14, 2008, at 2:24 PM, Scott Ribe wrote:


Sorry if that came across as having attitude, but I was a little
miffed at being accused of having intentions to steal passwords or
account information by writing a key logger.


Nobody was accusing *you* of wanting to do that, just pointing out  
that you

were asking for an OS feature which would open the OS to that kind of
attach.

--
Scott Ribe
[EMAIL PROTECTED]
http://www.killerbytes.com/
(303) 722-0567 voice


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/matt.w.burnett%40gmail.com

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Don Arnel

Thank you, Bill

This is exactly what I was looking for!

On Apr 14, 2008, at 5:39 PM, Bill Cheeseman wrote:


Use the Accessibility API. It's designed to do exactly this. It's a  
C API,

not Cocoa or Objective-C, but you can use it in a Cocoa application.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Bill Cheeseman
on 2008-04-14 8:30 AM, Don Arnel at [EMAIL PROTECTED] wrote:

> I am attempting to write a Cocoa app that I would
> like to have "hook" into a text chat window from another app so that I
> can log the incoming messages. The other app does not belong to my app.
> 
> If anyone could point me to some help topics on how this can be
> accomplished I would greatly appreciate it.

Use the Accessibility API. It's designed to do exactly this. It's a C API,
not Cocoa or Objective-C, but you can use it in a Cocoa application.

The Accessibility API does two things: (1) it enables you to make the user
controls and views in your application accessible to so-called "assistive
applications," and (2) it enables you to write an "assistive application"
yourself that accesses the user controls and views of any application. The
Accessibility API was created to make applications accessible to people with
disabilities through assistive devices and applications. However, the
Accessibility API is also wonderfully useful for doing lots of other things,
such as hooking into a text chat window so that you can log the incoming
messages.

Apple has lots of documentation about how to make your own application's
user controls and views accessible by assistive applications, but that
usually is only necessary if your application has custom user controls and
views. If your application uses standard Carbon or Cocoa code for its user
controls and views, they are automatically accessible out of the box.

But Apple offers very little documentation about how to write an assistive
application, which is what you want to do. There is a reference document
that describes the functions in the Accessibility API that you have to use
to write an assistive application, and there are a couple of example code
projects, including the UI Element Inspector example.

You can download the free 30-day trial version of my PreFab UI Browser at
, which uses the Accessibility API to
read and manipulate other applications. Try it with your target
application's chat window to see whether UI Browser is able to read the
incoming messages. You might have to read the chat window periodically to
notice new messages, but more likely your assistive application can install
(or register) a notification observer that will notice every time the
content of the chat window changes. You can test that in UI Browser, too. In
your "assistive" application, you would respond to each such notification by
reading the new content of the chat window and saving it to your log.

--

Bill Cheeseman - [EMAIL PROTECTED]
Quechee Software, Quechee, Vermont, USA
www.quecheesoftware.com

PreFab Software - www.prefabsoftware.com


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Kyle Sluder
On Mon, Apr 14, 2008 at 5:12 PM, Don Arnel <[EMAIL PROTECTED]> wrote:
>  I've only been working with a Mac running Leopard now for about 5 weeks and
> am not familiar with AppleScript or the Script Editor. I ran the Script
> Editor and dragged the iChat.app (since you said that app had lots of
> handlers) file into it, but what am I looking for? I saw no scripting
> interface. Am I doing it wrong? Is that how I was suppose to "drop it on
> Script Editor"?

Scriptable applications provide what are known as "dictionaries" of
their "terminology".  You can open an application's dictionary using
the Open Dictionary item on Script Editor's File menu.

Under the hood, AppleScript is just a human-readable representation of
Apple Events, which are the primitive IPC mechanism on Mac OS (well,
if you don't want to talk about kernel-level IPC through mach ports or
BSD-layer IPC with pipes and sockets, that is).  Apple Events are
somewhat analogous to Windows messages like WM_CLOSE, but they are a
lot more structured and versatile.

When you right-click and application's Dock icon and click Quit, for
example, the OS is actually sending that app a Quit Apple Event.  This
is just like when you quit an application from the Task Manager in
Windows (in that case, Windows posts a quit event to the app's message
queue -- actually its first top-level window -- which is usually
special-cased in the app's message pump).

But the similarities pretty much end there.  Windows also uses
messages for a lot of internal message passing.  Also, in Windows,
pretty much everything is a window, and you can iterate through all
the windows owned by any process you own (generalizing here in the
context of security descriptors).  Neither of these is the case on OS
X.  You have no access to another application's internal structures
whatsoever; you only have access to what the application grants you,
which in most cases is merely Apple Events/AppleScript.  In this
sense, Apple Events are used more like COM.

Long story short, you're going to need to seriously retrain yourself
for how OS X is architected.  It is a very different beast from
Windows.

--Kyle Sluder
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Don Arnel

Hi, Chris

I've only been working with a Mac running Leopard now for about 5  
weeks and am not familiar with AppleScript or the Script Editor. I ran  
the Script Editor and dragged the iChat.app (since you said that app  
had lots of handlers) file into it, but what am I looking for? I saw  
no scripting interface. Am I doing it wrong? Is that how I was suppose  
to "drop it on Script Editor"?


Sorry for all the questions.
- Don

BTW, the actual app I am tried to read the chat log from is  
PokerStars.app (www.pokerstars.com)


On Apr 14, 2008, at 1:03 PM, Christopher Nebel wrote:

clients provide such hooks as part of their scriptability.  For  
example, iChat in Leopard has a rather extensive set of handlers  
that you can attach AppleScript scripts to, and from there you can  
do what you like -- in your case, you'd want the "message received"  
handler.  You never specified the application you were interested  
in, but take a look at its scripting interface (drop it on Script  
Editor) and see if something looks promising.



--Chris Nebel
AppleScript Engineering


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Scott Ribe
> Sorry if that came across as having attitude, but I was a little
> miffed at being accused of having intentions to steal passwords or
> account information by writing a key logger.

Nobody was accusing *you* of wanting to do that, just pointing out that you
were asking for an OS feature which would open the OS to that kind of
attach.

-- 
Scott Ribe
[EMAIL PROTECTED]
http://www.killerbytes.com/
(303) 722-0567 voice


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread I. Savant
>  They are in the process of doing just that, I think you'll find.  It's just
> that, rather than removing them instantly, they've been deprecated and
> replaced with an alternative and more secure mechanism (Input Servers, if I
> remember rightly).  In some future version of Mac OS X, I think you can
> expect to see them go away.

  Additionally, I think I read somewhere that only those in the
/Library/... folder get loaded now. That may be wrong.

--
I.S.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread I. Savant
On Mon, Apr 14, 2008 at 12:56 PM, Don Arnel <[EMAIL PROTECTED]> wrote:
> Sorry if that came across as having attitude, but I was a little miffed at
> being accused of having intentions to steal passwords or account information
> by writing a key logger.

  I see no 'accusation' in this thread. Chill out.

--
I.S.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Alastair Houghton

On 14 Apr 2008, at 18:01, Chilton Webb wrote:

On the topic of Input Managers, it would be fine with me if Apple  
did away with this blatant security hole altogether.
I can think of zero real reasons to have it around still, which  
couldn't be addressed via more secure means, or by the individual  
application developers.


They are in the process of doing just that, I think you'll find.  It's  
just that, rather than removing them instantly, they've been  
deprecated and replaced with an alternative and more secure mechanism  
(Input Servers, if I remember rightly).  In some future version of Mac  
OS X, I think you can expect to see them go away.


This was noted in the 10.5 AppKit release notes, which said:

"The automatic loading of bundles located in InputManagers folders is  
now officially unsupported. The conditions for valid input manager  
bundle is further tightened. This functionality is likely to be  
disabled in a future release."


Kind regards,

Alastair.

--
http://alastairs-place.net


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Don Arnel
Sorry if that came across as having attitude, but I was a little  
miffed at being accused of having intentions to steal passwords or  
account information by writing a key logger.


Anyway, thanks for giving me a starting point to research.
- Don

On Apr 14, 2008, at 10:40 AM, I. Savant wrote:


On Mon, Apr 14, 2008 at 10:26 AM, Don Arnel <[EMAIL PROTECTED]> wrote:

No...no...NO!


 Alright. Now how about we take a few deep breaths, switch to decaf,
and try our social interaction again. This time without the attitude,
please.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Christopher Nebel

On Apr 14, 2008, at 8:24 AM, Oliver Quas wrote:


Am 14.04.2008 um 16:58 schrieb Florian Soenens:






on 4/14/08 8:26 AM, [EMAIL PROTECTED] purportedly said:

Re-read my message. If it was unclear, what I want to do is be  
able to
log (record) text being written to a chat window from another  
app. NOT
log key strokes. For example, how could I progmatically record  
an  AIM

chat conversation from my app?


You can't, at least not without the application's cooperation,  
such as being a plugin, using OSA, etc. With a *user's* (or  
administrator's) cooperation, you could have an app that acts as a  
proxy. Another option would involve a kernel extension, and that  
may be more work than it is worth.




Under the premise that your Chat-Client supports AppleScript, why  
not use the ScriptingBridge?


Because Scripting Bridge is for controlling other applications, not  
for writing handlers that an application will call.


Mr. Arnel's answer is basically correct -- you're going to need the  
target application to give you some hooks to hang your recorder on.   
(Unless you want to do something grungy like a kernel extension, that  
is.)  Some chat clients provide such hooks as part of their  
scriptability.  For example, iChat in Leopard has a rather extensive  
set of handlers that you can attach AppleScript scripts to, and from  
there you can do what you like -- in your case, you'd want the  
"message received" handler.  You never specified the application you  
were interested in, but take a look at its scripting interface (drop  
it on Script Editor) and see if something looks promising.



--Chris Nebel
AppleScript Engineering

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Chilton Webb
Hi Don,

On Monday, April 14, 2008, at 09:27AM, "Don Arnel" <[EMAIL PROTECTED]> wrote:
>No...no...NO!
>
>Re-read my message. If it was unclear, what I want to do is be able to  
>log (record) text being written to a chat window from another app. NOT  
>log key strokes. For example, how could I progmatically record an  AIM  
>chat conversation from my app?

Specifics are the key here. You can log iChat text rather easily, IIRC, via 
AppleScript. Just look at its scripting dictionary--it either supports it or it 
doesn't. As I recall, I could do this via the event callbacks in there, but 
it's been about 6 years since I had a need to do it.

If you want to log any text in any chat app, that's an entirely different 
matter.

On the topic of Input Managers, it would be fine with me if Apple did away with 
this blatant security hole altogether. 
I can think of zero real reasons to have it around still, which couldn't be 
addressed via more secure means, or by the individual application developers.

-Chilton
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Oliver Quas
Under the premise that your Chat-Client supports AppleScript, why not  
use the ScriptingBridge?


Just my 2 cents.
Oliver


Am 14.04.2008 um 16:58 schrieb Florian Soenens:

Maybe if the log is written to a file, you can read in that file.
But that won't be "real-time" logging of course.

Regards,
Flor.

On 14 Apr 2008, at 16:49, Keary Suska wrote:


on 4/14/08 8:26 AM, [EMAIL PROTECTED] purportedly said:

Re-read my message. If it was unclear, what I want to do is be  
able to
log (record) text being written to a chat window from another app.  
NOT
log key strokes. For example, how could I progmatically record an   
AIM

chat conversation from my app?


You can't, at least not without the application's cooperation, such  
as being
a plugin, using OSA, etc. With a *user's* (or administrator's)  
cooperation,
you could have an app that acts as a proxy. Another option would  
involve a

kernel extension, and that may be more work than it is worth.

Best,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/florian.soenens%40nss.be

This email sent to [EMAIL PROTECTED]




Looking for Web-to-Print Solutions?
Visit our website :   http://www.vit2print.com


This e-mail, and any attachments thereto, is intended only for use  
by the addressee(s) named herein and may contain legally privileged  
and/or confidential information and/or information protected by  
intellectual property rights.
If you are not the intended recipient, please note that any review,  
dissemination, disclosure, alteration, printing, copying or  
transmission of this e-mail and/or any file transmitted with it, is  
strictly prohibited and may be unlawful.
If you have received this e-mail by mistake, please immediately  
notify the sender and permanently delete the original as well as any  
copy of any e-mail and any printout thereof.

We may monitor e-mail to and from our network.

NSS nv Tieltstraat 167 8740 Pittem  
Belgium___


Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/olliq%40web.de

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Florian Soenens

Maybe if the log is written to a file, you can read in that file.
But that won't be "real-time" logging of course.

Regards,
Flor.

On 14 Apr 2008, at 16:49, Keary Suska wrote:


on 4/14/08 8:26 AM, [EMAIL PROTECTED] purportedly said:

Re-read my message. If it was unclear, what I want to do is be able  
to
log (record) text being written to a chat window from another app.  
NOT
log key strokes. For example, how could I progmatically record an   
AIM

chat conversation from my app?


You can't, at least not without the application's cooperation, such  
as being
a plugin, using OSA, etc. With a *user's* (or administrator's)  
cooperation,
you could have an app that acts as a proxy. Another option would  
involve a

kernel extension, and that may be more work than it is worth.

Best,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/florian.soenens%40nss.be

This email sent to [EMAIL PROTECTED]




Looking for Web-to-Print Solutions?
Visit our website :   http://www.vit2print.com


This e-mail, and any attachments thereto, is intended only for use by the 
addressee(s) named herein and may contain legally privileged and/or 
confidential information and/or information protected by intellectual property 
rights.
If you are not the intended recipient, please note that any review, 
dissemination, disclosure, alteration, printing, copying or transmission of 
this e-mail and/or any file transmitted with it, is strictly prohibited and may 
be unlawful.
If you have received this e-mail by mistake, please immediately notify the 
sender and permanently delete the original as well as any copy of any e-mail 
and any printout thereof.
We may monitor e-mail to and from our network.

NSS nv Tieltstraat 167 8740 Pittem Belgium 
___


Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Keary Suska
on 4/14/08 8:26 AM, [EMAIL PROTECTED] purportedly said:

> Re-read my message. If it was unclear, what I want to do is be able to
> log (record) text being written to a chat window from another app. NOT
> log key strokes. For example, how could I progmatically record an  AIM
> chat conversation from my app?

You can't, at least not without the application's cooperation, such as being
a plugin, using OSA, etc. With a *user's* (or administrator's) cooperation,
you could have an app that acts as a proxy. Another option would involve a
kernel extension, and that may be more work than it is worth.

Best,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread I. Savant
On Mon, Apr 14, 2008 at 10:26 AM, Don Arnel <[EMAIL PROTECTED]> wrote:
> No...no...NO!

  Alright. Now how about we take a few deep breaths, switch to decaf,
and try our social interaction again. This time without the attitude,
please.

>  Re-read my message. If it was unclear, what I want to do is be able to log
> (record) text being written to a chat window from another app. NOT log key
> strokes. For example, how could I progmatically record an  AIM chat
> conversation from my app?

  Understood - in this case, it's unsupported system hack time, since
the Mac OS X world takes a different approach to security which means
you have to work a bit harder.

  If you really want to do this, I'd recommend looking into
Application Enhancer. There's a fair amount of controversy about this
topic - and I have no intention of being drawn into yet another APE
debate thread - but it's the clearest path to what you're trying to
accomplish. You'd write an APE Module which could conceivably
intercept whatever you wish and forward it along.

  The drawback to this is that if you don't write it perfectly, bad
(and weird) things can happen with every app into which it's injected.
You'll have to make some assumptions, etc. which can easily backfire
the next time the target application is updated by the user. This can
(rightly) upset people. Be warned.

--
I.S.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Don Arnel

No...no...NO!

Re-read my message. If it was unclear, what I want to do is be able to  
log (record) text being written to a chat window from another app. NOT  
log key strokes. For example, how could I progmatically record an  AIM  
chat conversation from my app?


On Apr 14, 2008, at 10:00 AM, Thomas Davie wrote:

Someone may correct me if I'm wrong, but that sounds a lot like  
something that has been very very deliberately left out of any API...


I want to write an app that I'd like to have "hook" into a text box  
in Safari and log your IDs, passwords, and bank account status.


Thanks

Bob

On 14 Apr 2008, at 13:30, Don Arnel wrote:

Hi all,

I've only been developing using Xcode for about 5 weeks now (long- 
time Windows programmer). I am attempting to write a Cocoa app that  
I would like to have "hook" into a text chat window from another  
app so that I can log the incoming messages. The other app does not  
belong to my app.


If anyone could point me to some help topics on how this can be  
accomplished I would greatly appreciate it.


Thanks!
- Don
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/tom.davie 
%40gmail.com


This email sent to [EMAIL PROTECTED]




___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread I. Savant
>  >  I want to write an app that I'd like to have "hook" into a text box in
>  > Safari and log your IDs, passwords, and bank account status.
>
>   Well, password fields are "special" and are 'resistant' to key
>  logging, but you don't have to 'hook into' any apps to log the rest.
>  You don't even need an input manager.

  I realized as soon as I hit 'send' that this was unclear.

  To log everything but passwords, simple keylogging can be employed
without an input manager or otherwise talking with the other
applications. The event dispatch system will happily help you with
that 'problem' (using Carbon).

  Passwords, etc, can be gotten via input managers I believe. I think
this is how "1Password" works. Password fields are, however, resistant
to key logging as I said.

--
I.S.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread I. Savant
On Mon, Apr 14, 2008 at 10:00 AM, Thomas Davie <[EMAIL PROTECTED]> wrote:
> Someone may correct me if I'm wrong, but that sounds a lot like something
> that has been very very deliberately left out of any API...

  See the many discussions regarding input managers.

>  I want to write an app that I'd like to have "hook" into a text box in
> Safari and log your IDs, passwords, and bank account status.

  Well, password fields are "special" and are 'resistant' to key
logging, but you don't have to 'hook into' any apps to log the rest.
You don't even need an input manager.

--
I.S.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: "hooking" into another app

2008-04-14 Thread Thomas Davie
Someone may correct me if I'm wrong, but that sounds a lot like  
something that has been very very deliberately left out of any API...


I want to write an app that I'd like to have "hook" into a text box in  
Safari and log your IDs, passwords, and bank account status.


Thanks

Bob

On 14 Apr 2008, at 13:30, Don Arnel wrote:

Hi all,

I've only been developing using Xcode for about 5 weeks now (long- 
time Windows programmer). I am attempting to write a Cocoa app that  
I would like to have "hook" into a text chat window from another app  
so that I can log the incoming messages. The other app does not  
belong to my app.


If anyone could point me to some help topics on how this can be  
accomplished I would greatly appreciate it.


Thanks!
- Don
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/tom.davie%40gmail.com

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


"hooking" into another app

2008-04-14 Thread Don Arnel

Hi all,

I've only been developing using Xcode for about 5 weeks now (long-time  
Windows programmer). I am attempting to write a Cocoa app that I would  
like to have "hook" into a text chat window from another app so that I  
can log the incoming messages. The other app does not belong to my app.


If anyone could point me to some help topics on how this can be  
accomplished I would greatly appreciate it.


Thanks!
- Don
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]