Supporting the Enterprise with OS X Automation notes

Enterprises are made up of individual people.


- When you're building solutions, keep in mind that you're building your tools for peoples' benefit.


Workflow strategies


Take advantage of strengths

  • Use the right tool for the job you're working on
  • If all you have is a hammer, all your problems look like nails.

    In reality, only part of the problems you're trying to solve will be nails.


Make your workflow modular


  • Design your workflows so that different modules are being connected together to do the job.
  • Enable repurposing, adaptation and expansion.

    Code re-use is a good thing.


Optimize your workflow


Problems will always appear in a enterprise workflow. Anticipate the issues and optimize your automated solution's workflows


  • Eliminate bottlenecks
  • Reduce repetition
  • Remove complexity / confusion


Design your workflows for your users


  • People will avoid complex solutions, they won't like using them if they're hard to understand or operate.
  • People will use convenient solutions, all the time.


Pursue inclusion


Success uses AND (inclusion) conditions, not OR (exclusion).


In Apple's case, AND is embraced by finding places where iOS AND OS X can work together smoothly.



OS X's automation technologies:


  • AppleScript / AppleScriptObjectiveC
  • Javascript for Automation (JXA)
  • Automator
  • Unix shells / Python / Python / Ruby


Enterprise Automation Scenarios


Scenario 1 - Workgroup Image Repository

Scenario 2 - Automating document creation

Scenario 3 - Automating setup of iOS devices



Workgroup Image Repository


Set up Photos.app on a Mac to house all photos needed for a particular project. All devices associated with working on this project must be able to add their images to this central repository.


Technologies used:


File Sharing (SMB/AFP) - allows Macs and Windows computers to connect to the Photos.app Mac

AirDrop - allows iOS devices to connect to the Photos.app Mac

Automator and Folder Actions



Folder Actions needed


1. For the write-only ~/Public/Dropbox folder available via File Sharing - folder action imports newly-added files into Photos.app

2. For the ~/Downloads folder available via AirDrop - folder action imports newly-added files into Photos.app

3. Folder action to auto-accept the AirDrop authorization dialog



Folder Actions available via https photosautomation dot com



Automating document creation


Create a workflow that automatically creates a Keynote document that uses information from selected documents and AirDrops the presentation to an iOS device.


Watch the video for the demo, I don't think I'll be able to explain the various interactions well.


AppleScript and Automator actions & workflows available via https iworkautomation dot com




Automating setup of iOS devices


Two kinds of deployments

  • One-to-one
  • Shared-use



One-to-one


Automated setup and provisioning can be handled by the following:


  • Device Enrollment Program (DEP)
  • Volume Purchase Program (VPP)



Shared-use


Apple Configurator can handle automated setup and provisioning for shared-use devices. Can manage dozens of devices at once and provide management for hundreds of devices.

New version of Apple Configurator now available, Apple Configurator 2.0


IT should have the knowledge needed to manage iOS devices using Apple Configurator. However, often the folks who need to work with or manage some or all their devices aren't in IT.


"Accidental Administrators" - non-IT folks who get charged with handling IT tasks, like configuring iOS devices


Apple Configurator 2.0 includes Automator support. Watch video to see the various Automator actions available.



Note: When building your applications for people, make sure to include dialogs to keep the user informed and in the loop. For example, have a "I'm going to do X, is it OK to do it?" confirmation message at the beginning of an automation workflow, then have a "OK, all done." message at the end of the process.



Create easy-to-use configuration tools for your "Accidental Administrators"


  • Integrated Automator actions support modular workflow design
  • Save workflows to system-wide Script Menu

    Another option here may be building an Automator application



Customization via an integrated Script Library


  • - AppleScript
  • - JavaScript for Automation (JXA)


Automator actions for Apple Configurator available via https configautomation dot com



Online resources mentioned during the session:


Photos.app automation - https photosautomation dot com

Apple Configuration automation - https configautomation dot com

iWork app automation - https iworkautomation dot com

General OS X automation resources - https macosxautomation dot com