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
$100.96
Apple Inc.
-0.83
MSFT
$47.52
Microsoft Corpora
+0.84
GOOG
$596.08
Google Inc.
+6.81

MacTech Search:
Community Search:

Software Updates via MacUpdate

WhatRoute 1.13.0 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the... Read more
Chromium 37.0.2062.122 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. FreeSMUG-Free OpenSource Mac User Group build is... Read more
Attachment Tamer 3.1.14b9 - Take control...
Attachment Tamer gives you control over attachment handling in Apple Mail. It fixes the most annoying Apple Mail flaws, ensures compatibility with other email software, and allows you to set up how... Read more
Duplicate Annihilator 5.0 - Find and del...
Duplicate Annihilator takes on the time-consuming task of comparing the images in your iPhoto library using effective algorithms to make sure that no duplicate escapes. Duplicate Annihilator detects... Read more
jAlbum Pro 12.2 - Organize your digital...
jAlbum Pro has all the features you love in jAlbum, but comes with a commercial license. With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code!... Read more
jAlbum 12.2 - Create custom photo galler...
With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code! Beginner-friendly, with pro results Simply drag and drop photos into groups, choose a design... Read more
Quicken 2015 2.0.4 - Complete personal f...
Quicken 2015 helps you manage all your personal finances in one place, so you can see where you're spending and where you can save. Quicken automatically categorizes your financial transactions,... Read more
iMazing 1.0 - Complete iOS device manage...
iMazing (formerly 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... Read more
Xcode 6.0.1 - Integrated development env...
Apple Xcode is Apple Computer's integrated development environment (IDE) for OS X. The full Xcode package is free to ADC members and includes all the tools you need to create, debug, and optimize... Read more
Apple Safari 7.1 - Apple's Web brow...
Apple Safari in OS X Mavericks brings you all-new ways to find and enjoy the best of the web. It works with iCloud to give you a seamless browsing experience across all your devices. It looks out for... Read more

Latest Forum Discussions

See All

View Source – HTML, JavaScript and CSS...
View Source – HTML, JavaScript and CSS 1.0 Device: iOS Universal Category: Utilities Price: $.99, Version: 1.0 (iTunes) Description: View Source is an app plus an iOS 8 Safari extension that makes it easy to do one key web developer... | Read more »
Avenged Sevenfold’s Hail To The King: De...
Avenged Sevenfold’s Hail To The King: Deathbat is Coming to iOS on October 16th Posted by Jessica Fisher on September 19th, 2014 [ permalink ] Just in time for Halloween, on October 16 Avenged Sevenfold will be launching | Read more »
Talisman Has Gone Universal – Can Now be...
Talisman Has Gone Universal – Can Now be Played on the iPhone Posted by Jessica Fisher on September 19th, 2014 [ permalink ] | Read more »
Tap Army Review
Tap Army Review By Jennifer Allen on September 19th, 2014 Our Rating: :: SHOOT EM ALLUniversal App - Designed for iPhone and iPad Mindless but fun, Tap Army is a lane-based shooter that should help you relieve some stress.   | Read more »
Monsters! Volcanoes! Loot! Epic Island f...
Monsters! Volcanoes! Loot! | Read more »
Plunder Pirates: Tips, Tricks, Strategie...
Ahoy There, Seadogs: Interested in knowing our thoughts on all this plundering and pirating? Check out our Plunder Pirates Review! Have you just downloaded the rather enjoyable pirate-em-up Plunder Pirates and are in need of some assistance? Never... | Read more »
Goat Simulator Review
Goat Simulator Review By Lee Hamlet on September 19th, 2014 Our Rating: :: THE GRUFFEST OF BILLY GOATSUniversal App - Designed for iPhone and iPad Unleash chaos as a grumpy goat in this humorous but short-lived casual game.   | Read more »
A New and Improved Wunderlist is Here fo...
A New and Improved Wunderlist is Here for iOS 8 Posted by Jessica Fisher on September 19th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Evernote Update for iOS 8 Adds Web Clipp...
Evernote Update for iOS 8 Adds Web Clipping, Quick Notes, and More Posted by Ellis Spice on September 19th, 2014 [ permalink ] | Read more »
Apple Names Ultimate Productivity Bundl...
Apple Names Ultimate Productivity Bundle by Readdle as the Essential Bundle on the App Store Posted by Jessica Fisher on September 19th, 2014 [ permalink | Read more »

Price Scanner via MacPrices.net

Mac Pros available for up to $260 off MSRP
Adorama has Mac Pros on sale for up to $260 off MSRP. Shipping is free, and Adorama charges sales tax in NY & NJ only: - 4-core Mac Pro: $2839.99, $160 off MSRP - 6-core Mac Pro: $3739.99, $260... Read more
13-inch 2.6GHz/256GB Retina MacBook Pros avai...
B&H Photo has the 13″ 2.6GHz/256GB Retina MacBook Pro on sale for $1379 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Previous-generation 15-inch 2.0GHz Retina Mac...
B&H Photo has leftover previous-generation 15″ 2.0GHz Retina MacBook Pros now available for $1599 including free shipping plus NY sales tax only. Their price is $400 off original MSRP. B&H... Read more
21″ 2.7GHz iMac available for $1179, save $12...
Adorama has 21″ 2.7GHz Hawell iMacs on sale for $1179.99 including free shipping. Their price is $120 off MSRP. NY and NJ sales tax only. Read more
iOS 8 Adoption Rate Slower than iOS 7, 6, Hit...
Apple began pushing out iOS 8 updates to eligible devices around 1pm ET on September 17, 2014. However, unlike with iOS 7, which boasted a wide variety of differences from its predecessor iOS 6, in... Read more
LIkely Final Definitive OS X 10.9.5 Mavericks...
Apple has released what will almost certainly be the last incremental version number update of OS X 10.9 Mavericks (save for futire security updates) before OS X 10.10 Yosemite is released next month... Read more
Fingerprints, Apple Pay and Identity Theft Wa...
On Sep 9th, CEO Tim Cook unveiled Apple Pay, along with the new iPhone 6 and iWatch. Apple Pay is a newly developed technology that utilizes a near field communication (NFC) to enable customer... Read more
Amazon Introduces Two All-New Kindles
Amazon on Thursday introduced the 7th generation of its Kindle dedicated e-reader device: Kindle Voyage, its top-of-the-line e-reader, and the new $79 Kindle, with a 20% faster processor, twice the... Read more
Save up to $300 on the price of a new Mac wit...
Purchase a new Mac or iPad at The Apple Store for Education and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free,... Read more
13-inch 2.8GHz Retina MacBook Pro available f...
B&H Photo has the new 2014 13″ 2.8GHz Retina MacBook Pro on sale for $1699.99 including free shipping plus NY sales tax only. They’ll also include free copies of Parallels Desktop and LoJack for... Read more

Jobs Board

Project Manager, *Apple* Financial Services...
**Job Summary** Apple Financial Services (AFS) offers consumers, businesses and educational institutions ways to finance Apple purchases. We work with national and 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* 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* 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* 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
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.