Productivity Apps: Keyboard Maestro

keyboard_maestro_logoI’ve had this article on the back burner for almost three years now, but for the next thrilling instalment of my productivity app blogs, I’ll be turning to look at Keyboard Maestro.

Don’t let the somewhat dated website put you off, the app itself is unbelievably powerful. I have to admit to being wary when I first tried it out. The learning curve is steep, and the documentation pretty unclear – especially when compared to the other productivity apps that are available. However, after months years of sustained use, my feelings towards Keyboard Maestro have completely changed. It’s tough to get into, but so worth it. I honestly don’t know what I would do without it at this point.

So if Keyboard Maestro is so great, why did it take me so long to publish this? Well, there’s a few reasons. Firstly, there aren’t so many general use cases for Keyboard Maestro – at least not for me. Instead, it’s an app that’s best for repetitive tasks that are very specific to each user’s needs, which makes it difficult to give good examples. Secondly, it’s an app that you tend to set up and forget… before rediscovering it later on when your needs have changed, and you realise: “Oh! Keyboard Maestro could make this way easier!”. I’ve gone through that cycle a number of times, and after rediscovering just how awesome it is, I decided to finally complete this post.

What does it do?

Okay okay so Keyboard Maestro is great, but what does it actually do?. This is a good question, as it isn’t immediately obvious. Essentially, Keyboard Maestro allows you to take any task that you have to repeat, and automates it. If you’re familiar with Alfred, think of Alfred workflows, but on steroids. The key difference is that instead of having to write Applescript for every action you want to complete (which is still an option, by the way), there are a whole bunch of options baked in. Whether that’s telling the mouse to move and click on a certain point, displaying a popup message, getting an image size, filling in a field on a website, or whatever. You get a lot of control from the get go.

Keyboard Maestro Actions
Some of the ‘actions’ available.

 

The sheer power of Keyboard Maestro is also its undoing in a way. It’s easy to look at the list of actions and wonder when you will ever use any of them. The UI is not the most intuitive, and you’d be forgiven for giving up at the beginning purely on that basis alone.

If you want to carry out simple, general tasks, then there may well be a nicer app that lets you do those things. However, that isn’t the point of Keyboard Maestro. Keyboard Maestro is there to help you automate pretty much any task that you can think of.

In addition to the automation, there is a whole host of other cool features that you can do a deep dive into – such as an extensive multi clipboard manager, application switcher, and others – but for me the real glory lies in the macros.

What can it do for me?

 

One of the biggest hurdles to starting off with Keyboard Maestro is working out exactly what you’ll use it for. It takes a conscious effort to work out what tasks you could automate – which isn’t necessarily something you thought was possible beforehand. Once you do sit down and give it some attention though, you’ll soon come up with plenty. Do you have to fill out specific fields on a website more than once? Use a macro. Do you need to convert HTML to markdown? Use a macro. Need to extract URLs from a big block of text? Macro. The possibilities are endless.

As part of my job, I regularly have to review and respond to reports about different websites using a helpdesk system. Each one (generally) requires me to:

  1. Find the website URL in the e-mail and open it.
  2. Decide what to do.
  3. Note down the action taken in certain circumstances.
  4. Reply by copying a specific part of the original message, and quoting it back in a certain format before providing an appropriate response.
  5. Select a certain option to mark the issue as ‘Resolved’ or ‘On Hold’.

All of these steps are fairly straightforward, but a lot of time is taken up by clicking through the same tasks for each – even when I use a textexpander or snippet manager like Alfred. Sometimes the URLs are jumbled up and I need to fix them before opening or responding, or they are buried in huge blocks of text… etc. However, with Keyboard Maestro, I can reduce this all to a couple of key presses, with a couple of macros doing all of the following:

  1. Extracting all of the URLs from the messages, and opening them in new windows.
  2. Pasting the URLs in the correct quoted format at the top of the reply, along with the appropriate response.
  3. Adding whatever notes needed to track the action taken in a specific field.
  4. Marking the issue Resolved or On Hold as appropriate.

The only thing Keyboard Maestro doesn’t do is decide what action to take – which is just as well really, for a variety of reasons!

