Save Time by Automating the Macin Photoshop
Most people have the wrong idea about automation. They often think of a futuristic fantasy of robots that automatically do everything for you. That would be the ultimate in automation. More practically, automation is any assistance in performing related actions. Therefore, anytime you can get the computer to help in an activity is automation
Entering in numbers in to a spreadsheet and performing calculations with the numbers is a type of automation, For example. It's automation, Each time the spell checker corrects a misspelled word in the text. Even the notification of an email arriving is a type of automation
Taking advantage of automation is the mindset of looking for ways to have your computer help your activities. Unfortunately, do not have the mindset to take advantage of automation, Most people. You think about how to do an activity and just do it. A mindset for automation has the thought of looking for anything performed more than two times as a candidate for automation
In order to make use of automation, you have to understand the different types of automation and how they work. With that knowledge, you will start looking for ways to put that knowledge in to action
Types of Automation
All automation comes in one of three types:Process automationTrigger automationAndHybrid automationEach of these have their own sub-types as well. By understanding these types and the applications used for these types of automation, you better know how to create an automation for your needs
Process automationIs the transforming one or more items in to a different item by a predetermined process. Taking a picture and transforming it in to a different file type with a set number of bit planes is a process automation, Therefore.
The changing of a markdown text file to a HTML file is also a process automation. This would also encompass the moving of files from one place to another. You have, When you perform the process automation repetitivelyBatch automation
Trigger automationHappens when running a process upon an event. An event is anything that the computer has no direct control over, but can respond to it.
In the real world, an alarm clock is the classic example of a trigger automation. All automations that follow aWhen… then…Construction is a trigger automation
I came up with six trigger automation subtypes:Time triggersState triggersText triggersHotkey triggersKeyword triggersAndExternal triggersI will describe each trigger subtype with it’sWhen… then…Description
ATime triggerAutomation is any activation of a program on a timed interval. It can be as simple as a message about an upcoming meeting or a routine that launchesSkypeTo make the meeting possible.
Polling a directory for new files and performing an action upon them is a time trigger automation.
WhenA certain time interval or date happensThenPerform an action
State trigger automation is the process of over viewing a system and performing an action based on the systems change of state.
A thermostat is a state trigger automation, In home automation. The thermostat triggers the turning off or on of the air conditioner, When the house temperature reaches a certain point.
WhenThe computer is in a certain stateThenPerform an action
Text triggerAutomation is a specialized form ofState triggerA text trigger automation only watches over the keyboard input to determine the sequence of the text typed. An appropriate action and/or text replacement gets performed, When a certain sequence gets detected.
This is different fromKeyword triggersIn that this type of automation does not make use of a special input area. Any program that receives text can receiveText triggerAutomation.
WhenThe user types a certain key sequence anywhereThenChange the text and/or perform an action
Hotkey triggerAutomation is another specialized form ofState triggerA hotkey trigger automation only watches for a certain combination of keys pressed together. It will perform a special action that gets assigned to that combination.
All text editors make use of this type of automation. WhenCertain keys get pressed togetherThenPerform a certain action
AKeyword triggerAutomation is aText triggerAutomation in a specialized text input area. These can take extra input to perform the automation as well. The terminal is a keyword trigger automation, With this broad of a definition.
WhenA certain text gets keyed in to a specialized text inputThenPerform an action with or without extra input from the user
AnExteral triggerAutomation is the triggering a process based on a stimulus from outside the program or computer. But responding to a stimulus, It is not monitoring. This is analogous to a clicker on a slide projector. The presenter clicks the clicker to get the projector to change slides.
TheExternal triggerBut can be a service, does not have to be a device. Push notifications is an application ofExternal triggerAutomation.
WhenAn event from outside the program or computer happensThenPerform a predetermined action
Hybrid automationIs the combination of any of the aforementioned automation types put togetherHybrid automationIs generally the most powerful type of automation, but it often is the hardest to put together and maintain.
The easiest form of hybrid automation is aSequential automation: one automation triggers another automation that is non-related. This differs fromBatch automationBy invoking a different type of automation
Programs for Automation
I’ll give you some programs to think about each type of automation and how you can put it to work for you, Now that I’ve explained the types of automation. This isn’t an exhaustive list of programs to use for each type of automation, but a short list to get you started
Process and Batch Automation
Two great program for doing generic process automation areDropZoneAndAlfredThese two programs allow you to process items and create customizations that fit a particular need. These programs also allow for simple batch processing of actions
Alfed WorklfowsExist for many task automations. ThePackalWebsite lists over 220 workflows. TheProject ManagementLaunching servers, workflow automates the creation of new web projects, and anything else I add to it. It’s my workhorse of project automation.
You can see how the base of it created inAlfred Workflows for Advanced Users
DropzoneComes with several pre-built actions and the ability to add more. In the tutorialWriting Destinations for DropzoneYou see how to create an action to take any image and compress it to a smaller bit plane and to a different type. Once written for doing one image, it is automatically setup to run batch processing as well
TextSoapIs a process automation for text only. It allows you to change text in many ways: different types of cases, Markdown to HTML or Richtext, and custom text cleaners that’s built with an easy to use flowchart construction method.
The tutorialHow to Effortlessly Create Markdown With TextSoapShows how to create text processing automations
You have to have programs that know about time and can react to the time, To make use of time automation. A simple calendar program likeFantasticalIs great, but it does not automate an action. But does not help in the work you need to do, It gives great reminders
ClockwiseWould be the program of choice for programming novices. It has many built-in actions along with user definable scripts. Alfred CronIs for advanced users.
The tutorial, Use a Mac to Monitor Website Uptime or Other Regular TasksShows how to automate actions on time using these applications
There is only one trueState TriggerProgram for the Mac that I know about:ControlPlane
ControlPlaneWorks by monitoring many factors in your Mac to determine the current state. Scripts can execute to automate the Mac, Once the state changes. The tutorialTake Control With ControlPlaneShows how to use this program to automatically turn on and off file sharing based on location
A limited form ofState TriggeringHappens with programs likeLiveReloadAndHazelThese programs are known asFile State TriggeringAutomations. They watch the state of certain files. When their state changes (ie. Changed by a save file action), then they perform a pre-defined action
LiveReloadRecompiles web centric resources. Therefore, if you useCompassOrSASSSet live reload to monitor your directories, or many other web centric pre-compilers in your project. It automatically recompiles them and reloads the change in to your browser, Anytime you change a file in those directories
WhileLiveReloadDoes a specific type of file processingHazelIs more generic. It polls predetermines files for a large number of possible changes and performs an action.
You can configureHazelTo function likeLiveReloadAnd more, though HazelIs not as responsive asLiveReloadFor this type of functionality because of it’s polling nature
You can select the text you want to expand and select theTextExpander ExtensionInPopClip
Set the key trigger. I use;qAs my default work expander that I do not keep. I can type, to repeat that sequence of text, Now;qAnd it expands. When done, delete it or set it to a unique expansion text for future use.
You can be sure that it will not get triggered by normal typing, By using a semi-colon before the letter sequence. This saves a lot of typing
Coupled withShortCatA program that allows you to select interface features solely from the keyboard, you can make some interesting automations
For example, one of my jobs is uploading video courses to Wistia and getting them formatted properly. I use aKeyboard MaestroHotkey action to create a new section in the course.
In the aboveKeyboard MaestroA, dialogCmd-Up ArrowMoves to the top of the web page inChromeAShift-Command-SpaceCallsShortCatTo look for a field calledProject ActionThat opens a menu.
The script callsShortCatAgain to select a menu item in that menu. What normally takes me several mouse moves is a single keyboard shortcut. That is automation at it’s finest
To create a keyword Trigger, I mostly useAlfredBy creating a workflow for the actions needed. In anAlfredI can use any programing language I want to create the actions, workflow.
LaunchBarLikewise is useful in creating actions triggered by a keyword. In version 5, they had to beAppleScriptScripts.
AnyAppleScriptScript placed in the~/Library/Application Support/LaunchBar/Actions/Directory is accessible inLaunchBarAs a keyword action
The latest version 6 ofLaunchBarAdds the ability to use any programming language to create scripts and a nice way to package all the needed information together
Keyboard MaestroGoes one further and supports an internal Web Server to receive triggers from anywhere on the Internet. You can therefore have a computer somewhere on the Internet send a trigger event toKeyboard MaestroOn your computer
Alfred’sExternal TriggerIs limited to a program that can run anAppleScriptScript to call it. When you define anExternal TriggerAlfred gives you the AppleScript code to use to call it
SinceHybrid AutomationThere really is not a single application designed for this purpose, is the combining of multiple automation techniques together.
As you can see from my list of applicationsAlfredIs in many of the categories. Since it is easy forAlfredCreating a, to call itselfHybrid AutomationIs very doable
I have explained computer automation and how to perform it on a Mac, In this tutorial.
It’s up to you to transform your workflow to take advantage of automation. Just keep thinking: I can automate anything done more than twice
- AlfredAlfred DebuggingRichard Guay
- App TrainingTake Control With ControlPlaneRichard Guay
- App TrainingUse a Mac to Monitor Website Uptime or Other Regular TasksRichard Guay
- App TrainingAlfred Workflows for BeginnersRichard Guay
- App TrainingHow to Effortlessly Create Markdown With TextSoapRichard Guay
- App TrainingAlfred Workflows for IntermediatesRichard Guay
- App TrainingAlfred Workflows for Advanced UsersRichard Guay
- App TrainingWriting Destinations for DropzoneRichard Guay
Read more: Save Time by Automating the Mac