This article originally appeared in TidBITS on 2017-01-19 at 6:47 p.m.
The permanent URL for this article is:
Include images: Off

73 Mac Automation Stories from TidBITS Readers

by Adam C. Engst

With Apple making some moves that seem to indicate a waning interest in user automation technologies, we asked you to tell us how you rely on automation to get your work done (see “Tell Us Your Mac Automation Stories [1],” 7 January 2017). The stories poured in, and you can now read about the amazing things that fellow TidBITS readers have accomplished with AppleScript, Automator, and the many other automation technologies available to Mac users. It’s a lot, so don’t feel the need to do it all at once.

I’ll send these to Apple’s Tim Cook and Craig Federighi as well so they can see just how important automation is to the future of the Mac. And just to bring up how constantly I turn to automation tools, the start of each story below was formatted with a single grep search in BBEdit [2], saving me at least 10 minutes.

On to the stories! I’ve edited them lightly for typos, consistency, and length, and I’ve added links to all the apps mentioned to highlight which apps have become cornerstones of automation systems.

Wooster -- Automator is one of my favorite utility apps. It’s pure magic how I can get Apple and third party apps to collaborate to do just about anything.

For instance, I can have the Finder duplicate/rename 300 screenshots, send them to Pixelmator [3] to crop, and then tap Transmit [4] to upload them to my server. It’s a pain in the neck to do it by hand and honestly, it’s nothing short of magical having all these apps work together to complete my task for me.

Tommy Weir -- I have a custom naming approach for all files on my system. And every year, they are sorted into relevant groups and archived using the Automator actions provided by the developers of DEVONthink Pro Office [5].

It’s a simple thing: a folder is monitored and files are imported and tagged. But most important is the knowledge that the organisation is done and it’s consistent year in and year out. I can’t tell you what that means for my peace of mind in my business. Two other examples:

Chuck Shotton -- In a nutshell, most of the Web industry on the Mac in the early days of the Internet would not have existed if not for Sal’s work with AppleScript, AppleEvents, scriptability/recordability of applications, AppleEvent Dictionaries, the Script Editor, and the concept of scripts as runnable applications. Every external extension created for MacHTTP [8] or WebSTAR [9], Userland Frontier [10], and all of the other HTTP servers on the Mac depended exclusively on these technologies.

It was how applications talked. It’s still how they should talk, but Apple seems to have never embraced it as they should have. Even the newest incarnation of MacHTTP, MacHTTP-js [11], depends on a slew of AppleEvents to do its job. Let’s hope this great legacy isn’t lost just because it doesn’t work on iOS.

Anthony Reimer -- I use AppleScript and Automator for automating actions in the Finder. Some common things I have created that I use at work are:

I also use these automation technologies to integrate with FileMaker Pro [12]. For instance, I’ve written a solution that exports text data from FileMaker to a file, has BBEdit [13] clean it up, and then uploads that edited file to a Web site using Fetch [14]. AppleScript and FileMaker scripting can make this a single step for the user.

The Mac Admin community is all about automation for both the efficiency that comes from it and the consistency of result. While Python and shell scripting are core to that automation, I still put Automator and AppleScript to use on a regular basis.

Anonymous -- For the past 16 years, I’ve done financials based on a series of companies approximately 15 times per year. The workflow I’ve created reduces 21 pages of reports to a readable 4 page and about 90 minutes of my time to 20. That’s roughly 16 * 15 * (90-20) = 16,800 minutes or 280 hours or 35 work days or 7 work weeks of my life.

That’s time spent with family, time doing other work things, and time that I am not simply throwing down the hole of pointing and clicking. Thank you for HyperCard [15], AppleScript, Automator, and anything else Apple can provide to give me more time!

Rob Wells -- I work at a small newspaper, and we depend on AppleScript.

The most important is an AppleScript that creates working pages from a master InDesign [16] file. It applies the right styles, sets the date of the edition on each page, sets the page numbers, and saves a copy to disk with an appropriate, dated filename.

It was written almost five years ago and has prevented many mistakes, not least with incorrect dates going to print! Previously staff would duplicate an old page — risky for many reasons.

On the other end, we use AppleScript to reliably produce the PDF files for use by our printers, custom settings and all.

Other things we’ve done with AppleScript include scripting BBEdit [17] to fix common mistakes in stories; retrieving and setting weather forecasts, TV listings, football fixtures and scores; and creating the barcode (and checking that it is correct — an occasionally major problem before). Anyone is welcome to use our code [18].

That’s just AppleScript. Most our newer tools are written in Python with an AppleScript interface. And there are all sorts of things we do with Hazel [19] and Python scripts run as launch agents (through Lingon [20]).

Our newsroom is an all-Mac office, and on occasion a member of staff has suggested buying cheaper Windows machines. Alongside the longevity of Macs (most of ours are almost 10 years old), automation is always the big reason I give for why we would be worse off.

My understanding is that bigger newspapers have software written for them to handle this stuff, which we could never afford. Mac automation technologies have enabled us to do it ourselves in-house.

