Advertisement

You're the Pundit: 50 Shades of AppleScript

When it comes to evaluating the next big thing, we turn to our secret weapon: the TUAW braintrust. We put the question to you and let you have your go at it. Today's topic is AppleScript.

"AppleScript is a bit like Office Space's Milton Wadams. It's put upon and underappreciated, but then again probably going to be moved to the basement soon." -- Victor Agreda

Ah AppleScript. What a curious artifact it is, lingering on as it does into the Mountain Lion age, long after its inception as a natural-language inspired developer automation language. First debuting in System 7, AppleScript allows apps to control one another to script repetitive tasks.

Apps declare scriptable actions that they support (for example, you can tell iTunes to create playlists, to rename tracks, and so forth) and AppleScript lets you build short programs to perform these actions as if a user were interacting directly.

In today's Sandboxed world, where apps need to schedule playdates, carry ID cards, pass Gatekeepers, and request privileges, AppleScript is something of a living fossil. It harkens back to the Wild West days of "anyone can do anything, so long as it's between consenting apps." It seems to me that AppleScript is due to meet a natural end.

It's not as if the language were a joy to use. At best, it was painful. "Nothing exemplifies self-hatred better than AppleScript!" "Beat me, whip me, make me write AppleScript" and so on. There are dozens of ways to do any task in AppleScript and nearly all of them are just a quick typo away from being wrong. It offers a very frustrating development environment.

"AppleScript is one of the most interesting word puzzles ever. Nothing like trying to guess the right verbs and nouns each time" -- Richard Goodwin

At the same time, it is deeply convenient -- a way to add extra functionality to your Mac and perform complex tasks with a simple entry point. I still have dozens of scripts on my Lion Mac that I use on a near daily basis -- from resizing images for TUAW posts to signing apps for iOS testing.

As useful as AppleScript is, I cannot see it moving forward much further. Already, the Mac App Store has ruled out most AppleScript based submissions that control one app from another (Incidentally, this killed my QTSkipper utility, which allows you to perform 30-second TiVo-like jumps in QuickTime). So does AppleScript-based automation continue to have a future on the Mac?

Lex Friedman of Macworld wrote up a pretty good summary of the situation a couple of months ago. He discusses the various ways scripts operate and how Mountain Lion will treat each scenario.

But this doesn't address the bigger question: in a post-PC world, does AppleScript-style automation really deserve a place on our computers? That's much harder to answer, especially as Apple moves away from scripting, the command line, and other relics of hard core nerdism to a consumer-centric focus that places its emphasis on seamess computing.

I'm not sure tomorrow's Macs will have room for that kind or level of customization, and if so, then we're looking at one of the longest lived, powerful, and most convenient aspects of the Apple world reaching a natural end.

For all that AppleScript drives me crazy, I would greatly miss it if it were to have to go away.

Is AppleScript at its end? You tell us. Place your vote in this poll and then join in the comments with all your analysis.

%Poll-74952%