OSX GUI Manipulation?

bfr at nwlink.com bfr at nwlink.com
Wed Sep 1 22:22:05 EDT 2004

> bfr at nwlink.com wrote:
>  >>> Well I thought I made it quite clear that automating other
>  >>> applications is the whole point of my question.
>  >>
>  >> That was clear.  What do you want to do that AppleScript
>  >> doesn't support?
>  >
>  > Sigh.
>  >
>  > Controlling the GUI of unscriptable applications.
> Sigh.
> You mentioned "an OS X application", so I thought you might have a
> specific one in mind.

I do and I mentioned it in my very first message on the subject - FileMaker.
But the nature of my questions is general - what programming environment,
if any, allows me to build applications that provide GUI manipulation for
apps that cannot be controlled by standard System Events scripting. That
is the same question I have been asking throughout this thread.

> Reading the rest of my post may leave you less easily exasperated:
>      I know of only two ways to control other apps:  AppleScript,
>      as we've been discussing, and system-level APIs which will
>      let you hook into the event mechanism.
>      Rev supports AppleScript, and Rev supports an interface to
>      allow you to write externals to communicate between Transcript
>      and OS APIs.
>      What do you want to do that is not covered by these?
>      What third mechanism is iKey using?
> You needn't answer those questions for me.  It's clear that my
> inexperience leaves me with nothing to offer you, and I generally avoid
> platform-specific technologies anyway so it's of little interest to me;
> I was just trying to help.
> But the questions are central to the stated problem, so answering them
> will give you what you're looking for.
> However, if such a mechanism is undocumented by the OS vendor there may
> be a reason for that.  One can hardly expect a development tool that
> runs on 12 platforms to spend much time with undocumented (read "highly
> likely to change on a whim") APIs.

That's why there are only two players in OSX automation market, and it has
taken them quite along time to get where they are today.

> Monkeying with unsactioned APIs may be worthwhile for a simpler
> single-platform consumer utility focused on such things like iKey, for
> whom such a task is the only fish they're frying.  But RunRev already
> provides two Apple-sanctioned ways of dealing with inter-app events
> (high-level with AppleScript and low-level with externals) and I think
> most of its customers would rather see them focus on other things than
> creating dependencies on undocumented APIs that Apple can rightfuly yank
> out from under us at any time.

I don't know the underlying details. Again, that is precisely why
companies like CESoft take on this market and charge for their product.

> The folks at FaceSpan seems like pretty smart people.  If they dropped
> support for certain types of control between v3 and v4 there may be a
> reason -- what did they say when you asked them?


OSX is quite different from classic versions of the operating system.
FaceSpan has a tiny market share and I'm sure they have struggled just to
release the product in its current form. It would require extra skill and
time to add features that are only just now being added by developers
whose entire focus is directly on GUI automation. The GUI manipulation
features of Facespan were an important part of the feature set but not the
reason-for-being of the application. So Facespan 4 gets out the door with
general application building capability, plus the "free"  GUI feature set
enabled by System Events.

Actually I should add Eggplant to the list of apps that can do the job. It
CAN do this job - but it is much more expensive. I will have to
investigate their licensing model etc.

More information about the use-livecode mailing list