Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Using Automator to Expand the Market for Your Software

Automator, the powerful automation functionality built into Mac OS X Tiger, brings developers some powerful new business opportunities. If you haven't yet considered how Automator can work for you, this article may give you some ideas for writing your own Actions, either by adding them to your application or as standalone products, and some business suggestions that could help you find new ways to generate revenue using Automator.

Automator lets users automate time-consuming, repetitive chores using Workflows that link together discrete functionality (called Actions) of various applications. This means a user can run an Automator Workflow that downloads images from the family's shared summer reunion webpage, add them to their personal iPhoto library, apply a ColorSync Profile that changes the photos to sepia tone images, then use Transmit to upload the sepia versions to another website.

The opportunities for developers lie in creating Actions and Workflows. For application developers, this is a great way to expose key features and extend their applications and reach new markets, as well as to increase perceived value and loyalty among their existing customer base. Automator also opens the door to creating Actions and Workflows that provide powerful functionality that developers can sell into a growing market as stand-alone products or as plug-ins for existing applications. There are similar markets for products such as Photoshop plug-ins and Quark XPress XTentions, which range from simple functionality to complex and industrial-strength professional Workflows and automation tools.

Actions and Workflows

Every Mac user gets Automator, as well as a variety of Automator Actions and some sample Workflows, when they install Mac OS X Tiger. In addition, the Mac developer community has been hard at work building Automator support into their applications and creating Actions and Workflows for their applications, making their customers more productive. Within the first two months after the release of Tiger, more than 550 Automator Actions were already available, for Apple applications such as Address Book, iCal, iPhoto, Keynote, and Mail, of course, but also for many third-party applications, including:

  • Photoshop: Image-editing software with over 30 Actions created by users to handle everything from opening a new document to applying an Unsharp Mask filter.

  • BBEdit: A text editor that automates a variety of repetitive text-processing tasks with Actions, such as scrubbing the contents of a BBEdit document by removing line breaks, changing straight quotes to curly quotes, "zapping gremlins" and removing line feeds.

  • Transmit: An FTP client with Actions for uploading, downloading, and synchronizing files with an FTP, FTPS or webDAV server.

  • NetNewsWire: An RSS newsreader with Actions to subscribe to RSS feeds, export subscriptions to files, and more.

  • TextSoap: A utility that cleans up text, and allows users to apply any TextSoap cleaner, such as removing those annoying forwarding marks in email, from within their Workflow.

Actions get truly useful when they are combined into Workflows, such as the one described above. Tiger ships with a few sample Workflows, but creating or modifying simple Workflows that use pre-existing Actions is easy for users. And, once a Workflow is created, it can be saved and run simply by double-clicking on it. It can also be easily shared with friends, family, colleagues, or the whole world via the web.

Opportunities for Application Developers

It's the very nature of Actions and Workflows that make them powerful for expanding the market for an application. Actions focus attention on specific functionality, and that can be a powerful marketing tool, because customers are often seeking specific functions. And Workflows, because they link applications together and are easily shared, can bring visibility to an application in a crowded marketplace.

Let's take the case of a self-employed developer who creates a cool new Mac OS X application. He needs to compete against the promotions and ads of a myriad of other products to get the attention of the typical Mac user. As a small businessperson with a tiny marketing budget, it's difficult for him to establish brand recognition and mindshare for his product. He has solved the tough technical problems, but marketing his product is intimidating, as marketing not his core skill—in fact, he'd rather spend his time on the technology anyway. He needs an effective way to get above the crowd and get some attention for his product.

Enter Automator. To stand out in the market, our developer decides to expose one killer feature of his application—a single, time-saving task that his application does exceptionally well—through an Automator Action. Then he makes his Action widely available, for free or a nominal fee, on various Automator sites. The focus on one key capability of his application has made it easy for people to immediately grasp its value, and it begins to get attention. People begin building it into their Workflows—anyone can save the Workflow containing this Action as an application—and it starts getting shared among friends and colleagues. Knowing it comes from a trusted source, recipients double-click the Workflow application and it fires up Automator. To those users who don't have the missing application on their system, Automator displays a message indicating that the Workflow can't run until the application is installed (see AMRequiredResources below).

Once the Action is part of a Workflow that does something valuable, the missing application becomes desirable, even necessary.

Adding AMRequiredResources to Your Action

