Interesting episode this one. I have a question along with a few points.
1. FastScripts
Having been a MarsEdit user up to the point SquareSpace dropped XML-RPC support, I’ve been a fan of Daniel Jalkut’s work. As a result I’ve looked at FastScripts a handful of times in the past. But I’ve never been able to identify what this would offer me over Keyboard Maestro, the Apple standard Scripts menu, and even Services (for keyboard shortcuts). Therefore I was intrigued to hear that @RosemaryOrchard used it in combination with software like Keyboard Maestro.
I’d be interested in hearing from anyone on what the feature or features are that make FastScripts an addition when you might already have something like Keyboard Maestro to trigger scripts.
2. AppleScript Support in Drafts
@MacSparky mentioned in the episode that Drafts has “great AppleScript support”. While I am a big advocate for Drafts, I would have to disagree with David on this. While Drafts does have the option to run AppleScript from Drafts actions, or in fact any shell command/script, the support to interact with Drafts from AppleScript is very limited. In fact, this is it in its entirety.
Using Drafts from AppleScript
We are working on exposing more of Drafts features to AppleScript, but to get started implemented the ability to create drafts. This should be useful for incorporating capture with other automation tools. Example:
tell application "Drafts" make new draft with properties {content: "My Draft Content", flagged: false, tags: {"blue", "green"}} end tell
Greg has noted that developing the AppleScript support is something he wants to do at some point, but to date it has not really changed since this was introduced.
3. AppleScript Dictionaries
I’m far from being an AppleScript expert. I know enough to get by for most of the time, but I often have to refer to examples to get things working properly. However, I think the discussion of dictionaries was misleading; though I’ll certainly yield to anyone who has more AppleScript experience.
The second example of AppleScript dictionaries, where they are documentation of what applications offer to the AppleScript language/system, I believe is correct, and is the only dictionary in AppleScript.
I think the first example was referencing what dictionaries are in more general programming terms, but that isn’t what they are in AppleScript. In AppleScript, things in curly braces ({...}
) are known as “lists”, sets of unstructured, independent items of data in a single group. When you place object properties in lists, the lists then become structured data and are referred to as “records”. I think the first examples given during the podcast episode for dictionaries were actually examples of AppleScript records.
If you search for dictionaries and AppleScript, you’re going to find references to sets of app documentation, hence I think it is important to clarify the use of terms. Not all concepts have the same name in every language, but having the right term for the language you are using makes it much easier to find what you are looking for in the documentation.