Like many of the examples, that one is very specific, but it demonstrates a bit of how granular and useful Keyboard Maestro macros can be – and will hopefully get you thinking about your own use cases. Here are some other more general tasks I regularly deploy macros for:

  • Inserting a URL wrapped in a href tags.
  • Pasting text with different styles of quotes depending on the situation.
  • Parsing blocks of text to extract URLs and/or e-mail addresses.
  • Getting ID numbers from long URLs.
  • Pasting items in a bulleted or numbered list automatically.
  • Filling out forms online.
  • Copying the current URL from my browser window (and doing stuff with it).

The most powerful and useful ones are those that have very specific, work related use cases. With a bit of imagination, you’ll come up with your own, so I’d encourage you to give it a bash.

Triggers

To wrap this up, I wanted to highlight one more feature of Keyboard Maestro that makes it stand out from other productivity apps. For those veterans amongst us who regularly make use of workflow improvements, it’s easy to run out of hotkey assignments, and Keyboard Maestro has a bunch of different ways to solve that problem. First off is the use of ‘palettes’, which lets you assign the same hotkey to different macros – and then select them from a menu – or to activate different hotkey sets depending on what you’re working on that day.

If you already use Alfred, Keyboard Maestro is a brilliant complement, rather than a replacement in this way too. There is a specific Alfred workflow that lets you search and trigger Keyboard Maestro macros from the Alfred search bar, which is incredibly useful for those that you may use occasionally, but don’t want to dedicate a precious hotkey to: Alfred Maestro.

Finally, triggers aren’t just confined to mere hotkeys. Oh no. Pretty much any event you can think of can kick off a macro. If you want certain changes to happen when you connect to a particular WiFi, you can make that happen. Execute commands remotely by running Keyboard Maestro on a server? Why not. Run certain checks when a USB device is plugged in? Easy. You can even have Keyboard Maestro react to MIDI notes and values, which opens up a whole world of interesting hardware controllers aside from the keyboard… something I’ll be exploring in the next post.

In the meantime, go forth, and automate!

 

Advertisements

Productivity Apps: Alfred Remote

Two weeks ago, the creators of one my favourite Mac apps – Alfred – released a second app: Alfred Remote.

alfredremote

What does it do?

Alfred Remote is an app for your smartphone (currently iOS only) that integrates with Alfred, and allows you to control your Mac from your phone. You can launch apps, interact with the system (to logout, dim the brightness, shut down the computer, etc), or run more complicated workflows.

What’s the point in that?

At first it isn’t quite clear what the point in some of the features of Alfred Remote are. They might be designed really nicely, and work well… but why bother launching an app on your computer from your phone if you then have to be at your keyboard to use the app anyway? It would be awesome if there was some way to input text into open apps, for example, but there currently isn’t – not easily anyway. I was a bit disappointed, as it seemed like a nice idea that didn’t have much use outside of controlling the screen when you were giving presentations.

However, as with Alfred itself, the ways in which it can become useful don’t come clear until you start to dwell on them a bit more. I realised there were more than a few things I would do on my laptop that would be great if I could control remotely – like when I was watching films on Netflix or VLC. As more and more people use computers as media centres, this app will prove more and more useful. It might be true that many of the issues that it can solve are very niche, but often they are the hardest ones to find a solution to.

On top of controlling your computer remotely, rather than thinking about it in terms of something that would be used instead of the keyboard or mouse, we need to consider the benefits of using it to augment them. As one fellow Alfred forum members put it, think of it as ‘Alfred Sidekick’ rather than Alfred Remote.

What do YOU use it for then?

The ways in which Alfred Remote will be useful will differ depending on your own needs and expectations. The beauty of the app is having the framework there, ready for you to create your own custom solutions to your individual problems.

For me, the first thing I did was to create a workflow for the media player VLC.

We don’t have a TV at home – as I don’t think the licence fee is worth the cost. As a result, we watch a lot of DVDs and other media files on a big LCD external monitor. Not having a remote control can be a bummer, so… I created one!

alfred remote vlc

The basics are there – play/pause, and buttons to change the volume – but there’s also a few that I added in specific to issues we came across, like to turn subtitles on or off, to fullscreen the window, and to increase or decrease the audio delay to compensate for lip synching issues. Simple, rough, but works great. Download VLC Remote Control here.

