Book Review: AppleScript: The Missing Manual

I’ve been coding AppleScript and AppleEvents since what feels like the beginning of time, starting with AE in 1991 and OS7. Revisiting AppleScript has been one of those processes that in 1997 and now in 2004/5 I have dreaded and embraced for various reasons.

The main reason I hate AS so much is the lack of consistency between application implementations of AppleScript support. I also dislike how over time implementations change making old scripts fairly worthless for relearning and aquanting. One of the other things I dislike most is the lack of a good basic introduction to the concepts and specifics of AppleScript. And finally the lack of a fairly all inclusive book or webpage about AS as a tool, AS the language, 3rd party AS tools that are currently supported and a set of generic educational sample scripts.


Now, Pogue Press along with O’reilly in their “Missing Manual Series” and a very bright high school debutant author named Adam Goldstein have put together what I consider to be the best book on AppleScript currently marketed. Thorough, modern and light reading. Adam Goldstein the wonderkid scripter that runs his own website has done us old time and newbie scripters alike a favor filling a much needed gap Apple left in their AS manuals. This 320+ page book was an easy evening read, consumed in less than 7 hours and 2 hours for reflection and revisiting sections of interest.


Some of the most enjoyable things I can mention about this book are… The consistent layout of the text, it is simply a joy to read and hold in my hands. Much like other O’reilly books, this one does not fail to serve well in hand and on desktop next to monitor. Goldstein covers a LOT of territory in 300+ pages, and I found the index useful after the first read for more in depth investigation and details about rather obscure AS topics. To me, a manual of any substance and value is as good as its index. These qualities are alone worth 1/2 the retail of the retail USD $24.95 retail price.


Another thing that impressed me was Goldstein’s breadth of knowledge covering bridge technologies, going from AS to JScript, or RealBASIC to AS, or even JS to AS. Living in the web demands a programmer and designer to know many tools and use the best (or in some cases the only) for the right job. Adam is clear on what AS is good for, and offers a rather complete list of alternatives for various other needs. Adam is an honest writer, something politically not in vogue all the time with writers of technology. I appreciate him being a straight shooter regarding the limitations of AS, where it is most useful, now to maximize its power and leaving it behind for other tools more appropriate. To me these merit the other 1/2 of the retail price.


Covering many application AS interfacing like MS Word, or Adobe PS, the process flow scripter/coder is going to love this up and fast running series of ‘Power User’s Clinic’ box hilites throughout the book. Inclusive are the Workaround sections for solving conflicts and problems with apps that behave or have naming conventions in their AS dictionaries that may result in odd behaviors. For those that want to explore the media aspects of AS programming, there are sections about coding iTunes, Web-Browsers, Commercial Graphic Apps and more.

At least two things lack in my opinion ranking this book high rather than perfectly fitting my personal needs. One is the lack of mentioning a few scripting technologies like FScript, and SenseTalk, both of which are extremely powerful and very complete. The first with true Cocoa objects, and the latter with an AS bridge call via the ‘do AppleScript’ command and the heart of the fully automated and scriptable testing system called Eggplant. Lastly the total lack of AppleScriptable IRC client control is a big oversite. Granted, few will upon utilizing AS spend time coding IRC clients, there is a deep pool of resources online and a webring dedicated to AS IRC scripting useful to the budding and new scripter.

As this book is a Missing Manual release, it is a great launching place for people that want to know the very basics about the tools available for AppleScript like the Script Editor and XCode. This book serves well those that want to get a feel for the tools out there to write more complicated scripts for automation, that of XCode. It does not touch in great detail the use of UI Browser or Smile, two very strong tools that are available fairly cheap to the AS coder. The very last thing that bothers me is the clear lack of commercial experience and focus for AS coding. There is a large market in Publishing for AS Hackers, and it is growing daily. Its apparent this book could use a section or two regarding integration of AS into a business model/work flow, and how to control data flow as part of a configuration management solution. AS is used as part of very complex media production, websites, newspapers, catalogs, libraries, online selling and stores. Yet nothing significant is mentioned about how AS is or could be used in such environments, and this is a sore point for me and this book, missing a great chance to explain how AS can help someone accomplish something useful other than getting iTunes to play folders of music.

