View Review Details


Book:   AppleScript: The Definitive Guide
Subject:   AppleScript: The Definitive Guide Review
Date:   2004-01-12 19:15:41
From:   David Hoerl
Rating:  StarStarStarStarStar

I've dilly-dallied with AppleScript for years, and everytime given up in frustration. Now that I am half way through this new book, I understand why: its suppose to be like that!


Seriously, if you only by the book for Chapter 3, Matt's own experience in trying to get FrameMaker to do something he needed it to do, it would be worth the price of the book! What you get out of this is that its never going to be easy to get an unknown application (that is, to you!) to do what you want it to do - at least not right away. And he goes on to explain over and over that even though an application may accept Standard Suite events, it may ignore some or all of the parameters you send it! So, I finally found out - its not me - its the system!!!


Now that I understand my expectations are not reset, I have started to again play with Script Editor (on Panther) and scripting various events. I subscribe to the AppleScript users list on the Apple Developer site, and recently there was a thread on how to get a progress bar. Someone posted a script that opened TextEdit, set the window size to a long thin rectangle, send a stream of '|' characters such that it looked like an old style progress bar.


It looked interesting, so I played with it for a while. The script tells TextEdit to open a blank window, then it sets the title, sets the bounds, then starts writing. So, I think - if you could open the window with a title of "Progress..." and a bounds already set, that would be cool. I look in the TextEdit dictionary and there is a "with properties" option under "make new window". So I try it. Sigh. Its compiles, and runs, but TextEdit ignores the properties. Now, before I read Matt's book, I would have thought it was me. Now I know TEXTEDIT IS BROKEN! Not the end of the world, but its not me! I feel better already! [Note: I tested with Tex-Edit Plus, which takes the same make directive but honors the properties! ]


The above is illustrative of the thinking that this book provokes. Matt has a great blend of provoking thought, warning you of pitfalls, and constantly reminding you to experiement as you cannot read how to script a given application in a book, even this one!


I'm only half way through nowl, but am now engaged and feeling good about what I am learning. Matt has a conversational tone, as if you were in a small classroom and looking at one another - so its not another dull tome. He takes you to an amazing depth, slowly while building to it, and when you're done a chapter, and now understand some aspect of AppleScript, you may find yourself smiling that this has happened withour your hardly knowing it was happening.


I've been reading a few chapters each day, then playing around with Script Editor to lock in what I am learning. I have skimmed through the later chapters on occasion to find an answer, and I've always found one.


The only very minor complaint I have is that, for me, it would have been nice to have a small set of questions at end - like exercises - little tasks for the user to try to get them to stop reading and start coding. I find modifying existing example scripts is useful - others may prefer to make some exercises up for themselves.


That said, the buzz on Apple's list server has been extremely positive from a large group of users, some of whom have scripted for years. I personally have several other AppleScript books, and this one is head and shoulders above the rest. If you have any interest at all in using or even understanding AppleScript, you will find this book an invaluable companion. Its even an enjoyable read!


See larger cover