Gruber On AppleScript

John Gruber, in an AppleScript retrospective for Macworld:

To recap: Decidedly old-school-Apple/pre-NeXT technology. A programming language syntax that frustrated experts and failed to achieve its intended goal of empowering non-programmers to program. A technical mismatch with the Cocoa application framework. You need this historical context to understand how unlikely AppleScript’s long-term success was. Someone with access to a time machine could make a lot of money by going back to Apple’s Worldwide Developers Conference 1998 and accepting wagers that AppleScript would be alive and well in the year 2012.

But alive and well it is.

Just last night I tweeted that, while Apple may still support AppleScript, it doesn’t look like it holds a spot in the list of “top priorities” for Mac OS software. And that makes perfect sense, as the company has been focusing on other areas for the past few years: removing cruft and bringing consistency across its desktop and mobile devices.

The fact that AppleScript still works on Mountain Lion after the Gatekeeper and Sandboxing changes is, alone, quite remarkable. But there’s no denying that “supporting AppleScript” isn’t generally regarded as a feature that needs to be in version 1.0 of an app. Apple itself supports only one command for Reading List – a major feature of Safari 5 – a whole year after its introduction. Of all the new third-party apps I’ve tried in the past year, only a very few of them support AppleScript: Rdio, Fantastical, PopClip. And then again, they don’t have extensive AppleScript dictionaries. On the other hand, apps that already supported AppleScript continue to offer that kind of integration: I think of The Omni Group’s apps, Evernote, PDFpen, BBEdit, or Acorn as notable examples.

You may argue that “supporting AppleScript” was never in the list of features a Mac developer had to support when shipping version 1.0 of an app. That’s probably true, but, again, my point is different.

The OS X landscape has changed. In the past two years – especially after the release of the iPad – developers have prioritized cloud sync, consistency, and gestures over inter-app communication and scripting. Those have to be priorities because those qualities have created a stronger ecosystems for everyone. When it comes to scripting and inter-app communication, you know where I stand. I don’t know if AppleScript will ever be a “priority”, because maybe it really isn’t meant to be one.

Like Gruber, I’m just glad it’s still around. In fact, I look forward to finally releasing a little AppleScript project I’ve been working on since September.