Next was Flux. Flux is an app that gradually changes the colour temperature of your screen throughout the day, in order to prevent eye strain. I hated it at first, but now I love it. Along with Alfred, it’s one of the first apps I’d install on a new computer.

The one problem with Flux is that it can interfere with the colour rendition for when you’re playing movies, or working on photos. There are ways to make up for this, but often it can be a pain if you’re sitting on your couch to go into the settings and find what you want. So…

Flux Alfred Remote

Here is my Flux Remote app. I can disable it for an hour, until sunrise, for the current app, access the preferences, enable movie or darkroom mode, and even quit the app completely. Download it here.

Third came Flickr. I love Flickr, particularly browsing through other people’s photostreams and seeing their work. Problem is, I’d really love to do it sitting with a glass of whisky, with the pictures in high resolution glory on my big screen rather than on my laptop. Luckily, Flickr’s interface has some keyboard shortcuts built in. I used these to create…

Flickr Alfred Remote Control

Flickr Theatre. This is really simple at the minute, but it lets me load up a big stream of pictures, browse between them, zoom in on them if I want, view them in lightbox mode, and then add the ones I like as a favourite. Pretty basic, but in the future there are a whole load of other things that could be possible. Download it here.

Now on to something that is more along the lines of the ‘Alfred sidekick’ mindset that I mentioned above. I edit a lot of pictures, and I am terrible at remembering the shortcuts to open common things like Curves, Contrast, etc. No matter how often I use them, they just don’t stick. So I had an idea… why not create a dedicated Alfred remote page to control these?

Screen Shot 2015-02-12 at 16.12.29

This is still a work in progress, so not online to download yet – but essentially I can keep my iPhone open at the side of the keyboard whilst editing pictures, and call up the tools I use frequently without having to worry about remembering their keyboard shortcut. Awesome.

These are just a few examples, and there are plenty more coming out all the time. I also use the built in iTunes control, and some others – but have chosen just to focus on the ones I’ve created specifically, as there is documentation out there on the rest. The Alfred community is alive and well, and the possibilities available by using workflows are pretty powerful. There have already been hints that future versions will contain more advanced features based on the feedback that has been received so far, so it’ll be interesting to see how things develop.

Where do I get it?

Currently the app is only available for iOS, but that should hopefully change in the future. It’s available for $4.99 on the App Store, or £3.99 in the UK.

To find out more, visit the Alfred Remote page.

Productivity Apps: Bookmarking with Shiori

Shiori

Bookmarking

Bookmarking. It’s something I’ve always struggled to find a good solution to. The in-browser features don’t really make it easy to quickly find common URLs, and I’ve tried to use other websites in the past, but they just didn’t seem to stick in my mind.

What I’ve Tried Before

The closest I’ve come to finding an answer is in Alfred, which I’ve blogged about before. There are a few different ways you can bookmark with Alfred, but I didn’t quite find that any of them matched what I was looking for.

First, I tried using the ‘web search’ feature to associate bookmarks with particular keywords. The problem with doing this though, is that you need to remember the exact keyword to call up the site you want. As as a result, it isn’t all that great for keeping track of lots of different locations.

Another solution was to use the Alfred Snippet Manager. This could be a really good solution, as you would be able to search by the title and description that you enter, as well as the content of the actual URL itself. However, if you already use the Snippet Manager for predefined replies – more like a clipboard manager – then having a large number of bookmarks in there could pollute the results, increasing the time it takes to find the things you need effectively.

I set out to find an alternative, and made use of my old Delicious account to create a workflow that could search through my bookmarks by making use of the private RSS feed. It worked, but was a bit clunky, and not as intuitive as I’d have liked. That meant that I didn’t ever really make use of it.

The real solution came in the form of a different app altogether…

Shiori

I stumbled upon Shiori completely by chance, and was surprised I hadn’t seen it mentioned anywhere before.

Both the website and the app itself are beautifully simple, and easy to use. You simply set it up to connect to a Delicious (free), Pinboard ($11 annually) account, or both. Personally, I use the latter – as Delicious keeps making changes to their service which break things. The $11 is worth the money. Call up the interface with a hotkey, and you can search through all of your bookmarks in an interface that is awfully similar in feel and operation to Alfred.

