Biz & IT —

It’s the little things, Pt. 2: The importance of automation

The definition of insanity should be doing the same manual task over and over again.

The price of creativity

A final example: one of the major sticking points I have with Adobe is that Acrobat's scripts for creating PDFs of Office documents create PDFs that are no better than what you get from OS X's "print to PDF" button. This is fine if you don't need things like table-of-content links that work, but Acrobat doesn't really create a structured PDF that's worth a darn. And in the case of Entourage/Outlook, it didn't do squat. (I'm pleased to say that Acrobat XI made huge improvements in this area. It's not perfect yet, but it's much, much better.)

I got tired of what I felt were somewhat substandard justifications for lacking e-mail support, and I set out to prove Acrobat wrong. Using Entourage (and later Outlook), I created a script that converted HTML e-mails to structured PDFs. That meant the links worked, the graphics looked good—all of it. Later, after a company named Smile acted on a "please let me create a PDF from an HTML file via AppleScript" request I made, I was able to quickly modify that script to use Smile's PDFpenPro. While the initial motivation to make this happen was frustration, the end result gave me something that I didn't have via existing application feature sets.

I still get after the Acrobat team about cleaning up its AppleScript implementation. There are a lot of things that I could use Acrobat for that the team may never see as a priority, but it's a priority for me. And if I have a good automation implementation, I don't have to wait. I can solve the problem myself, and then Acrobat (or whatever the application is) will become so much more valuable. It will become a part of my workflow.

This is one of the real reasons I started using, and became a fan of, PDFpenPro. It's not that it does any one task better than Acrobat—Acrobat will create some amazing PDFs. But PDFpenPro has a much better automation implementation, so using it in ways that the Smile folks might never think of (or don't have enough reason to implement) is much easier. I get Acrobat via my employer—it effectively costs me nothing—but I still prefer PDFpenPro. And on a pure feature basis, Acrobat has more going for it. PDFpenPro simply gives me the ability to create my own features in ways Acrobat doesn't, and that's a value Acrobat can't touch.

The value of time

No user should have to wait and click.
flickr user: Ars Electronica

I value my time, and when an application forces me to do things manually, it tells me that the devs who made the app don't care that I'm wasting my time. This may not be intentional, though. Sometimes it's just a blind spot with the developers. For a long time, Photoshop had essentially no automation capabilities. You had to do everything manually. When users would bring up the issue to various members of the team, the standard reply was a variant on "you can't script creativity."

While true, this answer missed a major use of Photoshop: production. Say you have a bunch of high-resolution TIFF files that have to be converted to Web-ready JPEG files. It's tedious work, and for many years, it was manual work. Then a guy named Cal Simone created a plugin for Photoshop that allowed you to automate the process via AppleScript. It sold rather well, and Adobe, seeing the writing on the wall, quickly created its own automation implementation (not only in AppleScript, but in Visual Basic and later JavaScript as well). The company even documented it (and it's amazing documentation).

What did this mean? Well, let's take the TIFF-to-JPEG example. Instead of having a human doing the same thing over and over, you could instead set up a script and point it at a file of TIFFs. The script would then iterate through the files and save each one out as a JPEG with an (optional) image size reduction and specified compression level. Barring bugs, the script always works. It will never mistype a dimension or a file name. You can run it on one of the slowest machines you have, because it's not like you have to sit there and watch it. If the script encounters a problem, it can save the TIFF to an "errors" folder and add the file name to an error list to be e-mailed out afterward. None of this will require any humans to sit there doing monkey work. They can spend their time doing original work or fixing any conversion problems that pop up.

I can think of few industries that are based around computers and networks without a production component. So it's not just a few key players that benefit from automation. And we're not just talking about scripting. I know a lot of people and companies that still send out physical holiday cards. Manually addressing a few? That's OK. Manually addressing a hundred or more? Not so much. Luckily, thanks to a rather old concept known as mail merge, you don't have to do address cards manually at all. You just point Word at the data file and merge creates the address labels for you in seconds. When I see an app that doesn't allow this kind of automation, like Final Cut Pro, it makes me look for another program to use. I want an application that's not so impressed with its "creativity" that it doesn't want to be a part of any other kind of workflow.

Doing repetitive processes manually when you have no choice is one thing. Sometimes, it's just not a task you can script. Other times, the task is only going to happen once, so it might take longer to automate it than to just do it manually. But transcoding video? That's common. Both Apple and Adobe created applications (Compressor and Adobe Media Encoder, respectively) specifically for this purpose, and yet at no point has it occurred to either team that people should not have to do this task manually. Users should be able to use these apps without ever having to click on any kind of executable. We have better things to do with our time than clicking buttons and watching progress bars.

But here we are—two companies that know the value of automation and yet two apps that are nothing but barely scriptable production apps. We pay for these products. Part of what we pay for is the company's time because the time spent creating the apps has value. Doesn't a customer's time have similar value?

Automation. It matters—a lot.

Channel Ars Technica