Guides and Sample Code


macOS Human Interface Guidelines



Automator helps users automate common procedures and build workflows by arranging processes from different apps into a desired order. Familiar Apple apps, such as Mail, iPhoto, and Safari make their tasks available to users to organize into a workflow. These tasks (called actions) are simple and narrowly defined, such as opening a file or applying a filter, so a user can include them in different workflows.

image: ../Art/automator_2x.png

As an app developer, you can define Automator actions that represent discrete tasks that your app can perform. You make an action available to users by creating an action plug-in, which contains a nib file and code that manages the action’s user interface and implements its behavior. You might consider creating a set of basic actions to ship with your app so that users have a starting point for using your app's tasks with Automator. For more information on developing Automator actions, see Automator Programming Guide.

As you design the UI of an action, keep the following guidelines in mind.

Minimize the height of an action. Users stack actions on top of each other in Automator. Because display screens are wider than they are tall, you should minimize an action’s use of vertical space. One way to do this is to use a pop-up menu instead of radio buttons, even if there are only two choices.

Don’t use group boxes. An action does not need to separate or group controls with a group box.

Avoid tab views. Instead, use hidden tab views to alternate between different sets of controls.

Avoid using labels to repeat the action’s title or description. Labels that repeat information available elsewhere take up space without providing value.

Conserve space by using the appropriate controls and layout. For example, you can use a disclosure triangle to hide and display optional settings. (For more information on disclosure triangles, see Popover.) Overall, you should use the small size of standard macOS controls and 10-point margins to make the best use of space.

Provide feedback. Use the appropriate progress indicator when an action needs time to complete (for more information about different types of progress indicators, see Progress Indicators).