Some of the very enjoyable things I can mention about this book are… The consistant layout of the text, it is simply a joy to read and hold in my hands. Much like other ora.com books, this one does not fail to serve well in hand and on desktop next to monitor. Goldstein covers a LOT of territory in 300 or so pages, and I found the index to be very useful after the first read to go back and revisit some topics like the AppleScript Studio coverage that I particularly want to know about, building full blown GUI based AS applications. The simple yet clear coverage of how to construct a simple speech interface to the say command was fantastic, and worth 1/2 the retail of the book alone.


Another thing that impressed me was Goldstein’s breadth of knowledge covering bridge technologies, going from AS to JScript, or BASIC to AS, or even JS to AS. Living in the web demands a programmer and designer to know many tools and use the best (or in some cases the only) for the right job. Adam is clear on what AS is good for, and offers a rather complete list of alternatives for various other needs. Adam is an honest writer, something politically not in vogue all the time with writers of technology. I appreciate him being a straight shooter regarding the limitations of AS, where it is most useful, now to maximize its power and leaving it behind for other tools more appropriate. To me that merits the other 1/2 of the retail price of USD $24.95.

Covering many application interfacing like MS Word, or Adobe PS, the process flow scripter/coder is going to love this up and fast running series of ‘Power User’s Clinic’ box hilites throughout the book. Inclusive are the Workaround sections for solving conflicts and problems with apps that behave or have naming conventions in their AS dictionaries that may result odd behaviours. For those that want to explore the media aspects of AS programming, there are sections about coding iTunes, WebBrowsers, Commercial Graphic Apps and more.

At least two things lack in my opinion making this book a high recommendation rather than a perfect fit for my needs. One of which is the lack of mention of a few scripting technologies out there like FScript and SenseTalk, both of which are extremely powerful and complete, the first with true Cocoa objects, and the latter with an AS bridge call via the ‘do AppleScript’ command.

In all, I give this book a rating of 4.25 out of a potentail 5 rating, for a solid “B” score. A good first edition with a growing list of errata as I revisit sections and notes I made along the margins. I’d recommend it to the starter and intermediate AS programmer. I could see AppleScript: The Missing Manual used by those interested in an overview of AppleScript and how AS techonology could be integrated into an OS X user’s productivity tool arsenal.

Disclosure: One thing I wish most would do is complete disclosure so I would know what kind of motivation and flavoring may occur during a review. To apply to self, I must tell you that I review O’reilly books for payment, in this case a free copy of the book in question. I am also a long time user of HyperSense, SenseTalk and Xmodules writer for SenseTalk dating back to 1990 and the advent of HyperCube the original NeXT/OSX Scripting Media System. However, I have attempted to be fair as well as critical of this book and its author when warranted. Goldstein’s book would have benefited from more years of commercial software and configuration management experience and not hobby or part time scripting practices.








Buy “AppleScript: The Missing Manual
at Amazon.com




About the Author:
Todd Nathan is an old hand at new technology. Coding since 6502 ASM for the Apple ][ line of computers in the early 80s, he has seen technologies come and go, mostly go. He enjoys developing Forth compilers in scripting languages for the sheer torture of it all, and ASForth is his latest undertaking. A complete Forth compiler, runtime and interpreter written in AppleScript.


If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.

21 Comments

  1. 2005-02-16 4:23 am
  2. 2005-02-16 4:41 am
  3. 2005-02-16 5:39 am
  4. 2005-02-16 5:55 am
  5. 2005-02-16 6:27 am
  6. 2005-02-16 8:37 am
  7. 2005-02-16 10:44 am
  8. 2005-02-16 12:06 pm
  9. 2005-02-16 1:06 pm
  10. 2005-02-16 1:56 pm
  11. 2005-02-16 3:18 pm
  12. 2005-02-16 3:21 pm
  13. 2005-02-16 4:20 pm
  14. 2005-02-16 4:50 pm
  15. 2005-02-16 6:08 pm
  16. 2005-02-16 7:23 pm
  17. 2005-02-16 7:37 pm
  18. 2005-02-16 7:55 pm
  19. 2005-02-17 3:02 am
  20. 2005-02-17 3:56 am
  21. 2005-02-19 8:26 pm