shiori_main

The similarity isn’t a criticism, as Alfred is amazing. You can search via tag, words, or even abbreviation. Like Alfred, the more you use the app, the smarter it gets – picking up on the type of searches you use most commonly to find particular bookmarks. Because it uses your login details (and doesn’t just pull it from the RSS like my hacky method above), it’s really fast too.

There’s also a hotkey that can be set to bookmark new websites quickly from the browser. If you have Keyboard Maestro installed, Joseph Schmitt has created a pretty sweet workflow which you can assign to an additional hotkey. It takes the highlighted text and automatically adds it into the ‘notes’ field. More on Keyboard Maestro in a later post.

This type of bookmarking is often called ‘social bookmarking’, as they are largely designed to be public, to share with friends etc. I’m not really into that, and prefer to keep my URLs private. Shiori makes it easy to automatically tag new bookmarks as private, to avoid having to do it manually yourself every time.

You can add in certain domains (if you want to keep particular – ahem – websites – private), but if you stick in an asterix, it will capture them all.

Screen Shot 2015-02-10 at 13.23.14

In summary, I love Shiori. The design is as nice as Alfred (and it works just as well), it arguably works better for bookmarks, and it helps keep things compartmentalised. Snippets are now assigned to one hotkey, Alfred another, and Bookmarks another.

Where can I get it?

You can download Shiori for free (yes, completely free) here.

Productivity Apps: Hazel

Time for another look at one of the tools I’ve found that has come to be invaluable in staying productive whilst working online. That is ‘Hazel’: a personal maid for your computer.

3533844787_1f22acccb9_o
CC Picture by ‘Robert Wade’

No, not that kind…

This kind:

Hazel-hero

Hazel is the most wonderful sort of productivity app, because you just set it up, and let it go. It carries on quietly in the background making sure that your Mac is kept clean and organised without you having to worry about anything. It’s so good in fact, that I had forgotten most of the tasks I had designated Hazel to look after, and so had to go back in and check for writing this article.

So what is it for?

I used to always get criticised by colleagues for having a desktop cluttered with all sorts of files – the tech equivalent of having a messy bedroom. The reality was that the desktop was the first place to pop up in the save dialogue, and it was handy to drop things there for quick access. I tried everything to get it under control, including monthly clear outs, and apps like desk drawer… eventually I just hid the icons on the desktop completely, so at least nobody else would know that they were there. The shame.

Hazel takes repetitive tasks like clearing up your desktop, and does it for you automatically. Ever since I hired in her help, my laptop has been more organised than ever before.

How does it work?

Setting Hazel up couldn’t be much simpler. There’s no intrusive menu bar icon (unless you want there to be), and the app runs as from a straightforward preferences pane. Here’s what mine looks like:

Screen Shot 2015-02-04 at 11.22.18

You choose the folder or location on your computer where you want Hazel’s actions to take effect on the left hand side, and then in the right hand side you set up the sort of things you want Hazel to do.

What sort of things can you do?

Let’s take the top example from the above image for a closer look: ‘Move Screenshots to Pics > Screenshots’.

Screen Shot 2015-02-04 at 11.24.29

I take a lot of screenshots throughout the day. Some of them are useless, and should be thrown away eventually, but others are quick notes, or things I want to hang on to for later reference. The default OSX behaviour is to place them on the desktop, which is convenient… at first. It can be a real pain to go through and move them all manually into a different folder. In the above image, you can see that I’ve set up different criteria. Basically if Hazel finds an image on the desktop that contains the words ‘Screen Shot’, it moves that file into a dedicated Screenshots folder under Pictures. That way I know where they all are, and periodically can go through them to see which ones I want to keep. The important thing is, they aren’t cluttering up my desktop, mixed in with all sorts of other guff.

Let’s say you don’t want to keep any of them indefinitely though. All you’re interested in is keeping the screenshots for the amount of time it takes to upload them online somewhere. No problem. Head on back to the main Hazel screen, create a folder grouping on the left for the Screenshots folder, and then create a new action to tell Hazel what to do with them:

Screen Shot 2015-02-04 at 11.28.59

