kcw | journal | 2001 << Previous Page | Next Page >>

I downloaded and installed the December 2001 Developer Tools just to start playing around with AppleScript Studio. I'm not too sure what I expected. I was expecting something like Script Editor but more robust, with an integrated interface builder and better debugging and editting tools. I was way off. AppleScript Studio is one library plus patches to the existing Project Builder and Interface Builder to support making stand alone AppleScript applications.

In Project Builder, the Apple IDE, it amounts to three project templates to get you started, plus syntax coloring and the ability to call an AppleScript compiler tool to create the application. You're still using Project Builder the same way. AppleScript is just another language, albeit one with a few special settings and menu commands. Much the same with Interface Builder. There are some AppleScript templates plus an AppleScript info pane for all objects and an AppleScript tool palette section (with one item currently).

The manual is not that imposing. Out of the 264 page book, the latter 150+ pages is dedicated to building a rather extensive AppleScript application, complete with multiple windows and quite a bit of processing. All in all it's surprisingly not that much, just a lot of glue code that had to be written. And yet it was a good idea to do it this way. Leverage the tools that people use so that they don't have to learn yet another tool that does the same thing.

This is my first time using Interface Builder. It's pretty neat. Realize that it's not the be-all-end-all that new Mac OS X developers rave about, and neither are the NextStep libraries revolutionary new computing. We're talking about a GUI painter and a bunch of premade framework code -- the exact kind of things I was using in Berkeley ten years ago. Much more polished and easier to use, but the concepts are the same.

One of the really neat things about Interface Builder is that it gives you lots of hints about object placement. It knows the Aqua interface standards and as you move objects around it keeps drawing these blue guidelines so that you know where to put things. It knows that objects should be in the same level and it knows about object spacing and how far away from the edge to put things. Quite neat. There are also some container properties that are cool. The ability to put objects within other objects and have the parent object manipulate the children.

So I'm going through the tutorial and it's well written and does a lot. Sure, you're creating a surprisingly complex program, but the step-by-step instructions are clear and complete. I have no idea how to use Interface Builder but the instructions walk me right through it. And as I'm learning how to use it I realize that I'll need to read the manual (if any, I don't like the HTML help that Apple tends to provide nowadays) because this is a useful application.

The only problem I have with writing AppleScript applications is version control. Not the application's version, but the version of all the other applications you'll depend on (at least the AppleScript Studio support library is in Mac OS X 10.1.2 so you don't have to distribute it). I'm just using the Finder and it keeps changing and breaking my code after every update. Think about if you're scripting three or four applications extensively. You can't distribute your AppleScript application because people are not going to have the same version of software (if they even have those applications) so it'll probably break in different ways.

I'm not too sure how you can solve that, which makes me rather pessimistic about ever finishing my backup application. Well, as Mac OS X matures that problem will lessen, I can only hope. Still, my application broke again after installing 10.1.2 so I'm back to fixing it. Kind of depressing but I'm sticking with it for now. If nothing else it will give me practice with Interface Builder.

Copyright (c) 2001 Kevin C. Wong
Page Created: August 21, 2004
Page Last Updated: August 21, 2004