Peter N Lewis, the creator of my favorite Mac app, Keyboard Maestro, sent me an email — I thought it was just one of the newsletter emails, then I read it — an invite to test out [Keyboard Maestro 5.](http://www.keyboardmaestro.com/main/)
At this moment the heavens opened up and the sun shown on me brightly through the Seattle rain. Why do I tell you this: so that you, the reader, know that this review is written by a huge Keyboard Maestro fanboy — HUGE.
### What the Hell Does it Do?
I really, truly, struggle to define what Keyboard Maestro (‘KM’) does for most computer users. Simply put, it makes my life very easy. It isn’t a tool for the ‘average’ user, it is a tool for people who don’t like repetition, a tool for people who want speed. There’s a learning curve to the app, but it’s not insurmountable.
If I find myself doing the same repetitive task over and over, there stands a good chance that I can automate that action with KM, saving me a lot of time. You can do so much more though, that even such a miraculous sounding statement is not doing KM justice. Best just to tell you some of the things that I use KM for.
#### My Uses:
– Snap a screenshot using Acorn instead of the Mac’s built in tools.
– Append a date to file names.
– Set a click delay on the mouse so I can walk to the printer and load envelopes, then the print button is clicked.
– [Create a ‘focus mode’ for TextMate](http://brooksreview.net/2011/05/km-tricks/).
– Connect to a WebDAV server via keyboard in Finder.
– [Launch Transmit with a shortcut and login to a desired favorite](http://brooksreview.net/2011/05/km-tricks/).
– Mail the currently selected file with a specific email account (more on this later).
– Launch various AppleScripts with keyboard shortcuts.
– [Move selected files to a ‘To Archive’ folder](http://brooksreview.net/2010/12/keyboard-maestro/).
– Create a new (from anywhere):
– Blog Post
– Email
– iA Writer Document
– Note
– OmniOutliner Document
– TextMate Document
– Tweet
– Check OmniFocus at certain times for unprocessed items in the ‘inbox’.
– [Open my most used apps while closing windows of apps I don’t want to see after they are open](http://brooksreview.net/2010/12/keyboard-maestro/).
– Paste current clipboard in plain text.
– Running various Automator workflows with a keyboard shortcut.
– [Super Quit](http://brooksreview.net/2010/12/keyboard-maestro/) (quits all open applications).
– [Open Terminal and SSH into my servers](http://brooksreview.net/2011/05/km-tricks/).
– [Create a Markdown style link from any app just like MarsEdit does](http://brooksreview.net/2011/03/mad-links-km/).
– Center Reeder every time I switch to it.
– Create a link blog post (more on this in a bit).
– Grab current Safari URL and add it to the clipboard as a markdown formatted link with current window title as the linked text.
– Create a quote blog.
– Resize my Safari window to my preferred size.
– [Move Twitter for Mac back to the perfect location on my screen](http://brooksreview.net/2011/05/km-tricks/) (I am forever accidentally moving that window).
– Send current Writer document to TextMate for posting.
That’s 30 things that I use KM for almost everyday and it’s not even all the macros that I have set up. It is crazy to think how much tedious work this program has saved me and I am forever thankful for it.
### KM 5
With the release of [Keyboard Maestro 5](http://www.keyboardmaestro.com/main/) the software gains the following very awesome features (only the highlights as I see them):
– Control Flow
– Variables
– Calculations
– Undo-Redo
If you aren’t a KM junkie that list may seem pretty underwhelming, but I assure you that the second item on that list is huge for KM and that is what I want to talk about the most. (The others are excellent features, but I haven’t found good uses for them just yet and I didn’t want to reach to find a use for them just to write about.)
#### Variables
For me the biggest addition is variables, which allows you to ask the user for input and output it in specific areas without having to rely on clipboard history. Meaning that making more complex macros just got a whole lot easier.
Best just to show an example workflow. I mentioned above that I use KM to post linked posts to this blog, [here’s how I did it in the past](http://brooksreview.net/2011/03/cmd-one/) — now the process is much more automated. Here’s the process:
The key here is the variables, which as I have them implemented present dialogs like this:
When it is all said and done I get a TextMate document that looks like this:
[](https://f3a98a5aca88d28ed629-2f664c0697d743fb9a738111ab4002bd.ssl.cf1.rackcdn.com/km-post.jpg)
Pretty neat, right? I was able to do this before, but I had to click around and fill out the different ‘fields’ in TextMate, now all I need to to is add my comments and publish.
### Workflow, Mastered
The way I like to think about Keyboard Maestro is that it is a way for me to master my workflow — to command it — so it doesn’t command me.
Keyboard Maestro makes your computer work for you, not the other way around. It is one of the five best apps I have ever used on my Mac, hell on any device period. It is that good — be warned though, there is a learning curve with this software, but I believe the payoff is well worth the time spent getting to learn it. KM 5 also comes with a library of macros to get new users started.
### Learning, or How to Think About Macros
Showing you everything that I do isn’t likely to be that helpful to you — we all work differently. I show you my workflows and tell you about things that I do in hopes that I will be able to spark an idea of how you could use KM — there is more than one way to do things.
When I start to set up a new macro in KM here is how I work through getting the macro set up (I share this to help, if I can, you get going with KM):
1. Defining the end result that I want to achieve. (e.g. Creating a TextMate document formatted the way I want to be, pre-populated with certain information.)
2. Next I work through the steps that I would have to manually take to do this, noting along the way the areas that I would want to enter in specific data. (e.g. A file name or date.)
3. I then set up the new macro in KM starting with a name and hotkey. This is done so that I an can quickly test the macro as I go along.
4. Next I start to try and replicate each step in KM using the provided actions.
5. If I can’t do something with the actions KM gives me I go into the app I am interacting with (e.g. TextMate) and see if there is a menu item, or something that I provided that I can call on.
6. If I am still short on an action I move to Automator to see if it can do what I want.
7. Still having problems? Time to look for solutions via AppleScripting on DuckDuckGo.
8. Still issues? Time to dive into the command line and shell scripts.
9. Button it all up.
That’s less than ten steps that will take a look of planning, but hopefully pay off in spades. There has only ever been a few things that I couldn’t get accomplished with KM, kudos on version 5 — it is a great step forward.
[Go get it](http://www.keyboardmaestro.com/main/), it’s $36 for new users or an $18 upgrade for current users.