There’s all sorts of things we can have Hazel do here. In this case, if the screenshots have been added more than a week ago, we can get Hazel to Move them to the trash, or maybe Sort them into a subfolder named ‘old’, or archive them… or add tags to remind us to go back and clear them out. There’s all sorts of possibilities.

What’s even cooler is the level of gradation you can get in the timescales:

Screen Shot 2015-02-04 at 11.31.47

You can get pretty specific about when, to make sure you target exactly the files you want.

What do YOU use it for?

Here’s an idea of the things that Hazel does for me:

  • Launches downloaded torrent files, and throws them away afterwards
  • Moves all downloaded, compressed files (zip/rars) into a single folder after 1 day has passed
  • Moves all downloaded RTF, DOC, DOCX, and TXT files into a ‘Misc Documents’ folder in ‘Documents’ after 1 day has passed
  • Moves all downloaded DMG files into a dedicated folder after one day has passed, and then deletes them from there once they get over a month old
  • Moves all downloaded app files into the ‘Applications’ folder (something I always forget!)
  • Moves all downloaded PDF files into a dedicated ‘Misc PDF’ folder under ‘Documents’ after 1 day has passed
  • Organises GIF, JPG, PNG, and PDF files into appropriate folders away from the Desktop
  • Deletes incomplete downloads that are aged from before this quarter

I also make use of the handy Trash settings:

Screen Shot 2015-02-04 at 11.46.48

The above is pretty self explanatory, but essentially it means that I hardly ever have to look at the Trash again.Oh, and the secure deletion option is pretty sweet. Not just restricted to Trash, Hazel can also keep an eye out for when I delete Apps, and offer to clean up the residual files that get left behind. If you later change your mind, and reinstate the application after deleting it, Hazel will offer to reinstall all of the associated preferences files for you!

Hazel keeps things ticking over, without me needing to worry about the little details in life.

But wait, there’s more…

Up until now I’ve really only scraped the tip of the iceberg with what Hazel can do. What I haven’t mentioned is that one of the actions that can be performed is to run an AppleScript or Automator workflow. This means that there are plenty of fairly complicated ways you can make use of Hazel if you sit down and take the time to work out the sort of tasks that would be helpful to your specific workflows. You are only really limited to your imagination (or the extent of AppleScript, anyway).

Here are some examples:

  • Set up a dedicated ‘resizing’ folder, where any images that get dropped in will be resized by Hazel and spat out to a subfolder.
  • Get Hazel to organise different files into different places based on coloured ‘flags’, like learning to ignore certain files from deletion if they are flagged ‘green’.
  • Organise PDFs saved from specific websites into dedicated folders. For example, if you download your payslips every month, Hazel can analyse the source and make sure they get put automatically into the right place.
  • Look out for e-mails from designated people, and send them to a particular Evernote project.

If you come up with any cool workflows, I want to hear from you.

How much and where!?

I know, I know. You want to employ Hazel right now. It’s understandable. You can get a free 14 day trial, or dive right in for a cost of $29 from Noodlesoft here.

Productivity Apps: PopClip

If you work online, there a whole load of tasks that can be a pain in the ass to have to do. Even if work itself is great, nobody likes having to do certain things… like copying and pasting different URLs into new browser tabs, or re-formatting garbled text.

One of the benefits of working at Automattic is being surrounded by friendly, smart geeks who have tried all sorts of different things to get the most out of their computers, and to tailor them to fit how they work. When you hit the sweet spot, your laptop really seems to sing; doing exactly what you want to straight away without having to footer about and get bogged down in the drudgery; it becomes almost like an extension of your fingers or brain. That sort of harmony can be a really great feeling, and let you enjoy working rather than it becoming a chore. I’ve written before about how great Alfred is for this.

One of the other tools that helps achieve this sort of inter-relationship for me was recommended by my friend and colleague Mark: PopClip for Mac.

original

PopClip is a small helper application for Mac and iOS that pops up a control panel when you select text. You can then quickly access a whole variety of different options, from the standard Bold/Italic formatting options, to looking up the text in the dictionary, Google translate, or whatever else you might fancy.

This is what my PopClip bar looks like:

