With yesterday's update of the iWork suite for OS X, Apple reintroduced several AppleScript functionalities that had been removed in October, and brought new scripting features to Pages, Numbers, and Keynote as well.
Ben Waldie published an overview of the changes at Macworld, noting that the AppleScript improvements aren't only focused on additions: Apple is now using a consistent AppleScript dictionary that should allow scripts to be easily reused across all iWork apps.
What’s especially interesting is that these suites are consistent from app to app. In other words, since all the apps have certain features in common, the same exact AppleScript terminology is used to script those features. This is huge: It means that if you write a script that builds a table or chart in Numbers, you can change the app name in your code to Keynote and your script should “just work” in Keynote. Want to add an image, replace some text, change the volume of every movie in a document? The code you write is the same for any of these tasks, regardless of which app you’re targeting.
When Apple relaunched iWork last year, they stressed how the apps had been rebuilt with full 64-bit support and a new unified file format. The return of AppleScript in iWork seems to highlight – as Waldie notes – a collaboration between different teams at Apple to improve consistency between apps, data exchange, and scripting features.
It took six months, but AppleScript appears to be alive and well at Apple. It may not be a priority anymore, and there's no denying that Apple put power users through a rough transition last year, but the new scripting capabilities of the iWork apps are fairly impressive and it sounds like there's still room for improvement.
In a series of updates rolled out today across iCloud.com, the App Store, and the Mac App Store, Apple updated its iWork suite of apps with design changes in the document editor, new templates, improved Retina display support, and several individual enhancements to Pages, Numbers, and Keynote.
On iCloud.com, the three web apps (which were last updated in January) have all received improved Retina display support and the possibility of opening documents directly from links in iCloud Mail. The document editor's design has been refreshed, and documents shared from iCloud.com can now be set to a view-only mode that won't allow recipients to edit them; previously, shared documents could always be edited by multiple users with access to a document's link.
Apple brought specific changes to each web app as well, such as improved popup menu support in Numbers and new templates, better text wrap, and the possibility to edit charts in imported documents in Pages. Read more
Clark Goble notes that, with the new iWork apps released yesterday, the AppleScript dictionary included in them has been so slimmed down it's basically gone. He has screenshots showing the regression, and he concludes:
What I suspect Apple doesn’t realize is how much small business and small shops workflow depends upon AppleScript. Casual use is fine. But a lot of people do more. It wouldn’t be so bad were there an alternative. This isn’t just like Apple not upgrading the Mac Pro. This is like Apple not upgrading the Mac Pro for four years, then announcing that the Mac Mini is the new Mac Pro. And discontinuing FCPX, Aperture, and its other pro apps and telling you to use iPhoto and iMovie.
It's baffling that the same company that brings these automation enhancements cuts AppleScript support in other Mavericks apps. Maybe the iWork team didn't have the time to rework AppleScript support for the new apps. However, as Dr. Drang notes, it's strange that AppleScript has been removed from apps that once had it.
I hope that Apple will put AppleScript back in a future update to iWork. I don't want to think that Apple just doesn't care about consumer apps also used by advanced users (with higher needs) anymore.
I have been using Mavericks for a little while now and I have to admit that I was a little slow to get excited about this release of OS X. Once I started to sink my teeth into some of the power-user features, though, it didn’t take long for me to really get sucked into trying out every new geeky addition, specifically all of the new AppleScript features.
I will be the first to admit that AppleScript is not my favorite language and I only ever use it when I absolutely have to, but, with the release of Mavericks, Apple has added some very compelling reasons to give it another chance. I was recently discussing AppleScript with a developer friend of mine, and we agreed that since Apple had begun stripping out some script-related functionality of core apps like iTunes, it would not be surprising if the language was slowly phased out of any upcoming OS releases. However, I was wrong. In a surprising turn of events, Apple decided to breath new life into AppleScript and make it easier than ever to write clean and reusable scripts. Read more
My mind was fairly well blown this morning to learn that for more than ten years, AppleScript on Mac OS X has included a built-in command for communicating with XML-RPC and SOAP endpoints on the web.
I had no idea this existed either. Following Daniel's example script, I have put together a Keyboard Maestro macro that, with a single hotkey, gets the latest post from MacStories, shortens its URL, and tweets it with Tweetbot. It's the Mac version of my Editorial workflow, and I'll share it soon.
I missed Growl's 2.1 update when it was released two weeks ago on the Mac App Store. The new version comes with pretty powerful new automation features for AppleScript: you can now specify rules that will be run automatically every time a new notification arrives. Check out the documentation and examples here.
This is an amazing collection of workflows and tips by Patrick Welker, who explains how he automates list creation and management using AppleScript and Keyboard Maestro. The post also contains a modification of my recent Mail workflow to automate senders and signatures.
The hidden gem in the article, however, is the following sentence:
Since I’m deeply in love with Keyboard Maestro and want to preserve the just fallen in love kind of feeling in our relationship for as long as possible, I created a one-action macro to trigger the TextExpander snippet
The things you do for the apps you love.
As The Omni Group keeps working on OmniFocus 2 for Mac and Apple continues seeding new betas of iOS 7 and OS X Mavericks to developers, I have been reconsidering Reminders’ simplicity and enjoying the built-in iCloud sync, which, unlike other types of iCloud, is working fine for me. However, two things I miss from OmniFocus are the possibility to integrate the app with a web browser through bookmarklets and the system-wide Quick Entry panel; I use both tools on a daily basis to easily save a browser’s tab into OmniFocus’ Inbox, or to bring up a text field where I can jot down an idea and know that, no matter the app I’m using, it’ll be saved into OmniFocus. Luckily for me, Apple’s Reminders app comes with a good AppleScript Dictionary, which is likely something that Reminders’ core mainstream audience won’t ever care about, but that we can leverage to extend the app’s capabilities and input areas beyond Mountain Lion’s leather-and-paper window.