Tell Us Your Mac Automation Stories
The news that Apple had laid off Sal Soghoian, who has been a fixture in the world of scripting and automation for decades, hit hard at MacTech Conference back in November. Although Sal hasn’t been making as many public appearances as he used to in the days of Macworld Expo, his indefatigable efforts to promote user automation inside and outside Apple have had wide-ranging impact. Sal worked tirelessly within Apple to encourage support for AppleScript and Automator (among much else), and to ensure that Apple apps provided the necessary scripting dictionaries and Automator actions. He was long a champion for the user,
believing that users know best what they need to do and that automation technologies were essential for enabling users to create and streamline their own workflows.
What should we make of Sal leaving? Apple didn’t lay him off specifically, it instead eliminated the position of Product Manager of Automation Technologies. It’s my understanding that multiple groups within Apple wanted to hire Sal afterward, but Apple was under some sort of hiring freeze that prevented him from migrating within the company. So it doesn’t look as though Apple was trying to get rid of Sal personally, which is good. What’s less good is that it would appear that Apple doesn’t see the need for having a position that evangelizes user automation.
A 9to5Mac reader sent email to Craig Federighi, Apple’s Senior Vice President of Software Engineering, to ask that Apple not kill AppleScript and Automator, and was told “We have every intent to continue our support for the great automation technologies in macOS!”
Federighi’s response prompts the question of whether Apple’s future actions will bear out his statement. It may be overreaching to read too much into his precise words, but “intent” is an aim or a plan, not a guarantee. And “support” can mean “maintenance mode” rather than “advancing the state of the art.” Regardless, eliminating Sal’s position isn’t a step in the right direction. Sure, Apple could have plans to replace AppleScript and Automator with super secret magic unicorn technologies, but based purely on what the company has done and said, it’s hard to believe that.
It wasn’t always like this. The reason AppleScript survived the purge of products and technologies after Steve Jobs returned was that Jobs understood the importance of automation to key Apple markets, like publishing, finance, and TV and film, not to mention the enterprise and IT worlds. These industries live and die by custom workflows based on AppleScript and other automation technologies built deep into macOS.
Jobs personally approved the inclusion of Automator in OS X, and he enabled and supported adding AppleScript as a development language to Xcode. And it was because of his support that Apple’s automation team went on to develop AppleScript/Objective-C, script libraries, and JavaScript for Automation.
But the Apple of today is an entirely different company, focusing as it does on the iPhone and iOS. Even so, it’s obvious to anyone who uses iOS that there is still an important role for automation. I can tell Siri to “Change ‘Floating’ to 8 AM” to adjust the time of my wake-up alarm, but I have no way to automate the five taps necessary to play the audiobook we listen to every night in the Hoopla digital library app. Five wasted taps every night isn’t the end of the world, but if you can’t automate the little stuff, you certainly can’t automate the big stuff.
If Apple’s seeming indifference toward automation worries you because you rely on scripts, macros, workflows, and more to get your work done quickly, effectively, and accurately, here’s what I’d like you to do. Leave a comment on this article outlining how you depend on Mac automation tools in your job. If there are too many examples to fit in a single comment, just focus on those that are the most important to you. I’ll compile all the comments and publish them as a future article, and I’ll also send a copy to Craig Federighi and Apple CEO Tim Cook so they see concrete examples of why we need these automation technologies to continue to evolve.
To kick things off, here’s my most important bit of automation. When it comes time to publish a new or updated Take Control title, I start with three versions of the book: a PDF, an EPUB, and Mobipocket file. A copy of each must be stored in several locations on our internal file server and uploaded both to our Web server and to Amazon S3. Plus, the uploaded versions must be renamed precisely according to an algorithm that’s replicated on our server, so the site can update itself and serve the correct files based on the presence of properly named uploads in the right directories. When I used to do this by hand, it took 15–20 minutes, and I ran the risk of renaming a file incorrectly or uploading to the wrong directory. (And making
a mistake meant that I had to spend even more time figuring out what I’d done wrong and fixing it.) Now that I have a series of Automator workflows performing these tasks for me, it takes me just seconds to initiate the uploads, and there are never any errors.
So that’s my automation story — tell us yours!
Automator is one of my favorite Utility Apps. It's just pure magic how I can get first 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 to crop, and then Transmit to upload to my server. It's just 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.
I have a custom naming approach for all files on my system. And every year, they are sorted into relevant groups and archived off using the automator actions which the developers of DevonThink Office Pro provide.
It's a simple thing, a folder is monitored, files are imported and tagged. But 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.
2. My son uses folder actions all the time, resizing images, converting and renaming them for different use cases, it's like his party trick for employers while he's studying in Boston College.
3. I use a combination of Automator, Hazel and Keyboard Maestro together with some scripts I picked up online to keep my computer organised. These various tools move files around to their rightful folders, rename files to my standardised system, save email attachments and move them to the right folders, clear up strays that land here or there, archive off application installers and delete old files that are backed up and not in use for some time.
Well, in a nutshell, most of the Web industry on Mac OS 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 or WebSTAR, Userland Frontier, 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 (NeXT) seems to have never embraced it as they should have. Even the newest incarnation of MacHTTP, MacHTTP-js, 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...
I use AppleScript and Automator for automating actions in the Finder. Some common things I have created that I use at work:
• Clean the desktop of shared computers.
• Automate server connections.
• Take any downloaded dmgs and move them to an Installers folder automatically (using Folder Actions).
• A service that opens the current URL in a specific browser (e.g., if a page needs Flash, open it in Chrome).
I also use it as an integral tool to integrate with FileMaker Pro. (e.g., export text data from FileMaker to a file, have BBEdit clean it up, then upload that edited file to a web site using Fetch — AppleScript + 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 know I still put Automator and AppleScript to use on a regular basis.
For 16 years now approximately 15 times a year I do financials based on a series of companies. The workflow I've created reduces 21 pages of reports to a readable 4 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 6 work weeks of my life. That's time with family, time doing other work things, time that I am not simply throwing down the hole of clicks and points. Thank you for HyperCard, AppleScript, Automator and anything else Apple can provide to give me more time!
Which Mac automation stories?
Back in the day, when I regularly had tasks that merited automation, I used QuickKeys. Nowadays I use Hazel for the few regular automated file-handling tasks I have. I've found that on those comparatively rare occasions when I have a repetitive task that could do with automating, Automator invariably lets me down. It's quicker to complete the task manually rather than trying to bully Automator into action.
Here's an example: automating iTunes playback. I leave iTunes running when away from my house for an extended period, to stop the place appearing to be empty. A few years ago I spent a couple of hours figuring out how to use Calendar to automate playback, but then found the Calendar events I created didn't 'travel', but had to be created afresh every day. I can no longer be bothered with this palaver: I simply remote in with Teamviewer and manually toggle playback. Welcome to C21 Mac automation, conspicuously lacking in usability and utility.
One of the hardest things with automation is picking the right tool. For what you describe, I'd use Keyboard Maestro, which can really easily play random music from iTunes at specific times.
I work at a small newspaper and we depend on AppleScript.
The most important is one AppleScript that creates working pages from a master InDesign 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.
This was written almost 5 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 to fix common mistakes in stories, retrieving and setting weather forecasts, TV listings, football fixtures & scores, creating the barcode (and checking it is correct — an occasionally major problem before).
Newer stuff is often in Python but with an AppleScript interface.
Code here: https://github.com/ppps
Oh, and that's just AppleScript. There's all sorts of stuff we do with Hazel and Python scripts run as LaunchAgents (through Lingon).
Our newsroom is an all-Mac office and on occasion in the past 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.
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, flash cards. I use AppleScript for a daily email message to my partner (it pulls info from flat-file databases, Calendar.app; assembles a message, sends it via Mail.app, saves it as my Safari home page.) I have so many little scripts and Keyboard Maestro routines that I feel hopeless when I have to use someone else's Mac.
Keyboard Maestro, with an accompanying mix of Apple Script and shell scripts, is a wonderful glue for web applications with lacking APIs. After a recent migration between institutional repositories (for academic publishing) hundreds of full text files where missing because of a bug in the new systems 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. By 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 in order, a new click got me to the next item, else I could handle the error before moving on.
As a developer (for apps such as Find Any File, iClip and iBored), I recently have 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 1000s of mouse moves. With AppleScript, it took me 15 minutes to write the code, then have it perform its task for about one 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, which makes writing AppleScripts much less of a pain, indeed :)
Currently my main automation use is somewhat indirect. To tolerate Mail.app at all, I've found Mail Tags and Mail Act-on 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 server and several mailing lists, intricate mail sorting is a lifesaver.
In the past, I used Quickkeys to remap the keyboard and add macros to music software such as Finale. Saved me hours a week and a lot of frustration.
I'm planning to dive into Keyboard Maestro soon, partly to improve the modern Finder window handling train wreck. which costs me at least an hour a week in getting windows back where they're supposed to be.
I entirely forgot the services I created with Automator a few years ago to do routine exif handling. Automator calls on exiftool to show all metadata in BBEdit, strip all metadata, strip all but a few exif/iptc fields, alter GPS data, etc. Not only do they save some effort when used, they save the time it takes to periodically check the exiftool docs, since it has so many options I can never remember them. It's also much easier than the command line to do things to an ad hoc file selection.
Early in the days of Automator, Sal made a comment, something about it changing the way applications work together where you don’t have to learn the application, just find the action for the feature you want it to do. 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, print-to-.pdf and sent it off. I followed up on it the next day and Andy Taylor of MacSpeech, Inc. said “well, 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, and I opened the document and 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 up 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.
No more than 15 minutes after I first thought “what?!”→ just like magic → problem solved.
And I never learned the applications, just found the actions for what I wanted to do. I’ll be darned. Wow! Only on a Mac.
I use Automator to routinely download specific files from government databases, rename them, and move them to specific folders for use by my FileMaker databases. This saves me at least 1-2 hours a day. I also use a program by someone who accesses the PTO databases and provides one file for data obtained from multiple databases by the use of Apple script and Automator.
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, 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 per hour completed) by more than 50% 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 used Automator to record and then understand what system events to include in my Applescript.
The ability to adjust things in order for them to suit your needs is a first requirement for computers. That is why I liked Apple from the 1980s, and that is why I stopped using them 20 years later. I still have an iPad, but only two, maybe three apps are actually very useful. The rest is either buggy, full with ads or just plane useless. And the user cannot do a thing about it, unless you jailbreak the thing. No updates for individual apps either, so we are stuck with a buggy iOS emailer. I have never lost so many emails - many days of work. Never been so disappointed with Apple - a total waste of money and, especially, of my time.
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. Most common use cases:
1) an AppleScript that cleans up and organizes my Desktop icons according to a custom grid, grouping them by color tag.
2) a randomizer selection when I have a group of files to read or movies to watch, picks "some item in the current folder".
3) any application missing a keystroke; i.e., 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.)
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 for staying loyal: if they take that away, 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 have a fairly elaborate Home Automation system that is totally based on AppleScript and the XTension 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 by mere mortals. In my opinion this is a gigantic missed opportunity for Apple.
I'm frankly very worried. There are so many signs that Apple has lost its soul chasing shiny iObjects.
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 to a Numbers spreadsheet.
I book several music venues in NYC. I book 100-200 acts per month. I rely heavily on automation, mostly with Keyboard Maestro, AppleScript, a bit of automator, TextExpander, and now also with Better Touch Tool to create app-specific touchbar buttons which trigger my applescripts. For those in doubt about the touchbar, 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. It's very powerful!
I have actions that add confirmed events to the calendar (BusyCal), send confirmation emails at specific dates/times (much of which is because of a powerful CLI utility called iCalBuddy), 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 literally 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!
Another developer chiming in here (I'm the author of Default Folder X, App Tamer, Jettison, HistoryHound, and a bunch of other stuff going back nearly 30 years). I use AppleScript in 3 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, 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.
AppleScript is used in many of the programs that I use! I am really appalled. I use it to tailor my spam controller program, SpamSieve. I have a Repetitive Motion Injury plus a pinched nerve in my neck. Being able to use scripts to control the Finder or web actions have saved me from much pain. I use A Better Finder Rename applets and use Automator to make contextual services that can be triggered by keystrokes. I use Script Debugger, also, to help me understand the underlying aspects of scripts as I compile them and look for problems. I still rely on some of Dougs Applescripts for iTunes to do things in that (frustrating) program. I use Hazel 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.
I use automator to do mass re-namings 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!)
Making netboot images requires automater (or system imaging utility which is just a shell around it). Over history the reability of it has been dubious. In 10.12.2 it is not working: the image source (sierra installer) cannot be found, even if you manually select it. In 10.12.1 it could be found, but the programm crashed anyway when trying to make the image. In 10.12.0 it was working. In 10.11.5 also. But it crashed in 10.11.4, 10.11.3, 10.11.2. Working in 10.11.1 and 10.11.0, but not 10.9.5, and so forth with the ups and downs into the times of the past. (Perhaps I mistake some version numbers, and with some versions it appeared to work on one but not on another computer, but the general idea remains.)
In addition to that, when you save a workflow for next time, that next time trying opening it either opens, or it does not at all, or it just crashes the program.
I'm using parts of AppleScript to allow users of my professional remote management app, Royal TSX 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 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: https://openradar.appspot.com/29182929.
One of my customers posted a +1 kind of radar for this here: https://openradar.appspot.com/29825727
If anyone around here is affected by this 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...
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 also implement bootable clones for backup, I attached all clones to my wife's iMac and cloning is done from my MacBook Pro by authenticated traffic. This gives comfort and protection against ransomware affecting the MacBook Pro. I had 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 CCC and its easy to use automation tools. So I found on the internet "Mount" and "Eject" Applescripts, adapted them to my needs and, to trigger them, use a timer software (Task Till Dawn). Thus these drives are only mounted and doing noise one hour per day, around midnight. Marriage saved ! Thank you Applescript !
We're a prepress and printing house and we use AppleScript all the time to automatically typeset and alter layouts in InDesign with data from Excel and FileMaker. 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 and especially 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.
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.
I am a keyboard person. I have over 200 services/workflows with keyboard shortcuts that open web sites, open applications, open documents that I use & reuse, open windows, an replace menubar clcks, and more. In a more limited way I also use both QuicKeys and iKey.
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 they abandon AppleScript I'll probably move to Windows or plain UNIX.
I run my freelance business on FileMaker Pro. AppleScript lets me create calendar events and to-dos straight from FileMaker, use BBEdit to clean up text from within another application, scan and OCR documents straight to DEVONthink, 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.
I use Keyboard Maestro for window management, application launching, and text expansion, and A Better File Rename for mass renaming of files. I probably use automation a lot less than I could, but if Keyboard Maestro in particular were to go away (because the technology underlying in becomes unavailable), that might be the nail in the coffin for my use of the Mac, frankly.
I have built a few amazing scripts to automate a lot of my InDesign work, which helps me separate my design files to PDF and then upload them via transmit 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. I have finder folder creators built from Applescript. Applescript is an indispensable technology and it needs to stay in the Mac OS. I have also created a petition to save Applescript at https://www.change.org/p/apple-keep-mac-user-automation-such-as-applescript-automator-in-mac-os-x?source_location=topic_page
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 with my record keeping.
Initially with Excel, I’ve created a script that would create an Excel 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 webpage where the roster of students for the course is.
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 (“P” or “A”). Macs had the ability to work with voice command I believe since v 7.5 (my earliest Mac OS version) via the SpeechRecognitionServer.
Same thing wold 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 from each of my student a web page with his/hers record. I could have 1 or 1000 students and the pages would be created in a flash.
I would 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 grade, AppleScript with Safari and Javascript and I automatically put grades attendance status and last class attended by having an AppleScript that reads the Excel or Number (the one I prefer) spreadsheet data.
At the college, at one point the Math Department was creating final exams for remedial level Math courses by getting questions from a 2000+ problems from a MS Word document.
This document was divided in various sections. These exams were made by randomly selecting one question from each section. It was a long and laborious process. I was asked to help and from then on we would get all (7 per semester) exams created in less than a minute. They would come already formatted ready for printing.
Using Smile, from Satimage (Satimage.fr an AppleScript based developer tool) I have created various QT movies that helped me with teaching, Pre-Calculus trigonometry, Calculus differentiation and integration, statistics distribution, etc.
I have created Mathematical libraries for all kinds of Mathematics operations, including Matrix algebra and Statistics Library to help me teach Statistics (much faster and easier to access than R or other scientific software).
Using AppleScript and a Mac Mini server Apple could easily disrupt the Education Market by simplifying everyone’s life. It would be cheaper and error free, very likely also more secure and private, without violating any law (FERPA). But hey, who wants to make a ton of money anyway?
I’ve created an (AppleScript) app that everyday puts the APOD (apod.nasa.gov) as a background picture of my desktops (I’ve many).
I’ve created a script that would search and display the lyrics of the current iTunes song.
I use AppleScript to organize my folders, I use AppleScript to apply rules to my incoming Mail.
I use AppleScript to generate and save passwords.
I use AppleScript…
Yes, I would say that Mac automation is the single most important reason I use Macs (actually, now most of my extended family uses Mac because of me).
So, yes, Apple should support Mac Automation, because each automation user implies in many others that follows.
How did you manage to beat the 1000 character limit?
Good question! :-) The only way I know of to do it is to be a logged-in TidBITS member, at which point you get up to 5000 characters.
http://tidbits.com/member_benefits.html
I am an avid home personal weather hobbyist. The weathercat Macintosh software I, and thousands of others, use has many Apple scripts built into it. Many of us write scripts to enhance automated transmission of weather data to 8 international weather gathering organizations, including the National weather service. Other Macintosh weather software also uses Apple scripts to enhance their products. Apple prides itself in being user customizable. Automator and scripts are the main reason this is possible.
As a software designer, I rely every day on complex, scripted behaviors that coordinate multiple applications.
Removing Automation's manager is just another wrong step Apple is taking away from workplace computing and toward entertainment computing. What's with eliminating the software to enable an attached modem in sierra. Dailing the phone is the whole reason I got a Mac in the first place.
I use Automator, and especially folder actions, a lot. It enables me to add batch capabilities to Photos, and extend its usefulness now that it is surplanting Aperture.
I also use scripts to organize email.
But much of my automation is now done with IFTTT...I find it amazing (and so, so sad) that while that is growing Apple is apparently headed in the other direction. And it works particularly well with smart home stuff and Echo.
Sorry, but "hiring freeze" sounds like BS, coming from the most valuable company in the universe and affecting one of its most valuable members. It sounds more like the work of an efficiency expert accountant lurking in the background.
Axing automator does not seem just like an isolated incident. It probably reflects the strategic view that Apple computers (including smartphones and tablets) should serve a menu of isolated self-sufficient apps (except for Apple's own apps, of cour$e). Nothing can be further from truth. Switching among multiple apps does not just requires a bunch of extra clicks. Cumulatively it is debilitating and interferes with even the desire to use the appliances. The approach should be just the opposite: make multi-app automation easy and use will skyrocket.
Wow! A lot of responses, maybe mine's already in there but .. I use AppleScripts for various Finder conveniences.
One I rely on daily creates a alias, on the Desktop, to a new folder created in Dropbox every midnight. The folder is named for 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 (+1 minute) and every time I log in.
It's not a big deal but I suspect I wouldn't have the personal rigor to do this manually every day. Having set this up fourteen years ago (Dropbox added more recently), I rely on its convenience and the historical record it provides.
Without automation, we couldn't do all kinds of the work we do at AC Transit 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.
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. Helpful when your arms ache!
(Continued from previous post)
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 two 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 two 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.
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 and OS X no matter what they say. The writing is on the wall. That being 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, 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 described in the next post
The New York Times used to have this old, creaky Quark XPress 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 NYT 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 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) so, many thanks, Sal!
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) 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.
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 as well as the OS.
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) and DEVONagent Pro also have a robust Applescript dictionary that allows our clients to extend and enhance their own experience. We are BIG fans of automation at DEVONtechnologies!
I have done a ton of automated stuff over the years. My favourite, but not that impressive, was converting 1400+ files from Excel into an online web help. 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 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.
This would be a great loss.
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:
• Post Evernote notes to my Wordpress blog (yes, I could use Postach.io, but they have been somewhat unreliable of late) - this requires some PHP in the AppleScript
• Pass Evernote notes to Scrivner for eBook production
• Pass images from an Evernote note back to Evernote as individual notes for posting to Instagram
• Resize images for blog posts
• Resize images for posting to Twitter
One of the most fun scripts I had (and I found this on the Internet and adapted) automated Keynote 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!
I don't think Apple management is considering the "Reverse Halo Effect" that Brent Simmons wrote about: http://inessential.com/2016/11/21/the_reverse_of_the_halo_effect
The idea is that with Apple discontinuing or failing to update so many products (like Airport Wi-Fi routers and external displays), a lot of people who once automatically bought Apple's solutions because they could be depended upon to "just work" are forced to look elsewhere. And if you're looking at other monitors, why not other computers? Why not other phones? The walls around Apple's painstakingly constructed (and very profitable) garden are crumbling, and it won't end well. The likely demise of AppleScript and Automator are, well, another break in the wall.
I've saved hundreds of hours every year by using AppleScript every day via apps that rely on it of Keyboard Mastro, Automator, Hazel and Default Folder X.
I'm a photographer and one of my favorite workflows that I have created involves launching an application, called PostHaste, every time I insert a SD with fresh new photos, in my mac, this creates automatically a folder on the server that is renamed with the contents of the clipboard, previously copied from the latest event in my calendar. After this, a new Finder window is prompted to the foreground revealing the newly created folder, next to it Image Capturehas been launched allowing me to drag and drop the new photos into the new folder window. My photos then are automatically renamed by Hazel.
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—then we 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 twelve-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 and without it we’d be out of business!
I have a 9 years in-the-making vary large App called Mail Manager that takes all incoming artwork, for any art work App, and prints a sheet to monitor factory progress, and 2 barcodes and 2 plain text fields to each image, then prints each piece of artwork at 100% 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 running on a top-of-the-line iMac, and Xcode ASObjC.
We at quomodo.com have developed a Web Server environment where XML + Applescript somehow are used instead of the widely used mySQL + PHP. Main advantage is, 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), which in turn sends the hard stuff to some osax (mainly, XMLLib.osax). A herd of Smile apps handle up to 100 requests a second (approximate — I did not measure recently).
Our DIY web site system works wonderfully for 50,000+ sites maintained by 100,000+ admins.
I have written scripts which Olav Martin Kvern declared to be impossible. These scripts have enabled me to do creative and production work at a speed which makes it possible for my company to win bids and remain profitable. If the Mac OS doesn't have Applescript, then we will be forced to use instead other tools which have the level of control needed to afford the sort of automation which we need to be competitive.
When the very 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, I wrote an AppleScript that transferred my old notes, nicely categorized.
I've used AppleScript with OmniGraffle to print custom serialized and bar-coded labels, and with Excel to calculate and print specialized scales for liquid measurement.
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% 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.
Just ran across this great automation hack, where Khoi Vinh gets his Google Home device to play Spotify music on his Mac mini home-theater system.
https://www.subtraction.com/2017/01/11/controlling-a-mac-with-amazon-echo-or-google-home/
I got tired of notifications of software agreements when mounting disk images, so I wrote a script to remove them.
https://sites.google.com/site/llee040/applescript/remove-notice
We use AppleScript in our business every day. We have several scripts to make daily tasks more efficient, and this has led to 25% of our company using MacBooks instead of Dells. I have to say that 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.
Thanks for doing this, Adam. Please give us at least another week to finish responding.
I'm slammed with AppleScript development work at the moment. I've only begun the process of alerting some clients, and will post my own thoughts once they've had a chance to contribute (a couple have already).
No problem — keep the stories coming!
I've used AppleScript for a large number of diverse tasks:
- Automating Photoshop and QuickTime Player to generate color lookup tables for video clips.
- Migrating web-based documentation by post-processing auto-generated HTML in BBEdit.
- Syntax check on PHP files.
- Renumbering iTunes tracks.
- Inserting generated HTML from Safari into BBEdit.
- Downloading real-time weather for flight simulator from NOAA server.
And there are probably others I've forgotten. Applescript is indispensable.
I used AppleScript to automate a range of tasks associated with a Medical Practice using Filemaker. AppleScript is almost unique in the way variables and data from a number of programs / sources can be parsed and inserted into for example Filemaker
My most used Automation function is text-to-audio. Just about all applications work with this via "Services". I use this because I have a hard time reading because of my dyslexia. Having the computer read me the text while I follow along helps out SO MUCH! It's also so easy to setup that I've created multiple text-to-audio versions of different accents because WHY NOT! A thick Russian accent can be quite funny and make the reading better than it was originally!
- Example of the text-to-audio Russian accent: http://czepeda.com/writes/123 . Also about other stuff I do with Automator.
- Automator workflow to create text-to-audio: http://czepeda.com/gfx/automator-workflow-create-text-to-audio-russian-accent.png
- The Services option by right-clicking on highlighted text: http://czepeda.com/gfx/text-to-audio-russian-accent.png
I introduced AppleScript into our production workflows in the early 2000's. 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 (formerly Universal Press Syndicate/UniversalUclick) or United Features Syndicate it is there in part because of AppleScript.
David Ohman
Vice President of Digital Product Development Andrews McMeel Universal
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 automatically create job folder structures (use many times a day by every department member) to more complex ones that automate processes and interactions with Excel, Acrobat and InDesign. 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 ability is ever removed from MacOS.
I once had the task to open and save 5.000 videos on a remote Xserve. Because 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 prepare old videos for this: just open the file and save it again with the QuickTime Player, unaltered.
But nobody can manually open 5.000 files in the QuickTime Player and save them again.
With AppleScript, you just iterate through all files in the folder, open them one by one with QuickTime Player and save them again. It's a few lines of code, and the poor Xserve would be busy for some nights. (Because AppleScript is happy to work at night).
I have solved many problems like this with AppleScript. Rarely gets AppleScript the credit that it deserves.
I provide workflow support to some non-technical artists and creative professionals. I use Automator to create a double click friendly 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.
Have been using Applescript for 20+ years in Magazine Publishing and Prepress. First at Hearst Magazines then later at McCgraw-Hill, continuing to use at Bloomberg LP on such tiles as Businessweek, Markets, and Pursuits Magazines. Automated many workflows over the years that preflight InDesign layouts, update links, create press-ready PDFs, automatic FTP transfer of files, also scripts which convert and archive files into organized files and folders which adhere to strict naming conventions. I have 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 to the point where if for some reason a script stops working there is a cry and backlash from the staff who refuse to go back to the old manual workflows. Can't say how much AS has helped. Thanks to Sal for all he has taught and done for the AS over the years. Its hard to put into words.
A key feature of AppleScript, which is largely overlooked or mocked, is that it's _accessible_ to non-programmers.
The most overlooked feature (or failure to realize the value and necessity) of AppleScript seems to be the ability to communicate with numerous disparate applications within a single body of code to accomplish a complex task.
Many prep-press technicians (pre-press primarily in the earlier days) have to "just get things done" any way they can and AppleScript EMPOWERS them to do that.
We always use straight AppleScript, never use Automator.
AppleScript, for me, _IS_ "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 90's can still be wrangled with in order to update 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 (system 1) (46 GB's in the late 90's!)
5. Automate the archival of and then the retrieval of said near-line archived files (system 2) (over 50TB and counting)
6. Convert proprietarily built EPS files to more output-friendly EPS files using Illustrator 8 & "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 to other text file formats
10. Work around bugs in Illustrator 8 by reading/altering/re-writing EPS files (late 90's)
11. Convert PMS colors in EPS files to either Cyan, Magenta, Yellow, or Black using Illustrator 8 with "Scripz" then Illustrator 9.
12. Create HTML table-based reports from various data sources
13. We were able to build an AppleScript/QuarkXPress-based automated imposition system that we used for over 10 years (late 90's)
14. Creating and populating Quark files from text files then generating several different forms of EPS and/or PS files based on output requirements, delivering them to remote servers
15. Exchange data with AS/400 via FTP with Fetch and raw text processing (2000)
16. Mount/dismount server volumes
17. Before iTunes existed, I built my digital jukebox using SoundApp and FileMaker - controlled by AppleScript
18. Automate the retrieval of, response to and attachment processing of incoming emailed orders using Entourage (since 2006-ish)
19. Automate the construction of a monthly auto trader magazine using Quark 4 and GraphicConverter, a more free-flow layout (not just dropping images in static locations) with flush-bottom columns, thousands of vehicles in less than an hour, hands-off (2000-2005)
20. Remove the necessity for pre-press operators to use the Finder to create jobs in Quark (v3 - v4) which involves 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 (pre- OS X)
22. Automate the conversion of Quark files to InDesign including update fonts
23. Automate the extraction of table data from Word and data from Excel, manipulate and save as tab-delimited text files.
24. And numerous other utility scripts to manipulate, machinate and export text
25. Automated file copiers/movers based on an input control text file - part of our imposition proofing system built on-the-fly because something else in the workflow changed and we had to adapt while maintaining productivity.
We produce hundreds of short video files ranging from as short as 5 or 10 seconds to 5 or 6 minutes. The project architecture we put these assets in requires a .jpg 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 up each video file and save out a still frame from the front and end of the video. So I wrote a script that we can now drop hundreds of files on and generate start and end frame .jpg files with the proper name modification and what would normally take sometimes hours is literally done in less then a minute. This is just one example of how applescript has saved me and the clients I work for hundreds of man hours through automation.
We are a Photography/Graphic Design studio based in Mexico City, we are just 4 people working with 8 Macs and a very important part of our business depends entirely on AppleScript.
We make a cosmetic catalog each month for one of our client, which is an international enterprise and a very important part of the process is completely automated using AppleScript.
For the second biggest client, we build a complex print system combining a big data base in FileMaker, Photoshop and Epson plotters all of it is controlled 100% with AppleScrip.
Of course we us AS for other no so big but time consuming projects in our every day work.
Without the use of AppleScripting automation on the Mac would be impossible to do all this jobs with so little personal; for us is vital technology.
I use AppleScript mainly to automate InDesign and Illustrator, and the big advantage it has over JavaScript is how multiple applications can be tied together in a single script. Data from an Excel spreadsheet can be cleaned up in BBEdit then used to create a graph in Illustrator which can be placed in an InDesign document. Among the things I've done:
- created more than 200 country profile sheets containing 13 tables and 13 charts
- created a font management system
- saved a company that I worked for from having to pay thousands of hours of labor for simply clicking a mouse (opening InDesign files and turning on/off certain layers, checking in/out files in vjoon K4)
- processed thousands of Illustrator files for press
- reformatted thousands of Word labels for my sister-in-law's real estate business
In my company we use AppleScripts 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, then triggers a script (via DragThing) 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 website. 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, 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 scripts for my customers who use InDesign 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 get the width of the picture, then makes a text box the width of the picture and offset a standard amount vertically, then sets the style of the text in that text box to "caption style" (and creates 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.
I use Applescript in our work environment for almost everything. From art preparation, to book creation, to ebook conversion, to file validation, to 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 $1m a 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 which whole heartedly support it (like InDesign), my team's output would be a mere fraction of what it is while costing much more.
Oh no.
We rely on Apple automation technologies a lot in our company workflows.
If they are eliminated we would be forced to move from OS X to Linux or Windows…
AppleScript has been essential for automating some of the tedious parts of file preparation for my art business. The custom application created by Automated Workflows 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!
Yours truly,
Henry
Henry F Domke
Henry Domke Fine Art
Nature Art for Healthcare
www.henrydomke.com
In 1993 I bought 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, in 1995 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 producing quickly and efficiently tens of thousands of pages annually for these clients. 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 will let us integrate this variety of data sources into a cohesive workflow. Some of these documents are developed from as many as 25-30 data sources. And these varied data sources come from text files, Word Docs, Excel workbooks, and a variety of databases from Filemaker to 4D to giant mainframe entities.
It's the one ring that rules them all.
With AppleScript I can control the Finder, web javascript, Python, bash. Many of my automated solutions use a diverse toolbox. Instead of a bunch of disconnected scripts, I am able to use AppleScript to push and pull data from these and other programming languages all controlled by a master script.
Windows, Linux, and iOS do not have this. It's one of the few unique things Macs can do. Windows 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 use switch to PCs which would have destroyed our workflows. I fought against Microsoft Windows for years. Now I fear what Apple itself will do.
Agreed - Apple is becoming their own worst enemy (and ours).
A computer that can't be programmed by the end user isn't a computer, it's a toaster. I use Applescript all the time, to reorganize files, crop photos in batches, convert text files into spreadsheets and vice-versa, and to prepare text files for publication. I would hate to lose Applescript - it is the reason I love my Mac.
As the developer of Script Debugger (AppleScript editor/debugger), I have a mountain of automations for my business. I have build automations which 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 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.
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 $2,435, and called myself a Mac Consultant. Within a few short years I was using AppleScript for automating workflows for NYT, 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 NYT paper, which are still being generated daily using my AppleScripts to this very day.
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 & individually marked per the recipient. This can be done inside Media Composer, but its clunky, slow, relatively manual & ties up the editing system.
I was able to learn & write an AppleScript application which takes Quicktime files & creates FFmpeg commands to convert them to our required formats along with multiple burnins - names, dates, timecode's, even cutting 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, choose presets, press encode. The formatted FFmpeg 'jobs' are split into batches and sent to the Terminal for batch processing.
All this happens in the background, film editing work continues. The time savings are enormous. Hours per day. AppleScript is indispensable for us.
I use an AppleScript for the Mail app to automatically grab the raw source of spam messages and send an email reporting the spam to Spamcop. It's very tedious to do that manually and, when there is so much junk mail to report every day, I would give up if it weren't for AppleScript.
Part I:
Above, several of my clients and AppleScript Pro alumni have described very cool automated solutions. So I’m discussing Mac automation in general…
Like many others, I got my first computer because I wanted to avoid dull, repetitive, manual tasks. Then I realized that although I was accomplishing more on a Mac at work I was still repeating many manual steps every day.
The market demands that commercial software must appeal to tens of thousands of users in order to be successful. Consequently, no software does exactly what we need for our own work. To move beyond that, I started making shortcuts with macro utilities to drive the UI, but otherwise my only choice would have been to become a full-fledged programmer and write my own apps from scratch.
Part II:
Mac automation technologies like AppleScript and Automator provide a “middle way” solution which bridges that gap. I can customize existing applications to do exactly what I need to get done, without creating an entire program from the ground up. AppleScript’s English-like syntax and Automator’s puzzle-piece interface are often derided by traditional programmers. But it is a great solution for people working in deadline-driven production environments, where a user may only be able to focus on automation a few hours a month.
In the publishing world, the automation potential is huge. Often a six-week process can be reduced to a couple of days. Companies really need these types of customized solutions, and Mac automation is often the only answer. App extensions must, again, appeal to thousands of users, and while saving some time they end up requiring users to go through the same manual steps every day.
Part III:
We must also remember that AppleScript in the hands of an experience script is a rapid development environment. One of my first clients had an IT staff of 40 people, with one group dedicated to text automation and another dedicated to images. Using a Windows platform, major new automation implementations would typically take six months, but not be able provide full automation. Enter AppleScript, where my development would typically take two weeks and be crucial to the workflow. And fixing last-minute problems where other technologies fell short? Typically a day or two.
We need these automation technologies to continue because they remain a major advantage to the Mac platform, saving companies huge amounts of money every year, and making the lives of so many users much less tedious.
###
I work as a developer on macOS for a large, multinational packaging design company. Amongst other things, I write AppleScripts to automate the laborious parts of the work.
When I automate something, I estimate how much time we save per use, then log every use in a database. Its then relatively simple to calculate how much was saved by each app every year. Last year AppleScript based solutions saved us well over £100k. And that's quite puny compared to my old employers' stats.
The fact that we can do this is what keeps up buying Macs. If we couldn't, then Windows would start looking like an attractive option to some. As it is, we can say, "Hey! Don't go to Windows or you'll lose £100k plus a year!". Pretty persuasive.
I know AppleScript has some pretty big flaws. If you have to get rid of it then so be it, but only if its replaced by something better.
I asked at NASA how to download the full earth imagery from DSCOVR
http://epic.gsfc.nasa.gov/
and one of the scientists there sent me an Automator script I can run that goes to their archive and collects new pictures. I'd never used Automator before and am learning how.
I work for a Real Estate marketing company. A couple of our main products are built around our template editor which enables customers to drag n drop images and edit text fields. These changes are transmitted to a Mac running InDesign. A PHP routine updates the IDML and invokes an AppleScript routine that causes InDesign to render the changes and output an updated PDF. This PDF is converted to a JPG which the customer views in their browser. All the complexity of InDesign is hidden from them. All they worry about are their images and text. We can make the templates as complicated as desired and at the end, the customers get exactly the marketing materials they want (the PDF). All because Mac applications have a programmable API.
@Ray Robertson III: [abr] "Using Windows, major new automation implementations would take six months but not provide full automation."
That's an endemic cultural problem, not a technological one. Teams of programmers who only know how to program run by managers who only know how to manage. They know nothing of the problem domain and have no interest in learning, yet assert their skill at Teh Codez qualifies them to solve problems in that domain despite repeated failures.
I'll take a talented, ambitious artworker—the REAL domain expert—and teach her how to code any day, than try to convince the bureaucratic deadweights of your average corporate development team to change their ways. The former is highly motivated to raise her game; the latter to protecting its turf and resisting change or loss of control.
It's not about Mac vs Windows, it's about users vs entrenched interests. And in that respect AppleScript is just as isolated and indifferent to the other 99% as Real Programming is.
Mac Automation is already a FAILED PRODUCT and Apple knows this. They're a $½Tn global business serving ½Tn customers; it has no interest in 10000-user products and kills even successful ones (Xserve, Aperture, etc) with zero remorse. Automation as we know it is already dead—it just hasn't stopped twitching yet: what Apple needs now is a user interaction model that serves the other 99% too.
Mac Automation's true value to Apple now is the vast unique insights it offers in shaping what comes next; learning from its failures as much as its successes. Today's QUERY-driven Apple Event Object Model ("scriptable app" interfaces) may be flawed; but imagine a worthy successor as THE cornerstone of our future QUERY-driven Siri world. AppleScript's Pascal semantics and syntactic fakery is a convoluted horror, but issuing simple human readable AND writable AND touchable AND speakable COMMANDS is the next UI/UX Revolution just waiting to happen.
Let us teach Apple to see this too. Think Different
I write my own PDF Services (available in the PDF button of the print menu) and OS X Services for manipulating PDFs.
A Folder Action watches a location, and any PDF placed there gets turned into a PDF of booklet spreads, which is saved to another folder.
I have services to split PDFs, join PDFs, turn images into PDFs and turn PDFs into images, count the number of pages in a PDF -- all written using Python PyObjC!
I use these services all the time, and without them, my work would be slow and tedious.
In our 50+ people organisation we use AppleScript to automate the creation of Word documents and email messages. Creating word documents with 100+ images is a real timesaver (considering doing this by hand). Also, we keep record of customer data (name, address and some dates), which will be used to fill into the Word documents and mail messages. This way, a lot of errors are eliminated, and we use this info for the billing process too. Besides AppleScript (8000+ lines of code) we integrate python code and a Postgres database.
My company makes extensive use of AppleScript automation, sometimes embedding command-line or XSL constructs to make automation of more efficient or provide features not available in AppleScript.
The automation ranges from simple scripts to check that backups have been completed or firewalls are enabled to more complex scripts that parse large XML files to provide customised XML feeds for particular purposes.
We use AppleScript to automate internal publishing workflows. For one large client, we have a suite of scripts that interface with Mail, Acrobat, Excel and BBEdit, to provide workflow automation that is both much faster and of higher quality than would be possible with manual effort. For example, every day we have Acrobat automatically convert many PDFs to text that can then be manipulated in BBEdit, using that application's grep capabilities, to extract information to update internal Excel worksheets. All this is done perfectly in seconds by AppleScript rather than taking someone 10 to 15 minutes or more each time, with associated data entry errors or delays. Exception handling and predetermined errors are passed on to a human to resolve (and provide ideas for even more automation).
Other scripts extract information from the same Excel worksheets and use it to send customised emails allocating folders, files and special instructions to each member of a team of editors – a task that can, again, be done accurately in 5 or 6 seconds rather than taking the team manager 30 or more minutes each time it has to be done (at least once and often twice daily).