Mike Warren -- I’m so old I remember when the whole reason for having a computer was automation. I consider AppleScript a programming language. I’ve created programs for record keeping, budgeting, a foreign language dictionary, and flash cards. I use AppleScript for a daily email message to my partner (it pulls info from flat-file databases and Calendar, assembles a message, sends it via Mail, and saves it as my Safari home page. I have so many little scripts and Keyboard Maestro [21] macros that I feel helpless when I have to use someone else’s Mac.

Daniel -- Keyboard Maestro [22], with an accompanying mix of AppleScript and shell scripts, is a wonderful glue for Web applications that lack APIs. After a recent migration between institutional repositories (for academic publishing) hundreds of full-text files were missing because of a bug in the new system’s import script. There were no APIs for uploading new files to existing records in the system, and some manual steps were required in the upload form, but the automation tools allowed me to reduce each process from maybe 30 error-prone clicks in both of the applications and Finder to about three clicks per record. It saved me several hours of tedious work.

Another error in the same migration required me to verify the order of attached files in both of the systems, also for a few hundred items. Thanks to automation I could, with a single keyboard shortcut, navigate to the next item in a list of IDs, find the record in both of the systems, then open all attachments in order in new windows and tile them on the screen in two columns allowing me to see differences at a glance. If they were in order, a new click moved me to the next item, or else I could handle the error before moving on.

Thomas Tempelmann -- As a developer (for apps such as Find Any File [23], iClip [24] and iBored [25]), I recently started using Automator and AppleScript to assist my customers when they have some technical troubles and are not too computer-savvy. I have scripts to collect files I need to look at; fetch system information; email them to me; or copy, move and delete files to fix some of their setups.

And just the other day I used AppleScript to verify a slow memory leak in one of my apps, which required thousands of mouse moves. With AppleScript, it took me 15 minutes to write the code and then have it perform its task for about 1 hour to cause the issue that otherwise took users days or even weeks to run into. A few hours later, and I managed to identify and fix one of the most obscure bugs I had for a long time in my app.

Also, I’m happy to have spent the money on Script Debugger [26], which makes writing AppleScripts much less of a pain!

gastropod -- Currently my main automation use is somewhat indirect. I’ve found MailTags [27] and Mail Act-On [28] to be indispensable. They do a lot of automating for me by greatly expanding the filter tests and actions available, and by allowing for single key actions such as moving selected messages to a folder without having to drag through the folder tree. Since I run a majordomo [29] server and several mailing lists, intricate mail sorting is a lifesaver.

In the past, I used QuicKeys [30] to remap the keyboard and add macros to music software such as Finale [31]. It saved me hours a week and a lot of frustration.

I’m planning to dive into Keyboard Maestro [32] soon, partly to improve the train wreck of modern Finder window handling, which costs me at least an hour a week in getting windows back where they’re supposed to be.

I almost forgot about the services I created with Automator a few years ago to do routine EXIF handling. Automator calls on ExifTool [33] to show all metadata in BBEdit [34], strip all metadata, strip all but a few EXIF/IPTC fields, alter GPS data, and more. Not only do these services save some effort, they also save the time it takes to periodically check the ExifTool docs, since it has so many options that I can never remember them. It’s also much easier than the command line to do things to an ad hoc file selection.

Naomi Pearce -- Early in the days of Automator, Sal made a comment, something about it changing the way applications work together such that you didn’t have to learn the application, just find the action for the task you wanted it to perform. I looked at him sideways and thought, “Yeah, right, okay buddy.”

Some time later, I had worked on a proposal for several days (days because it involved a fair amount of PR 101 that had been requested), finished it, printed it to PDF, and sent it off. I followed up on it the next day and Andy Taylor of MacSpeech, Inc. said yes, he’d received the executive summary and looked forward to the rest of it. Wait, what?!

Print to PDF was something one took for granted, particularly from Word, but when I opened the document, sure enough, it had not printed the whole document to PDF, just the first page. I could get it to print page 1, or print from page 2 on, but not the whole document. Minutes were ticking by, and panic ensued. I was screwed. Or was I?

I remembered what Sal had said about Automator and fired it up. I clicked on Workflow to create a workflow. I used the search and found an action to combine PDF pages and dragged it over. Clearly, it needed to know what PDF pages to use to combine, so I found an action to Get Specified Finder Items and dragged it on top to make that happen first. Then I found an action to open the result so I could see it (Open Finder Items, I think it was called), and dragged that action below Combine PDF Pages. That’s all I could think of needing to do, so I dragged the page-1-only document and page-2-on document into the first action and hit Run.

Less than 15 minutes after I first thought “What?!,” I’d solved my problem, just like magic.

And I never did learn the applications or figure out what went wrong. I just found the actions for what I wanted to do, as Sal had said. I’ll be darned. Wow! Only on a Mac.

Walt Jump -- I use Automator routinely to download specific files from government databases, rename them, and move them to specific folders for use by my FileMaker [35] databases. This saves me at least 1–2 hours a day. I also use a program by someone who accesses the U.S. Patent and Trademark Office databases and provides one file for data obtained from multiple databases by the use of AppleScript and Automator.

Douglas Mobley -- The museum where I volunteer has a project to digitize old newspapers to aid the searching of them. The workflow, in simplistic terms, consists of photographing each page, processing the pages through Photoshop [36], and finally OCRing the images into newspaper issues. I had been using Photoshop actions to automate one step of the process, but I was able to improve my productivity (measured as pages completed per hour) by more than 50 percent in the last year, using AppleScript to automate the workflow. Creation of folders and renaming of files is handled by AppleScript control of Finder, and the processing of the page images through Photoshop is handled with AppleScript. I have also used Automator to record and then understand what system events to include in my AppleScript.

Jeff Porten -- I think I’ve been writing AppleScripts for as long as the language has existed, and I’ve done a great deal of professional consulting doing one-off AppleScripts for my clients. I’d be lost without it. My most common use cases are:

  1. An AppleScript that cleans up and organizes my Desktop icons according to a custom grid, grouping them by color tag.

  2. When I have a group of files to read or movies to watch, I have a randomizer that picks “some item in the current folder.”

  3. Applying keyboard shortcuts to any application that’s missing one. I have dozens of one-line AppleScripts mapped to Quicksilver launch keys, so I can hit Control-Command-3 and label a Finder item yellow. (Then there’s “Comment and label yellow,” which uses the yellow label to remind me that an item has a Finder comment.)

Rob Lewis -- I’ve used Macs since 1986, and our family has owned more than 15, along with assorted iPods and iPhones. With Apple’s recent neglect of the Mac lineup, AppleScript is pretty much my last remaining reason to stay loyal: if AppleScript disappears, there’s little reason for me to stay on the reservation. And if my computer isn’t a Mac, there’s not much reason for my next phone to be an iPhone. I’m frankly very worried. There are so many signs that Apple has lost its soul chasing shiny iObjects.

I have a fairly elaborate home automation system based on AppleScript and the XTension [37] program. I love how it makes it easy to control and modify the behavior of the system. I’ve thought for years that an enhanced version of Automator could finally — finally! — make home automation accessible to mere mortals. In my opinion, this is a gigantic missed opportunity for Apple.

Chris Schram -- I have several Photos libraries on two different disks. I use an Automator app, with a bit of embedded AppleScript, to wrangle these libraries and let me select which one to open.

I use AppleScript to collect the data from my weather station and upload it to my Web space. It’s more reliable than the software that came with the station. I also use AppleScript to massage the weather data and import it into a Numbers spreadsheet.

Jake -- I book several music venues in New York City. I book 100–200 acts per month. I rely heavily on automation, mostly with Keyboard Maestro [38], AppleScript, a bit of Automator, and TextExpander [39]. I’ve also started using BetterTouchTool [40] to create app-specific Touch Bar buttons that trigger my AppleScripts. For those in doubt about the Touch Bar, I find it to be the best tool Apple has come out with in years. It’s an amazing launcher for all my macros, and I have many!

I have actions that add confirmed events to the calendar (BusyCal [41]), send confirmation emails at specific dates/times (much of which is because of a powerful command-line utility called iCalBuddy [42]), resize and reformat images automatically, update Web calendars with band descriptions, pictures, links, etc. Basically everything I do relies on Mac automation in one form or another. It turns hours of work into minutes and allows more music to happen in New York.

For me, automation is the best part of using a Mac!

Jon Gotow -- Another developer chiming in here (I’m the author of Default Folder X [43], App Tamer [44], Jettison [45], HistoryHound [46], and a bunch of other stuff going back nearly 30 years). I use AppleScript in three primary ways:

  1. For automating processes in my own business, including email parsing and message handling, and software development and testing.

  2. For customer support, sending AppleScript applets to customers to help them fix problems or collect debugging information. Having someone run an AppleScript is far more reliable than trying to walk them through a set of steps.

  3. Integrating my software with other developers’ products. As an example, Default Folder X can detect when Path Finder [47], a popular Finder substitute, is running and ask it to perform various tasks instead of the Finder — which is exactly what Path Finder users want it to do. That wouldn’t be possible (or would be much harder) without AppleScript.

DeeAnne Lau -- AppleScript is used in many of the programs that I use! I use it to tailor my spam controller program, SpamSieve [48]. I have a repetitive motion injury plus a pinched nerve in my neck. Being able to use scripts to control the Finder and Web actions has saved me from much pain. I use A Better Finder Rename [49] applets with Automator to make contextual services that can be triggered by keystrokes. I also use Script Debugger [50] to help me understand the underlying aspects of scripts as I compile them and look for problems. I still rely on some of Doug’s AppleScripts for iTunes [51] to do things in that (frustrating) program. I use Hazel [52] to manage organization of my downloads and printer folders. I am retired, but I still use my Mac for financial management, communications, learning, and recreation. I rely a lot on AppleScript and Automator.

paule -- I use Automator to do mass renamings of files of photos I take for my son’s football team.

I estimated once that using Automator saves me about 45 minutes per week — and reduces the error count to zero. Over 14 rounds of footy, that’s nearly 11 hours of saved effort.

I know I could write a shell script to do the same thing, but Automator makes it easy for me to do — it’s been over a decade since I last wrote a shell script!

Felix Deimel -- I’m using parts of AppleScript to allow users of my professional remote management app, Royal TSX [53], to automate keyboard input. This can range from having a password automatically entered to complex scripts that inject values from their associated connections or credentials.

The macOS 10.12.2 update made this completely unreliable as uppercase characters or special characters appearing anywhere in the text can completely mess up the casing. Sometimes it’s correct, but it’s completely unpredictable and the frequency of errors is very high.

I’ve posted a radar and TSI about this but have yet to hear back from Apple. Here’s a copy of the bug report [54]. One of my customers posted a +1 report as well [55]. If anyone here is affected by it as well, I’d appreciate you “duplicating” my radar.

Coincidentally this bug started to appear just around the time Sal left. Make of that what you will.

Jean-Pierre SMITH -- I am not a coder. I know of the existence of Automator, AppleScript, JavaScript, shell scripts, and other bizarre animals but am not knowledgeable at writing them. But I find using them to be useful, fun, and good for my marriage.

When I decided to implement bootable clones for backup, I attached all the hard drives to my wife’s iMac and set up cloning from my MacBook Pro by authenticated traffic. This gives comfort and protection against ransomware affecting the MacBook Pro. I had the disks mounted and making noise all day. My wife rightfully pointed to noise and energy bill: a perspective for divorce.

But my MacBook Pro’s clones are all sitting attached to the iMac, away from Carbon Copy Cloner [56] and its easy-to-use automation tools. So I found on the Internet AppleScripts that could mount and eject disks, adapted them to my needs and, triggered them via the timer software (Task Till Dawn [57]). Thus, these drives are only mounted and making noise for one hour per day, around midnight. Marriage saved! Thank you, AppleScript!

Andy Lietz -- We’re a prepress and printing house, and we use AppleScript all the time to automatically typeset and alter layouts in InDesign [58] with data from Excel [59] and FileMaker [60]. AppleScript is the glue that binds it all together and one of the major reasons we’re on the Mac. But as a programming language, AppleScript feels more and more old-fashioned now compared to, say, Python or Ruby.

I’ve met Sal at Macworld Expo and particularly admire him for persuading Adobe to put good AppleScript support into InDesign. It’s very sad to see him (and, it seems, Apple’s support for automation) leave the company.

Bill Cheeseman -- I was a trial lawyer specializing in major environmental, financial, and intellectual property litigation in a large law firm. I used AppleScript regularly to assemble relevant information from a variety of sources and organize it in complex, standardized spreadsheets for analysis, giving me a major advantage over my opponents.

Kimball Kramer -- I am a keyboard person. I have over 200 services/workflows with keyboard shortcuts that open Web sites, open applications, open documents, open windows, replace menu bar clicks, and more. In a more limited way, I also use both QuicKeys [61] and yKey [62].

Charles Butcher -- For me, AppleScript as a way for non-programmers to tie applications together is probably the most important differentiator for macOS. I’ve been loyal to Apple since my first Quadra 800, but if the company abandons AppleScript, I’ll probably move to Windows or plain UNIX.

I run my freelance business on FileMaker Pro [63]. AppleScript lets me create calendar events and to-dos straight from FileMaker, use BBEdit [64] to clean up text from within another application, scan and OCR documents straight to DEVONthink [65], and a host of other small tasks that over the years must have saved me many hundreds of hours.

Sure, AppleScript can be a pain to write, and I’ve never got on with Automator. But the fact that so many apps support AppleScript, even if only in limited or idiosyncratic ways, is a real achievement. People say the Mac has been “dumbed down”; I’ve been OK with this so far, but losing AppleScript would be a big blow to professionals.

John Cooper -- I use Keyboard Maestro [66] for window management, application launching, and text expansion, and A Better Finder Rename [67] for mass renaming of files. I probably use automation a lot less than I could, but if Keyboard Maestro [68] in particular were to go away (because the technology underlying it becomes unavailable), that might be the nail in the coffin for my use of the Mac, frankly.

Frank Remsen -- I have built a few amazing scripts to automate a lot of my InDesign [69] work, which helps me separate my design files to PDF and then upload them via Transmit [70] to an FTP server. I have many more scripts that help me post content to my blog via AppleScript automatically while I sleep. I have scripts that create tags for T-shirts I create and sell online. AppleScript is an indispensable technology, and it needs to stay in the Mac OS. I have also created a petition to save AppleScript.

David -- I’ve been using AppleScript to automate all sort of things for a very long time. I am in academia, so I’ve mostly developed scripts to automate or help with my teaching and record keeping.

Initially, with Excel [72], I created a script that would create a spreadsheet formatted and with all the formulas to compute grades, putting the precise dates I would teach excluding the holidays. And this would be created by me just copying the Web page containing the roster of students for the course.

Then, to take attendance, I would use a script that would prompt me with the student name and I would just say “present” or “not here” to have the appropriate mark entered in the sheet. Macs have had the ability to work with voice commands I believe since System 7.5 (my earliest Mac OS version) via the SpeechRecognitionServer.

Same thing would work for entering grades (my office mate decided on a Mac after witnessing me doing both the grades and attendance).

After that, I would create for each student a Web page with their record. I could have 1000 students and the pages would be created in a flash.

I would then FTP (using the Terminal app) to my site and name every file according to their location.

Then, to enter grades in the brain-dead software the college uses to get student grades, I used AppleScript with Safari and JavaScript to automatically enter grades, attendance status, and last class attended by reading the Excel spreadsheet data.

Here’s another example. At the college, the Math Department was at one point creating final exams for remedial level courses by getting questions from a Microsoft Word [73] document containing 2000+ problems.

This document was divided into various sections, and the exams were made by randomly selecting one question from each section. It was a long and laborious process. I was asked to help automate the process, and from then on we would get all seven exams for a semester created in less than a minute. They would come already formatted ready for printing.

Using Satimage’s AppleScript-based development tool Smile [74], I have created various QuickTime movies that help me with teaching pre-calculus trigonometry, calculus differentiation and integration, statistics distribution, and more.

I have created mathematical libraries for all kinds of mathematics operations, including matrix algebra and a statistics library to help me teach Statistics — my solution is much faster and easier to access than R or other scientific software.

And that’s just the big stuff. Here are a few of my more mundane automations:

Mac automation is the single most important reason I use Macs. Most of my extended family now uses Mac because of me.

So, yes, Apple should support Mac automation, because each automation user brings in many others.

rufus -- I am an avid home personal weather hobbyist. WeatherCat [76], the Mac software I and thousands of others use, has many AppleScripts built in. Many of us write scripts to enhance automated transmission of weather data to eight international weather gathering organizations, including the National Weather Service. Other Macintosh weather app developers also rely on AppleScript to enhance their products. Apple prides itself on being user-customizable. Automator and AppleScript are the main reason this is possible.

Mark Bernstein -- As a software designer, I rely every day on complex, scripted behaviors that coordinate multiple applications.

Rob -- I use Automator and folder actions a lot. Automator enables me to add batch capabilities to Photos and extend its usefulness now that it is replacing Aperture. I also use AppleScripts to organize email.

But much of my automation is now done with IFTTT [77], which works particularly well with smart home products and Amazon Echo. I find it amazing (and so, so sad) that while that IFTTT and similar online automation products are gaining traction, Apple is apparently headed in the other direction.

Gavin Eadie -- Wow — so many responses! I use AppleScripts for various Finder conveniences.

One I rely on daily creates an alias, on the Desktop, to a new folder created in Dropbox every midnight. The folder is named with the date, and each day I drop any new material I want to keep into that “today” folder. The script is kicked off by launchd at midnight and every time I log in.

I suspect I wouldn’t have the personal rigor to do this manually every day. Having set this up 14 years ago (Dropbox added more recently), I rely on its convenience and the historical record it provides.

Aaron Priven -- Without automation, we couldn’t do all kinds of the work we do at AC Transit [78] creating bus stop signs and schedules.

Having said that, I would love to stop using AppleScript and use either Adobe’s JavaScript implementation, where we’re just scripting Adobe apps, or Apple’s JavaScript for Applications, where we’re also scripting other apps. AppleScript, the language (as opposed to AppleEvents and the other underlying technologies), is really hard to work with.

Polly -- I used to use AppleScript plus Extra Script to control the mouse by voice. I could single-, double-, and right-click without touching the mouse, which was tremendously helpful when my arms ached!

Steve Cunningham -- I think it is a fool’s errand to address any comments to current Apple management. From their actions alone, Occam’s Razor suggests that they are phasing out the Mac no matter what they say. The writing is on the wall. That said, AppleScript is one of the main reasons I own a Mac. I have written hundreds of scripts to make my life easier. Two I would pick to highlight are a Software Marketing and Tracking System and a Dead Man Monitoring System.

The Software Marketing and Tracking System uses AppleScript, FileMaker [79], and Mail to automatically track software trials, purchases, channels of distribution, etc. Incoming emails are automatically processed to log purchases, issue serial numbers, create a customer database, and track trial installations. The whole system is driven by email arrivals and requires no manual intervention. This has saved man-years of manual effort.

The Dead Man Monitoring system is for a paralyzed patient who cannot communicate. It guarantees that help will be summoned if someone doesn’t enter the patient’s room every 2 hours. Since I am the sole caregiver, if anything were to happen to me the patient would die of dehydration before anyone found her.

The system uses a motion-sensitive camera to track entrances and exits from the patient’s room. When detected, the camera places a message in a folder which triggers the Monitoring script to log it and reset the Dead Man Counter. The Monitoring script also runs automatically every 2 hours and, if there has been no activity, initiates a series of alarms and notifications, first locally and then to a list of external responders. A schedule for which hours are monitored during the day can be set and changed as well as the list of responders. Everything is done with AppleScript. The system runs on a UPS-protected Mac mini and uses Launch Agents to monitor itself for failures.

joecab -- The New York Times used to have this old, creaky QuarkXPress plug-in to typeset their crossword grids from some company overseas that went out of business and left them high and dry. People at the Times knew I was a Mac and puzzle guy, so they consulted with me and I said I could come up with a replacement rather quickly using AppleScript.

Now the scripts I wrote are used to typeset all their print puzzles, upload PDFs to FTP servers for proofreading, and export various electronic versions for online solving. I never could have done it without AppleScript (and the terrific Script Debugger [80]) so, many thanks, Sal!

Colin Bay -- I have a mailing list digest I get nearly every day. When it comes in, I use an AppleScript (launched with a hotkey via Spark [81]) to process the text to remove gremlins, replace annoying URLdefender URLs with real ones, serialize the file name, and save it in a consistent folder.

I could do this by hand in a couple of minutes, but would I every single day? Nope. I love AppleScript.

Nicholas Orr -- I use AppleScript and Automator to package up an app I sell, which itself includes UI automation via AppleScript. All of the copying of files and putting things in the right places couldn’t work without all the long history of automation amongst multiple apps and the operating system.

Jim Neumann -- I have AppleScripted professionally for 15+ years. From simple tasks to chaining scripts together in workflows to run entire departments, it has proven its worth again and again. Our apps, DEVONthink Pro Office [82] and DEVONagent Pro [83], also have robust AppleScript dictionaries that allow our clients to extend and enhance their own experience. We are big fans of automation at DEVONtechnologies!

Greg C -- I have done a ton of automated stuff over the years. My favourite, but not that impressive, was converting 1400+ files from Excel [84] into a Web help system. Half a day of scripting and about an hour of runtime and the whole thing was finished.

That’s kind of the point. If you can’t automate tasks, then it ceases to be a computer. I have no great love of AppleScript, but I do think the creation of Apple events was a truly great innovation.

My hope is that Swift will provide a way to work directly with Apple events, without resorting to horrid workarounds. The sooner the better.

Nick Morris -- Although I am not a huge fan of AppleScript (I find the syntax annoying and at times impenetrable — I also don’t like the lack of good debugging tools) I have nonetheless used it, and Automator, for years for a wide range of tasks.

At present, I use a combination of AppleScript and Automator to blog from my Mac and to produce ebooks. I have scripts and folder actions that:

One of the most fun scripts I had (adapted from one I found on the Internet) automated Keynote [88] to send out a tweet when a slide was shown. The tweet contained the text in the speaker notes for the slide. This script caused a lot of confusion as the audience couldn’t work out how I was presenting and tweeting at the same time!

Carlos -- I’ve saved hundreds of hours every year by using AppleScript every day via apps that rely on it or Keyboard Maestro [89], Automator, Hazel [90] and Default Folder X [91].

I’m a photographer and one of my favorite workflows involves launching an application called PostHaste [92] every time I insert an SD card containing fresh photos in my Mac. My workflow automatically creates a folder on the server that is named with the contents of the clipboard, previously copied from the latest event in my calendar. After that, a new Finder window reveals the newly created folder, with Image Capture appearing next to it so I can drag and drop the new photos into the new folder window. Hazel [93] then automatically renames the photos.

Patricia Pfitsch -- My husband and I run a small transcription business. Our clients are production companies who send us raw film footage they’ve taken for documentaries. We create a written transcript of the film by transcribing what they hear and see, after which we send the transcript to the client. Our clients are usually under a tight deadline so it’s crucial that we can create the transcript fast — often we need to transcribe hours of film and get the transcripts to the client within a 12-hour period. That kind of speed depends on using AppleScript to create shortcuts for names and other words and phrases that are repeated continually in the dialogue. (You’d be amazed at how many times people say ‘you know’ in conversation.) We also use AppleScript to start and stop the film while we’re transcribing. AppleScript is the key to our success — without it, we’d be out of business!

Brian Christmas -- For the last nine years, I’ve been building a large app called Mail Manager that processes incoming artwork from any artwork app. It prints a sheet to monitor factory progress, adds two barcodes and two text fields to each image, then prints each piece of artwork at 100 percent accuracy. It also triple saves (for redundancy purposes), each file before and after printing. These images are used to make metal or plastic printing dies, including the Seal of the President of the United States.

All this runs on a top-of-the-line iMac and relies on AppleScript/Objective-C libraries in Xcode.

Emmanuel Levy -- We at Quomodo [94] have developed a Web hosting environment that relies on XML and AppleScript instead of the more commonly used MySQL and PHP. The main advantage is that XML is both the database language and the Web page language. Thanks to that environment, we are able to develop enhancements and new features way faster and more freely than if we used the usual MySQL/PHP framework. A specific — yet, very simple — CGI sends the HTTP requests to our AppleScript hub (Smile [95]), which in turn sends the hard stuff to some OSAX (mainly XMLLib.osax). A herd of Smile apps handles up to 100 requests per second.

Our DIY Web site system works wonderfully for 50,000+ sites maintained by 100,000+ admins.

William Adams -- I have written scripts which Olav Martin Kvern [96] declared to be impossible. These scripts have enabled me to do creative and production work at a speed that makes it possible for my company to win bids and remain profitable. If the Mac loses AppleScript, we will be forced to use other tools that provide the level of control needed to afford the sort of automation which we need to be competitive.

Rob Lewis -- When the popular contact manager Now Contact was discontinued some years ago, I was able to create an AppleScript to export its contact files to Apple’s Address Book (now called Contacts). It is a commercial product that does a much better job than any other solution, and I still get requests for it.

And when I switched from my previous note manager to Evernote [97], I wrote an AppleScript that transferred my old notes, nicely categorized.

I’ve also used AppleScript with OmniGraffle [98] to print custom serialized and bar-coded labels, and with Excel [99] to calculate and print specialized scales for liquid measurement.

Mark Leslie -- I work for a global sports apparel brand, and we could not match the speed of the marketplace without AppleScript and macOS automation technologies.

Many years ago, when we first implemented large automated workflows, we absorbed two successive years of 20+ percent increases in product SKUs without the need to scale up existing production art team staffing. Not only that, but the very significant decreases in user errors (typos, component placement, file naming) reduced previously typical rework while freeing proofing efforts to be more focused on essential product details.

In all aspects of our business — product creation, preparation of manufacturing visual spec documents, color management, merchandising materials/catalogs, product photography — AppleScript and deep cross-application connections drive our capabilities. Data from corporate data stores are piped to drive workflows and assign metadata attributes to assets. We use hot folders on servers to drive macOS purpose-built “appliances” running as asset creation engines. Assets created in this way are then transferred to other servers for delivery to another art team.

With everything we have in place and all the successes we have achieved, we still regularly discover new opportunities for automation. I can’t foresee any end to how we can harness the deep reach and power of AppleScript, Apple events, and scriptable applications.

Laine -- I got tired of notifications of software agreements when mounting disk images, so I wrote a script to remove them [100].

Chip Patterson -- We use AppleScript in our business every day. We have several scripts to make daily tasks more efficient, and this has led to 25 percent of our company using MacBooks instead of Dells. If support for AppleScript were to become weak, we might well lose the fight to increase Mac use in our business. It’s crucial to the ease-of-use and utility arguments.

Jim Royal -- I’ve used AppleScript for a large number of diverse tasks:

And there are probably others I’ve forgotten. AppleScript is indispensable.

Simon Bowler -- I used AppleScript to automate a range of tasks associated with a medical practice using FileMaker [104]. AppleScript is almost unique in the way it allows variables and data from a number of programs/sources to be parsed and inserted into apps like FileMaker.

Carlos -- My most used automation function is text-to-audio. Just about all applications support it via Services. I use it because my dyslexia makes it hard for me to read. Having the computer read me the text while I follow along helps out SO MUCH!

David Ohman -- I’m the Vice President of Digital Product Development at Andrews McMeel Universal [105], and I introduced AppleScript into our production workflows in the early 2000s. Currently, there are few, if any, pieces of our content that are not created, processed, or touched in some way without the automation we’ve developed with AppleScript. Next time you read a comic from Andrews McMeel Syndication [106] (formerly Universal Press Syndicate/UniversalUclick) or United Features Syndicate, it is there in part because of AppleScript.

RJay Hansen -- I manage a design/prepress department for a direct mail/printshop/Web design company. Soon after I started, I began seeing opportunities to improve the department’s efficiency by writing AppleScripts to automate many tasks that are done repeatedly in the department. From simple scripts to create job folder structures automatically (used many times each day by every department member) to more complex ones that automate processes and interactions with Excel [107], Acrobat [108], and InDesign [109]. I’ve even written a basic imposition program for InDesign with AppleScript. These scripts save untold man-hours over the course of a year. It will be a sad day if this capability is ever removed from macOS.

Joern Dyck -- I once had the task to open and save 5000 videos on a remote Xserve. Back then, QuickTime files would only play in a browser after the file was loaded completely. (Today everybody expects that the video starts to play after the first few bytes have been loaded.) Apple provided a way to update old videos: just open the file and save it again with the QuickTime Player, unaltered.

But nobody can manually open 5000 files in the QuickTime Player and save them again.

With AppleScript, I was able to iterate through all files in the folder, opening them one by one with QuickTime Player and saving them again. It was only a few lines of code, and the poor Xserve was busy for some nights. AppleScript is happy to work at night.

I have solved many problems like this with AppleScript. Rarely does AppleScript get the credit that it deserves.

Chris -- I provide workflow support to some non-technical artists and creative professionals. I use Automator to create a double-clickable application to execute bash scripts of multiple and sometimes confusing commands. This minimizes errors while simplifying the process to keep the end user in control.

Steven McCarthy -- I have been using AppleScript for 20+ years in magazine publishing and prepress, first at Hearst Magazines and later at McGraw-Hill. I continue to use AppleScript at Bloomberg LP on such titles as Businessweek, Markets, and Pursuits magazines.

I have automated many workflows over the years that preflight InDesign [110] layouts, update links, create press-ready PDFs, automate FTP transfer of files, along with scripts that convert and archive files into organized files and folders that adhere to strict naming conventions.

I have also automated workflows for our mobile apps group where print layouts are re-purposed for mobile and online Web applications. These automated workflows save hundreds if not thousands of manual work hours. It’s to the point where, if a script stops working for some reason, there is a cry and backlash from the staff who refuse to go back to the old manual workflows. I can’t say how much AppleScript has helped. Thanks to Sal for all he has taught and done for the AppleScript community over the years. It’s hard to put into words.

Rick Pepper -- A key feature of AppleScript that’s largely overlooked or mocked is that it’s accessible to non-programmers. And what sets AppleScript off from other solutions is its ability to accomplish a complex task by communicating with numerous disparate applications within a single body of code.

Many pre-press technicians have to “just get things done” any way they can and AppleScript empowers them to do that.

AppleScript, for me, is the answer to “Why Mac?” It’s about being agile. If Apple kills the Mac, they’ve killed our automation. If they kill off AppleScript, they’ve lost future Mac sales.

Much of what we wrote in the mid-1990s can still be updated as needed because the platform has remained stable. If Apple shifts gears on us, they’ve largely negated the advantages and efficiencies we’ve enjoyed since 1994.

I work for a large commercial printer. Over the last 22 years, we have used AppleScript to:

  1. Construct entire print production workflows

  2. Convert numerous file types to preferred file types

  3. Create files for output on systems that were “not Mac compatible”

  4. Automate (pre-press) near-line archive storage system retrievals (46 GB in the late 1990s in our first system!)

  5. Automate the archival of and retrieval of said near-line archived files in a second system that contains over 50 TB and counting

  6. Convert proprietarily built EPS files to more output-friendly EPS files using Illustrator 8 and Scripz

  7. Generate Web previews for a Web-based print ordering system

  8. Batch modify file names from digital cameras

  9. Convert exported metadata (XMP files) from Lightroom [111] to other text file formats

  10. Work around bugs in Illustrator 8 in the late 90s by reading/altering/re-writing EPS files

  11. Convert PMS colors in EPS files to either cyan, magenta, yellow, or black using Illustrator 8 with Scripz, and later Illustrator 9

  12. Create HTML table-based reports from various data sources

  13. Built an AppleScript/QuarkXPress [112]-based automated imposition system that we used for over 10 years in the late 90s

  14. Create and populate Quark files from text files and then generate several different forms of EPS and/or Postscript files based on output requirements before delivering them to remote servers

  15. Exchange data with an AS/400 mainframe via FTP with Fetch and raw text processing

  16. Mount/dismount server volumes

  17. Build a digital jukebox that was controlled by AppleScript using SoundApp and FileMaker [113] — all before iTunes existed

  18. Automate the retrieval of, response to, and attachment processing of incoming emailed orders using Microsoft Entourage

  19. Automate the construction of a monthly auto trader magazine using QuarkXPress and GraphicConverter [114], a more free-flow layout (not just dropping images in static locations) with flush-bottom columns. It processed thousands of vehicles in less than an hour, hands-off!

  20. Remove the necessity for pre-press operators to use the Finder to create jobs in QuarkXPress, which involved creating a folder structure based on an invoice number, opening the desired Quark template (from thousands), saving it in the new folder, and updating slug lines in the document

  21. Automatically check for and copy/install various files and/or folders

  22. Automate the conversion of Quark files to InDesign [115] including the process of updating fonts

  23. Automate the extraction of table data from Microsoft Word [116] and data from Excel [117], after which it was manipulated and saved as tab-delimited text files

  24. Create numerous other utility scripts to manipulate, massage, and export text

  25. Automate file copiers/movers based on an input control text file — part of our imposition proofing system that was built on-the-fly because something else in the workflow changed and we had to adapt while maintaining productivity

Argyl Dickson -- We produce hundreds of short video files ranging from 5 or 10 seconds to 5 or 6 minutes. The project architecture we put these assets in requires a JPEG file for the opening video frame and the ending video frame. Otherwise, there is a flash during the start or end. It would sometimes take an hour or more to open each video file and save out a still frame from the front and end of the video.

So I wrote a script that can process hundreds of files, generating start and end frame JPEG files with the proper names. What could take hours is now done in less than a minute. This is just one example of how AppleScript has saved me and my clients hundreds of man-hours through automation.

Carlos Ysunza -- We are a photography/design studio based in Mexico City. We are just four people working with eight Macs and an important part of our business depends entirely on AppleScript.

For our most important client, an international business, we make a cosmetic catalog each month. Much of the process is automated using AppleScript.

For our second biggest client, we built a complex print system combining a big FileMaker [118] database, Photoshop [119] and Epson plotters. Again, it’s all controlled with AppleScript.

Of course, we also use AppleScript for other smaller but still time-consuming projects in our everyday work.

Without AppleScript automation on the Mac, it would be impossible to do all these jobs with so few people — it is vital technology for us!

David Popham -- I use AppleScript mainly to automate InDesign [120] and Illustrator [121], and AppleScript’s big advantage over JavaScript is how multiple applications can be tied together in a single script. Data from an Excel [122] spreadsheet can be cleaned up in BBEdit [123] and then be used to create a graph in Illustrator that’s finally placed in an InDesign document.

Among the things I’ve done:

Christian Boyce -- In my company, we use AppleScript in our own work every single day, and we often write scripts to help our customers with their various and unique problems. The time saved is enormous.

A few examples: when we make appointments, my office manager clicks on the event in the calendar, and then triggers a script (via DragThing [125]) that creates emails that go to the customer and to me. The script also sends a text message to my phone. Each day, a script runs at 8:01 AM on my office manager’s Mac, scanning the calendar for appointments the next business day. Emails are automatically sent to remind the customers of their appointments. The emails are all exactly as I want them — never a mistake — and they go out automatically.

I wrote a script for a plastic surgeon. She has a form for new patients on her Web site. The results of the form are returned in an email. When those emails arrive, the receptionist clicks on them, then runs a script that reads the data and creates a new contact in Contacts. The script also creates a record in FileMaker [126] and then prints a PDF for the doctor with all of the information presented in the layout she prefers.

AppleScript ties apps together, giving a real 1 + 1 = 3 effect. Mail, Calendar, Contacts, FileMaker — and many others — can be part of a system held together with AppleScript.

I write lots of scripts for my customers who use InDesign [127] and they save a ton of time with them. And, they get great results. For example, a picture on a page needs a caption below. I’ve written a script that gets the width of the picture, makes a text box the width of the picture and offset a standard amount vertically, and sets the style of the text in that text box to “caption style” (creating the style if it is not present). It then groups the picture and the caption box, so they can be moved without messing up their relative positions.

I’m not the best AppleScripter, but I’m able to write scripts that I and my customers use to great advantage.

I think of AppleScript as the Mac’s “secret weapon.” I love using it to make someone’s life a little (or a lot) better.

James -- I use AppleScript in our work environment for almost everything: art preparation, book creation, ebook conversion, file validation, and file distribution. AppleScript drives our video management, MathML creation, and cover creation.

The cost savings with AppleScript are the sole reason my team’s work has not been outsourced. The creation of chapter-level ebooks alone saves $1 million per year in external costs and is faster and more accurate than what a vendor can provide. Our AppleScript-driven page layout system has topped 1.2 million pages and keeps our costs well below industry rates. Simply put, without AppleScript and the apps that wholeheartedly support it (like InDesign [128]), my team’s output would be a mere fraction of what it is while costing much more.

Olle Westbergh -- We rely on Apple automation technologies a lot in our company workflows. If they are eliminated, we would be forced to move from macOS to Linux or Windows.

Henry Domke -- AppleScript has been essential for automating some of the tedious parts of file preparation for my art business, Henry Domke Fine Art [129]. The custom application created by Automated Workflows [130] has saved me many hundreds of hours of work. Ray Robertson and Ben Waldie used AppleScript to create the application that keeps us running. It also has reduced errors. Please continue support for automation technologies!

Larry McMunn -- In 1993 I started using a new product called AppleScript. I took a chance on it because it promised me — a graphic designer and artist — the ability to automate a lot of my page layout tasks without learning to program. Within two years, I was able to partner with one of the largest mutual funds in the world to produce documents using this technology. Over the years, we added more and more financial companies to our client list thanks to our ability to produce tens of thousands of pages quickly and efficiently. 22 years later, we are still using the core ideas and concepts developed back then. The success of our company would not have been possible without the power and flexibility of AppleScript.

These documents get typeset and assembled automatically from many sources. Only the power of AppleScript lets us integrate such a variety of data sources into a cohesive workflow. Some of these documents are developed from as many as 25 to 30 data sources. And these varied data sources come from text files, Microsoft Word [131] documents, Excel [132] workbooks, and a variety of databases from FileMaker [133] to 4D [134] to giant mainframe entities.

Mark Aldritt -- As the developer of Script Debugger [135] (an AppleScript editor/debugger), I have a mountain of automations for my business. I have built automations that compile Script Debugger, collect release notes from our bug tracker, manage software versioning, and perform software uploads. As a one-man shop, I need these things to be done quickly and correctly. Back when I did this by hand, there were always errors. I have bug tracking automations that process crash reports and customer support emails in various ways. I have email marketing automations. The list goes on and on. Automation makes it possible for a tiny organization like mine to accomplish what it does.

At a personal level, I also have many automations for day-to-day life. For instance, my local library sends email confirmations when I borrow books, CDs and DVDs. I have an AppleScript to process these emails and create reminders for when each item is due back to the library.

Hanaan Rosenthal -- When I was 21, my wife and I had $2500 in the bank. With not even a high-school education I quit my job delivering candy, bought a used Mac II for $2435, and called myself a Mac consultant. Within a few short years, I was using AppleScript for automating workflows for the New York Times, Fidelity Investments, Reuters, and other large clients. I was not merely improving workflows, I was creating products that could not exist without automation. For example, the financial page and weather charts in the daily edition of the New York Times, which are still being generated daily using my AppleScripts to this very day.

Mark -- I’m not a developer, I work in feature film post production. Since our projects are highly sensitive, all video shared across departments has to be heavily watermarked and individually marked per the recipient. This can be done inside Media Composer, but it’s clunky, slow, relatively manual, and ties up the editing system.

I was able to learn enough AppleScript to write an application that takes QuickTime files and uses FFmpeg commands to convert them to our required formats along with multiple burn-ins: names, dates, and timecodes. It even cuts off frame handles using filename data. Many variables are automatically read from the source files. AppleScript then formats all this data for the FFmpeg filters.

Drop QuickTime files on my app, choose presets, and press Encode. The formatted FFmpeg ‘jobs’ are split into batches and sent to Terminal for batch processing.

All this happens in the background as film editing work continues. The time savings are enormous. Hours per day. AppleScript is indispensable for us.

Joern Dyck -- I’m running a video studio. We produce live shows. The recorded shows can later be downloaded at our Web site. AppleScript is absolutely essential because it allows us to produce/broadcast our shows during the day, while the editing and uploading are handled by AppleScript during the night. When we come back to work the next morning, we find everything already processed, checked, uploaded and archived. It’s magic. Here’s how it works:

Our live shows have a duration of 3 or 4 hours. After the show, we cut the recording to smaller pieces. This means that we have a lot of data. Because of this, the post-production involves a lot of waiting (for example, exporting/compression and uploading to our servers).

This is something that can best be done during the night.

Final Cut Pro X can be automated with XML files that are created from a database. The database has all the information about the video clip: title, description, poster images and a lot of other stuff. The result is a bunch of compressed video files, waiting in a folder.

AppleScript watches this folder for new files. When there’s a new file, AppleScript uses some additional applications to give the videos some additional properties (because Final Cut Pro can’t do everything we want.)

After that, AppleScript uploads the video to a master server. This is, in fact, a complicated process, because with big files (some are 7 to 10 GB) success is not guaranteed. AppleScript checks if the upload was successful; if not, it repeats the upload. (The last thing you want is to come back to work the next morning, only to find out that 10 GB of files didn’t upload.) Since we have different versions of each video (small, medium, big), and different shows, AppleScript intelligently chooses the right folder.

Next, AppleScript archives the videos to our local archive and makes some entries in our database. When we come back to work, everything is cleaned up and ready for the next show. If something failed, it can put a TextEdit document on the Desktop with further information. Or it can label a problematic file with a red color. Or it can trigger an email to the responsible person.

Our customers may think that we work day and night. How else could we provide 10 GB of edited video the next morning? The truth is that we couldn’t afford to have a team working day and night. And it would be stupid to do so, because the tasks are boring, repetitive, and involve a lot of waiting. It’s an ideal job for an automated workflow using different applications.

We see Apple as a company that enables a small team like us to do what only a big company could do. AppleScript is exactly that. It has a learning curve, but you can start simple. Once it’s running, it’s unbelievably cool and productive. Apple should do more of that, not less.

The most important part of our system is that it can trigger actions itself (for example, check something every minute, or monitor a folder), make decisions (if, or, else), and use other applications. Programming something in Swift is not an option for us. We are not software developers. We need something that works more like a recipe and can be altered easily.

One more example: During a live show we use 12 Macs. Each show needs a different setup. To set up those Macs takes one hour. We automated this with AppleScript, because AppleScript can take control of Macs in the network. AppleScript asks us what show we want to produce and sets everything up. It takes one click, and after a minute everything is ready to go.

Eric Geoffroy -- AppleScript is the one ring that rules them all. With AppleScript, I can control the Finder, JavaScript, Python, and bash. Many of my automated solutions use a diverse toolbox. Instead of a bunch of disconnected scripts, I can use AppleScript to push and pull data from these and other programming languages, controlling it from one master script.

Windows, Linux, and iOS have nothing like AppleScript. It’s one of the few unique things Macs can do. Windows in particular has copied everything else that used to make the Mac special.

The time savings in automated solutions is huge. I’ve measured some of our old manual processes that take 2–6 hours and introduce human error. These same tasks have been reduced to 20 minutes. The ratio is 30:1 in some cases.

I used to worry my company would make us switch to PCs, which would have destroyed our workflows and our productivity. I fought against Microsoft Windows for years. Now I fear what Apple itself will do.