TweetFollow Us on Twitter

A Fresh Perspective On AppleScript: An Interview with an AppleScript Newbie

Volume Number: 24 (2008)
Issue Number: 09
Column Tag: AppleScript

A Fresh Perspective On AppleScript: An Interview with an AppleScript Newbie

AppleScript insights and thoughts from a newcomer to the language

by Ryan Wilcox

Why This Article

AppleScript: the oft-maligned scripting language from Apple has been included on every Mac since System 7.1. AppleScript's key weapon might just be its English-like syntax, making AppleScripts very readable by just about anyone.

Sometimes talking to a newcomer to a technology or language reveals things we, in our familiarity, have forgotten. This article is meant to look at AppleScript, by interviewing a newcomer to the language.

About The Interviewee

Kevin Hartman majored in Studio Art with a Graphic Design concentration, where he used Macs heavily in his education. After college he got a job at a college in Rochester, NY, where he's been a Mac technology support specialist/system admin since 2007. Kevin is a switcher, having spent most of his time on Windows PCs. Along with AppleScript, Kevin dabbles in HTML/CSS, Flash/ActionScript, and a bit of Python.

The Interview

Tell us about your experiences writing your first script. How did you begin using AppleScript?

It was actually suggested by a coworker. He dabbled in it himself in the past, and when we needed a network drive [mounted automatically] he suggested we look into AppleScript to accomplish the task. So I started asking around and browsing forums and pulled together what I had found. Of course, it didn't work the first 20 times or so (maybe a little exaggeration), but I was able to tweak it and make it work for what we needed.

Tell me about that script

The script's purpose is to mount student's Active Directory home folders when they log into a lab computer. The script mounts the network volume using "whoami" to identify the specific user's folder. Worked great, except when the volume was already mounted, it couldn't get the folder to come up because the mount part would get an error "already mounted". So then I did some more browsing, figured out how to put in a conditional to detect if the volume was already mounted, then act accordingly.

We changed it slightly soon after. We thought, "what if the user closes out that folder? Then they would have to manually browse to it again." So, I wrote a second script, which I will refer to as the alias script. The alias script runs on login, again with a conditional, and creates an alias to the volume mount script on the desktop. That way, the user just double clicks the icon labeled "Open Your Network Drive" or something to that effect, and it mounts the volume and opens the folder... or just opens the folder if the volume is already mounted.

What do you think about AppleScript as a language?

Thus far, I think AS as a language/tool has been very useful and relatively easy to pick up. The English-style writing of the language makes it easily accessible for someone who, like me, has done little more than dabble in code in the past.

So how did you go about picking it up then? Do you have any resources for the total newbie?