Screen Shot 2015-01-26 at 15.33.31

Usefulness, and Integration with Alfred

At first, I wasn’t too convinced about this app. It seemed like one of those cool ideas that didn’t really play out properly in execution. The prospect of having the PopClip bar appear whenever I highlighted text seemed like it would become a real pain real quickly, and it did.

However, there were lots of cool features in there that I was sure would be useful at somepoint. I realised that rather than have the bar pop up every single time text was highlighted, Alfred could be used to control the behaviour through the use of Hotkeys.

As a result I created an Alfred workflow specifically for this purpose. You can download that here.

Once installed, you can toggle PopClip ‘On’ or ‘Off’ by using the keyword popclip from the Alfred launch bar. Alternatively, you can leave PopClip off, and trigger its menu when needed by the use of a hotkey – currently set to ⌘ + P. The latter is what I find myself using more often than not.

As soon as I realised that I could do this, PopClip seemed a lot more powerful than before.

Features

There are a whole bunch of things you can use PopClip for, so it’s just a matter of finding what is useful for your own particular workflow.

Here’s a glimpse at some of the extensions I have installed:

Screen Shot 2015-01-26 at 15.40.18

The ones I use the most are:

Instant Translate

This is a great extension. Highlight a sentence, call up PopClip and hit Instant Translate to get a translation into the ‘Destination Language’ that you set in the preferences. Saves the time and hassle of going to the Google translate page, instead bringing up the translation in a bubble:

Screen Shot 2015-01-26 at 15.46.24

That’s Greek, by the way.

Download Instant Translate here.

Google Translate

Of course, sometimes there’s just too much text to display in one little popup. The Google Translate extension grabs the selected text and passes it through to the full booner.

Shorten URL (bit.ly)

Pretty self explanatory. Grabs the selected URL and shortens it using the Bit.ly service. Download it here.

CopyURLs

This is one of my favourites. Often I need to deal with long e-mails that have various URLs in them. Going through these, copying and pasting the URLs out separately was always a real fiddly, and boring task. The CopyURLs extension did away with all of that in one quick swoop. Simply highlight any text, invoke the extension, and just the URLs from that text will be copied to the clipboard. Fantastic.

This beauty was authored by Brett, and is available to download as part of a bundle here. If you just want CopyURLs though, you can grab it here.

OpenURLs

Just like CopyURLs, but this time it takes the URLs in the selected text and opens each of them in a new browser tab. Pretty swish. Grab it here.

Abbreviation Lookup

Not sure what an abbreviation means? WTF TLDR? Highlight and invoke this extension to get taken straight to the meaning. I ended up writing my own extension for this purpose, as the existing one on the PopClip page wasn’t producting great results. Get it here.

Send to SimpleNote

I had been looking about for an extension that integrated with SimpleNote, but couldn’t find any. So, I wrote one. This will grab the select text and send it over to a new note in SimpleNote. Great for capturing quick thoughts you want to come back to later. Download it here.

Simplenote-demo
Image owned by Pilot Moon.

Custom Searches

Can’t find what you are looking for on the list of 100+ free extensions on the PopClip page? No sweat. You can easily set up your own. There’s a good tutorial here if you want to get down and dirty with AppleScript, but if you’re not ready for that yet, Brett again has created a fantastic wee tool to help you on your way. Simply plug in the site you want to search with the highlighted text, and this will spit out a PopClip ready extension for you to use.

Personally, I’ve created a whole bunch of quick extensions for things I need to search for at work regularly – like usernames, domain names, and e-mail addresses. Not dis-similar to Alfred’s Custom Searches function, using PopClip in this way makes the process even quicker for particular tasks, saving the need to copy the text, call up Alfred, paste it in then search. Instead, just highlight, call up PopClip, and hit the relevant search button. Easy!

Summary and Price

It can be hard at first to get into the habit of using PopClip, but there are real rewards to be reaped once you do. Certain tasks are made so much quicker than they would be otherwise, and it’s just a matter of finding out what will be of most use to you personally.

PopClip costs $4.99 from the App Store, but also has a free trial available on the Pilot Moon website. For all the hours it’s saved me copying URLs from lawyer’s emails, it’s been well worth it. Give it a bash and see what you think.