Actions can tightly bind themselves to an application; in fact, before running an Action, Automator checks to see if any external resources are required. Specifically, by configuring the optional AMRequiredResources property in the Action's information property list (Info.plist), our developer sets himself up for a potential sale to anyone who uses his Action. This property guarantees that the Workflow containing the Action can't execute unless a specific version of his application is on the user's system. The following is an example use of AMRequiredResources:


  <key>AMRequiredResources</key> 
    <array>
      <dict> 
        <key>Display Name</key> 
        <string>Your Application Name</string> 
        <key>Resource</key>
        <string>com.yourdomain.YourApplication</string> 
        <key>Type</key>
        <string>application</string> 
        <key>Version</key>
        <string>2.7</string>
      </dict> 
   </array>

Binding the Action to the application is beneficial both to end-users who receive a Workflow containing the Action and to the developer. The end-user gets a valuable Workflow created and recommended by other users. Because the Workflow requires the application, the user is more inclined to purchase it, having seen its utility right away. The developer has not only sold one more copy of his application, he's also expanded a community of users who are actively promoting his product because they understand and value one of its key features.

A Market for Actions and Workflows

There's another kind of opportunity with Automator, as well. Consider the case of another developer who has an idea for some very compelling new functionality, but isn't yet ready to build a fully-fledged, multi-feature product. Instead, she'd like to get just that functionality—essentially, a single feature or task—out there quickly to gauge the market and start generating revenue early. She can quickly create an Automator Action that delivers her feature and lets users build it into Workflows that rely on other applications.

The templates in Xcode 2.1 make creating Actions easy, and there are various technology options. Depending on the resource integration needs of the Action and the developer's personal skill set, her choices are:

  • AppleScript Action. Any application with a scriptable interface can be controlled by an AppleScript Action.

  • Cocoa Action. Any application or framework with a public programmatic interface can be controlled by a Cocoa Action. Moreover, a Cocoa Action can call through to any system framework.

  • Shell Script Action. The full power of the Mac OS X operating system is available to shell script Actions through the command-line interface.

When it comes to UI design, our developer's work is made light. Unlike a full-blown application, she just needs to design a minimal UI for the Action's pane. Figure 1 shows the Apply Unsharp Mask to Photoshop Documents Action from Automated Workflows, LLC, a good example of a UI that provides enough information to be useful, but not so much that it's busy or confusing.

Unsharp Mask Action

Figure 1: Just Enough User Interface for an Action Pane.

Simply put, Automator gives developers the freedom to build and sell smaller components. For example, instead of spending a year building one application with 100 features that sells for $29.95, a developer could release one or two Actions right away, then incrementally build up a suite of dozens of Actions that sell for a few dollars each. This model generates essential startup revenue, and eventually the developer can bundle a set of Actions with a discounted price for the package. Users get the choice of buying one or many Actions, as they see fit, and the developer stays productive while still generating sales.

Building Customer Loyalty

A Workflow that does something critical for a user is not likely to be abandoned. If that Workflow includes Actions bound to one or more applications, the user is likely to stay loyal to those applications, because the user has developed a dependency on the Workflow. If the Workflow does what they need time and again, there's simply no reason to change. They are also likely to recommend the Workflow to others.

Equally worth mentioning, for businesses that rely on automation, Workflows become part of their business processes and infrastructure. They invest internal resources for developing and fine-tuning them, train people around them, and are thus generally very committed to them.

Conclusion

Automator is significant because it's more than a technology—it's a delivery mechanism for a developer to increase sales and gain mindshare with customers who might not otherwise realize that the product has value. Whether you're selling a brand-name Mac OS X application or have an idea for the next killer feature, the path to more customers starts with that robot icon in your Dock.

Getting Started

With the support of Xcode 2.1 and the flurry of activity around Automator, there's no better time to get started. These steps will help you start taking advantage of Automator today:

  1. Make sure your application is scriptable. Scripters out in the world can't write Automator Actions to leverage your application unless the application is scriptable.

  2. Write your own Automator Actions. This puts you in the driver's seat to make sure the Action is bound to your hosting application for maximum revenue potential. Scripters don't have as much incentive to do that for you. To learn how to write Actions and create Workflows, check out the following resources:

  3. Look at existing Automator Actions for ideas. The following sites serve as clearinghouses for Actions and Workflows currently available:
    • Automator, an Apple site that includes a tour, examples, downloads, developer information, and other resources.
    • AutomatorActions, the MacScripter.net site for Automator.
    • Automator World, a site for downloadable Actions, Automator news, training, discussions and more.
    • The Apple list of downloadable Automator Actions.
    • For more information on using Automator, see Automator on the Mac OS X site.

Updated: 2005-07-21