The first script, the Active Directory home folder script, was done through forum searches and personal contacts to get it working. After that, I picked up a couple books. Beginning AppleScript by Kochan (from Wrox), and AppleScript The Definitive Guide by Neuburg (from O'Reilly). After that, I mostly used the Guide for reference, and used the dictionary viewer.

What I like about AppleScript is how easily approachable it is. For the most part, the phrasing for the code makes sense. As an example: tell application "Finder" to ... is like writing a sentence, and little or no strange characters and such... no $ # ! ; : to remember what each do.

You're right some experts write AS with lots of symbols, for complex things, but for the most part it's straightforward English.

When I look at AS examples, it makes sense... when I look at other code examples it just looks like a printer error that threw up on my screen.

Have you ever run up against something weird or confusing in AppleScript?

Yes: sometimes in AS you start using shell commands, and that can get confusing. I'm not exactly sure how it works, but I noticed that folder path was completely different, and knowing which one to use in which case...

Mac HD:Users:... vs /Users/... ?

Yeah.

Usually the former goes with alias "" and the latter goes with POSIX file "".

Anyway, beyond its English-like syntax, is there anything else you really like about AppleScript?

I really like the fact that AppleScript is integrated into the OS, making it easy to manipulate other programs with it.

True: you can talk to the Finder, then go over there and talk to another program, then...

Exactly.

Where do you think AppleScript could improve?

I think one thing that would help a lot would be examples of code within the dictionary, rather than just telling you what it does.

Another thing that would help for us beginners is some kind of list of what AppleScript uses for object names such as: drawer; text field, window, and panel, and where each one is used.

In my opinion, it's all well and good to have each of those in a dictionary or whatever, but if you don't know what you are looking for to begin with... Basically, knowing a drawer is "drawer" or a Label is "text field"... or a Custom View (in interface builder) is "view" in AppleScript... maybe what I'm looking for is a list of each class, like window, drawer, text field, view, etc.

The verbs in the dictionary viewer are grouped with the nouns... maybe an easier way to see all the nouns, no matter what "suite" they are in?

Yes. For example, there was one feature that was pretty nice in ActionScript 2.0 that gave you "hints" and auto-completion options while typing the code. If I started typing "on" it would pop up a window beneath the cursor, without interrupting, with all commands that follow "on". So it would start listing "(release)" "(releaseOutside)" etc etc. and you could either just keep typing, use the mouse to select one, or if you just hit return, it would use the top option. The list would be refined as you typed. Then, once you start typing a command, such as "goto", it would pop up anything with "goto" in it... so would pick "gotoAndStop", THEN it popped up a little yellow "note" with context for the gotoAndStop like so "gotoAndStop (frame # or name)". This feature was rather handy for the beginner, 'cause the hints and contexts were given to you on the spot

XCode has Code Sense, which works for AppleScript too, but it's not that involved. Script Editor has a Script Assistant feature which is better, which might help if you're writing just scripts... Have you tried out any of the third party AppleScript tools, like Script Debugger or Smile or Facespan?

Not really. I was using Lingon at one point, but that was mostly just a tool to make a script run on login and work with Launchd.

What are your suggestions for new users?

I would say pick up some books, check your online resources and try to find someone you can chat with for those times you get stuck.

Acknowledgements and Resources

Well thank you for your time today, Kevin. For you and other people trying to learn AppleScript, let me suggest some resources to help you out with learning AppleScript.

First, MacTech's archives include almost 3 dozen articles from Benjamin Waldie, from http://automatedworkflows.com. His articles are outstanding, and run the gamut from beginner articles to scripting specific applications. MacTech's archives have other AppleScript articles too, ranging from recent to ancient history. All of these articles can be found on-line at http://www.mactech.com/articles

Secondly, and already mentioned in the interview, there are several really good AppleScript books out there: Beginning AppleScript by Kochan (from Wrox), and AppleScript The Definitive Guide by Neuburg (from O'Reilly) are the two we mentioned, but Apple Training Series: AppleScript 1-2-3, written by two essential members of the AppleScript community, is certainly one to watch out for (coming July 27, 2008). There are also two books at http://www.spiderworks.com: Danny Goodman's AppleScript Handbook OS X Edition; and AppleScripting the Finder (by Benjamin Waldie). Spiderworks also has several other books on AppleScript and Automator.

Ryan Wilcox is a long time language dabbler, including AppleScript, which he's been using since Mac OS 8. His company, Wilcox Development Solutions (http://www.wilcoxd.com) has long used AppleScript for workflow optimization. He can be reached at rwilcox@wilcoxd.com.

 
AAPL
$119.00
Apple Inc.
+1.40
MSFT
$47.75
Microsoft Corpora
+0.28
GOOG
$540.37
Google Inc.
-0.71

MacTech Search:
Community Search:

Software Updates via MacUpdate

Skype 7.2.0.412 - Voice-over-internet ph...
Skype allows you to talk to friends, family and co-workers across the Internet without the inconvenience of long distance telephone charges. Using peer-to-peer data transmission technology, Skype... Read more
HoudahSpot 3.9.6 - Advanced file search...
HoudahSpot is a powerful file search tool built upon MacOS X Spotlight. Spotlight unleashed Create detailed queries to locate the exact file you need Narrow down searches. Zero in on files Save... Read more
RapidWeaver 6.0.3 - Create template-base...
RapidWeaver is a next-generation Web design application to help you easily create professional-looking Web sites in minutes. No knowledge of complex code is required, RapidWeaver will take care of... Read more
iPhoto Library Manager 4.1.10 - Manage m...
iPhoto Library Manager lets you organize your photos into multiple iPhoto libraries. Separate your high school and college photos from your latest summer vacation pictures. Or keep some photo... Read more
iExplorer 3.5.1.9 - View and transfer al...
iExplorer is an iPhone browser for Mac lets you view the files on your iOS device. By using a drag and drop interface, you can quickly copy files and folders between your Mac and your iPhone or... Read more
MacUpdate Desktop 6.0.3 - Discover and i...
MacUpdate Desktop 6 brings seamless 1-click installs and version updates to your Mac. With a free MacUpdate account and MacUpdate Desktop 6, Mac users can now install almost any Mac app on macupdate.... Read more
SteerMouse 4.2.2 - Powerful third-party...
SteerMouse is an advanced driver for USB and Bluetooth mice. It also supports Apple Mighty Mouse very well. SteerMouse can assign various functions to buttons that Apple's software does not allow,... Read more
iMazing 1.1 - Complete iOS device manage...
iMazing (was DiskAid) is the ultimate iOS device manager with capabilities far beyond what iTunes offers. With iMazing and your iOS device (iPhone, iPad, or iPod), you can: Copy music to and from... Read more
PopChar X 7.0 - Floating window shows av...
PopChar X helps you get the most out of your font collection. With its crystal-clear interface, PopChar X provides a frustration-free way to access any font's special characters. Expanded... Read more
OneNote 15.4 - Free digital notebook fro...
OneNote is your very own digital notebook. With OneNote, you can capture that flash of genius, that moment of inspiration, or that list of errands that's too important to forget. Whether you're at... Read more

Latest Forum Discussions

See All

Lucha Amigos (Games)
Lucha Amigos 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Forget Ninja Turtles, and meet Wrestlers Turtles! Crazier, Spicier and…Bouncier! Sling carapaces of 7 Luchadores to knock all... | Read more »
Raby (Games)
Raby 1.0.3 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.3 (iTunes) Description: ***WARNING - Raby runs on: iPhone 5, iPhone 5C, iPhone 5S, iPhone 6, iPhone 6 Plus, iPad Mini Retina, iPad Mini 3, iPad 4, iPad Air,... | Read more »
Oddworld: Stranger's Wrath (Games)
Oddworld: Stranger's Wrath 1.0 Device: iOS Universal Category: Games Price: $5.99, Version: 1.0 (iTunes) Description: ** PLEASE NOTE: Oddworld Stranger's Wrath requires at least an iPhone 4S, iPad 2, iPad Mini or iPod Touch 5th gen... | Read more »
Bounce On Back (Games)
Bounce On Back 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Dwelp (Games)
Dwelp 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: === 50% off for a limited time, to celebrate release === Dwelp is an elegant little puzzler with a brand new game mechanic. To complete a... | Read more »
Make Way for Fat Chicken, from the Maker...
Make Way for Fat Chicken, from the Makers of Scrap Squad Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Relevant Games has announced they will be releasing their reverse tower defense game, | Read more »
Tripnary Review
Tripnary Review By Jennifer Allen on November 26th, 2014 Our Rating: :: TRAVEL BUCKET LISTiPhone App - Designed for the iPhone, compatible with the iPad Want to create a travel bucket list? Tripnary is a fun way to do exactly that... | Read more »
Ossian Studios’ RPG, The Shadow Sun, is...
Ossian Studios’ RPG, The Shadow Sun, is Now Available for $4.99 Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Mmmm, Tasty – Having the Angry Birds for...
The very first Angry Birds debuted on iOS back in 2009. When you sit back and tally up the number of Angry Birds games out there and the impact they’ve had on pop culture as a whole, you just need to ask yourself: “How would the birds taste... | Read more »
Rescue Quest Review
Rescue Quest Review By Jennifer Allen on November 26th, 2014 Our Rating: :: PATH BASED MATCH-3Universal App - Designed for iPhone and iPad Guide a wizard to safety by matching gems. Rescue Quest might not be an entirely original... | Read more »

Price Scanner via MacPrices.net

Apple Store Black Friday sale for 2014: $100...
BLACK FRIDAY The Apple Store has posted their Black Friday deals for 2014. Receive a $100 PRODUCT(RED) branded iTunes gift card with the purchase of select Macs, $50 with iPads, and $25 with iPods,... Read more
Black Friday: 15% off iTunes Gift Cards
Staples is offering 15% off $50 and $100 iTunes Gift Cards on their online store as part of their Black Friday sale. Click here for more information. Shipping is free. Best Buy is offering $100... Read more
BEVL Releases Dock Tailored for iPhone 6 and...
Seattle based BEVL has released their first product: an iPhone dock that is divergent in build quality, rock-solid function and visual simplicity to complement the iPhone. BEVL is now accepting... Read more
Black Friday: $150 off 13-inch Retina MacBook...
 Best Buy has 13-inch 2.6GHz Retina MacBook Pros on sale for $150 off MSRP on their online store as part of their Black Friday sale. Choose free shipping or free local store pickup (if available).... Read more
Black Friday: $300 off 15-inch Retina MacBook...
 B&H Photo has the new 2014 15″ Retina MacBook Pros on sale for $300 off MSRP as part of their Black Friday sale. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.2GHz Retina... Read more
Black Friday: Up to $140 off MacBook Airs, fr...
 B&H Photo has 2014 MacBook Airs on sale for up to $140 off MSRP as part of their Black Friday sale. Shipping is free, and B&H charges NY sales tax only: - 11″ 128GB MacBook Air: $799 $100... Read more
Black Friday: 13-inch 2.5GHz MacBook Pro on s...
 Best Buy has the 13″ 2.5GHz MacBook Pro on sale for $899.99 on their online store as part of their Black Friday sale. Choose free shipping or free instant local store pickup (if available). Their... Read more
Black Friday: 21-inch 1.4GHz iMac on sale for...
 Best Buy has the 21″ 1.4GHz iMac on sale for $899.99 on their online store as part of their Black Friday sale. Their price is $200 off MSRP. Choose free shipping or free local store pick up. Price... Read more
Black Friday iPad Air 2 sale prices, $100 off...
 Best Buy has iPad Air 2s on sale for $100 off MSRP on their online store for Black Friday. Choose free shipping or free local store pickup (if available). Sale prices available for online orders... Read more
2014 1.4GHz Mac mini on sale for $449, save $...
 B&H Photo has the new 1.4GHz Mac mini on sale for $449.99 including free shipping plus NY tax only. Their price is $50 off MSRP, and it’s the lowest price available for this new model. Adorama... Read more

Jobs Board

*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.