Linking to Apple Notes

For those of you that have followed my blog for a while, you know I’ve really wanted to use Apple Notes for my personal knowledge management for a while now. There’s really only one thing holding me back – linking. For reasons unknown to me, Apple seems to have no intention of adding linking any time soon despite it being a feature that’s present in almost every other note taking app.

Even Apple’s other apps like Mail have a way to uncover a link using AppleScript at least. If you want a link to a note in Apple Notes, on the other hand, you have to act as though you’re sharing it with someone via phone or email even if the person you’re sharing it with is just yourself. Oh, and then it adds a wonderful Shared section to Notes to remind you of all the notes you’ve shared with yourself.

My frustration eventually lead me down a rabbit hole that lead to this post – a [very convoluted] way to generate a link to a note without sharing it.

Allow me to introduce how I link to notes in Apple Notes using Keyboard Maestro and Shortcuts.

The Starting Point – Opening an Apple Note with a Shortcut

Theoretically, if you only link to a few notes, you could just create dedicated shortcuts for each note you want to link to and then link to the shortcut using the format shortcuts://run-shortcut?name=Shortcut%20Name. If that sounds good enough for you, you can swap out Clipboard for the actual note title in the following shortcut and call it a day. I, however, like to link to a lot of notes, and I really didn’t want to have to create a new shortcut anytime I wanted to link to a new note.

(By the way, links to everything are included. You’re welcome.)

I started by creating a generic “Open Note” shortcut that opens a note based on your clipboard. This is a simple two-step shortcut:

  • Find All Notes where Name contains Clipboard
  • Show Notes

Adding On – Generating a URL Base to Launch the Open Note Shortcut

Like Shortcuts, Keyboard Maestro can launch automations via URL, but it has one super power over Shortcuts’ URLs – the ability to pass a value through a URL. This means we can use it as a common URL base to run the shortcut above for any note just by changing the URL.

The macro is as follows:

  • Set System Clipboard to Text “TriggerValue”
  • Execute Shortcut “Open Note”

Almost There – Generating the actual Note Link

Now, honestly, at this point we have the base URL, and you could just manually create the links at this point. For example, “kmtrigger://macro=Open%20Apple%20Note&value=Work%20Ideas” would open my Work Ideas note.

But I don’t do clunky, and typing things out particularly when they involve percent encoding multiple words is one of my least favorite things to do. Thankfully we don’t have to, and for this I give you two options:

Option 1: Keyboard Maestro

I set this up using Keyboard Maestro initially because I’m more familiar with it, and because I already did the legwork, I’m including it here. For those of you who want a universal option, feel free to skip ahead to option 2 which uses Shortcuts instead meaning it will work on Mac OS, iPad OS and iOS.

Using Keyboard Maestro I set up a second macro that works only when I’m in Apple Notes, so that when I press ⌘K it copies the note title I’ve selected and generates the URL for me.

  • Triggered by any of the following (when Notes is at the front)
    • This hot key: ⌘K is pressed
  • Will execute:
    • Copy Selected Text
    • Filter System Clipboard with Percent Encode for URL to variable Note Title
    • Set System Clipboard text to “kmtrigger://macro=Open%20Apple%20Note&value=%Variable%Note Title%”

Now I can generate a link to any Apple Note that can be pasted anywhere on my Mac. If you only ever use a Mac, cool, you’re done, but I suspect most of you are like me and use iPhones and iPads.

Keep reading.

Option 2: Shortcuts

We can do the same thing in Shortcuts using a shortcut that receives text input from the share sheet that percent encodes the selected title, appends it to the base URL, and adds it all back to the clipboard, just like the Keyboard Maestro version, but Shortcuts means unlike the other option, this one will work on Macs, iPhones, and iPads.

Side note: If you want to use it on MacOS, you need to check a box to have this enabled in the services menu and optionally via a keyboard shortcut by going to the Details pane.

One More Thing – Parsing a Keyboard Maestro Link

Now we have our links, but we still need to use them. Again, if we’re just using a Mac with Keyboard Maestro, we’re fine using the links as they are. We’re out of luck if we want to use them on our iPhones or iPads though, which brings us to our last and final piece of the puzzle.

This is simply a shortcut that works in reverse of what we did earlier. Select the URL and select share from the pop up menu. It grabs the selected URL, removes the base Keyboard Maestro URL, percent decodes the URL, and then opens the note with that title.

So in summary here’s everything.

  1. Open a Note using Shortcuts
  2. Generate the base URL using Keyboard Maestro
  3. Generate the unique note URL using Shortcuts or Keyboard Maestro (Mac only)
  4. Open the Link on an iOS/iPad OS Device

I’ve only been testing this for a bit, and admittedly my brain is fairly exhausted after putting all this together. I also will never claim to be an expert in Shortcuts or Keyboard Maestro, so there is probably a way more elegant way to do this. I’m open to suggestions. In testing, I’ve only run into a few issues in terms of notes having similar titles or content. In that case, Shortcuts graciously gives you the option to pick the note you want from the results.

Hopefully that helps some of you. I’m off to give my brain a sorely needed break. Happy note taking.

Meeting Notes with Evernote and Things 3

When the makers of Agenda announced they were adding support for Reminders, I immediately began envisioning a future where action items were seamlessly captured and imported into Things via its Import from Reminders feature as I took meeting notes. Unfortunately, in practice, the process wasn’t nearly as seamless as I hoped.

When creating a reminder in Agenda, the developers’ expectations were that users would want to process the details of task immediately. In my opinion, there are two problems with this line of thinking:

  1. It’s often best to capture action items quickly and worry about adding in the details (due dates, sorting them, etc) later so that you can maintain your focus on the meeting.
  2. You may not have all the details of a task up front. You might need to reword it or you may need to spend time thinking about when to tackle it. Processing a task properly requires additional thinking, which is why it’s often a separate step in a planning process.

Another important but missing feature is a lack of any way to view all of your outstanding reminders in one place inside Agenda. You have to use the Reminders app. You can view dated reminders within the calendar view in the sidebar, but undated reminders only reside within the note. If you’re a Things user, like myself, any imported reminders are immediately deleted from the Reminders app after they’re imported to Things, so for my use case, they’re basically lost in Agenda. The suggested workaround in their forums is to not only create a reminder, but also add a tag to it such as #todo. By tagging the reminder, you could then create a saved search based on that tag to see any outstanding reminders, which is more work on my part.

Now before I continue, I want to say the guys behind Agenda are great. In fact, they already have a few solutions up their sleeves to solve the problems I mentioned above. Unfortunately, those features don’t have any definite release schedule, and with my premium subscription up for renewal, I wasn’t sold on paying for a note taking app I was only using for meeting agendas when I already pay for similar apps.

In the end, I decided not to renew my subscription and opted to move all my meeting notes back Evernote.

A few of you long time readers might be thinking, “But wait a minute, Andrea. You said you moved to Agenda because you like keeping your meeting agendas separate.” But in the time since that post, I’ve seriously rethought how I use tags, which has allowed me to create a saved search to quickly see all my active meeting notes throughout Evernote.

The saved search simply looks for all notes tagged with a “#meeting note” tag that’s not tagged with an “archive” tag. I’ve saved it as a shortcut so all of my active meeting notes are just a click away.

by default 2019-08-21 at 8.54.30 AM

And now you might be asking, what about your vision of a seamless integration with Things? Evernote definitely hasn’t added any integration for Things nor do they have plans to, but the ever-trusty Keyboard Maestro can automate just about anything, so that’s what I did.

I set up a macro triggered by typing the string “/todo”. By typing “/todo” at the end of a line in Evernote, Keyboard Maestro copies the current line of text, launches the Things Quick Entry pane, pastes the current line of text into the Quick Entry Pane and saves the task. It then returns me to Evernote where it formats the line as a To-do item. You can see it in action here:

evernotethings

The whole process takes mere seconds, and instead of shifting my attention away from the meeting, I can remain focused on what’s being discussed in the moment knowing my action items will be waiting for me to process them in the Things inbox later. It’s exactly the seamless process I was hoping for.

Tricks for Improving Things 3

Now that I’ve been using Things 3 for a while, I wanted to share some of the “workarounds” I’ve been using to overcome some of my minor gripes along with some tips and tricks I’ve been using to make my life easier.

Denoting Projects vs Sub Areas

2019-02-06-screenshot-2Unless Things 3 decides to add headers to areas, you’re stuck with using projects or tags to denote your sub areas of responsibility. I’ve opted to use projects because I like seeing the visual reminder of what I’m responsible for. This, unfortunately, leaves me with no distinction between my projects and sub areas. Admittedly, this was an issue with Omnifocus as well, so I’ve gotten into the habit of prefixing projects with a checkbox symbol to differentiate them from sub areas. It’s not perfect, but it works.

Improving Mail to Things

The ability to email tasks into Things is something I don’t widely use at the moment, but I do use it for one task in particular – checking my physical mailbox. I have IFTTT set to email Things whenever I get an email from the US Postal Service’s Informed Delivery informing me I have new mail arriving later in the day.

Unfortunately, Mail to Things is limited to sending a task to your Inbox, not the Today view where I need it to appear. Sure I could have just moved it every day, but that’s a pain. Using the Things AppleScript Guide and a little trial and error (it was my first time using AppleScript), I was able to craft a script that finds my “Check Mailbox” task in the Inbox, moves it to my Household area, and assigns it to “This Evening”. The script runs anytime Things activates on my Mac thanks to Keyboard Maestro.

It’s worth mentioning that moving the task to This Evening automatically is dependent on a separate script which checks for any tasks tagged with Evening and moves them to This Evening. This script triggers along with the previously mentioned script as part of the same Keyboard Maestro macro anytime Things activates on my Mac.

Utilize URLs

I started adding URLs to tasks years ago mainly to save me time locating bookmarks and navigating to websites, but lately I’ve also gotten really into using URL schemes throughout Things.

On the Mac, I’ve started including links to Keyboard Maestro macros in some tasks. Some are simple like adding a link to my Weekly Review task so that I can open BusyCal directly to my filtered Weekly Review view. I also use them to generate new templated projects either from a task itself or within a project’s notes field. For projects that may require follow up tasks or projects, this allows me the option to generate them as needed rather than adding them up front and then canceling or deleting them later.

For iOS, I’ve also started linking to Shortcuts. One of my favorites is the link attached to my meditation task which runs a shortcut that enables Do Not Disturb for 15 minutes and then opens the Headspace app.

The Delegated Tag

My last little hack mainly just satisfies my OCD. While my boyfriend and I share the responsibility of the household chores, the master list of those chores resides in Things. I use a “Delegated” tag to denote things he completes so that I can distinguish them in the Logbook section of the app. If there’s something he’s usually responsible for, I’ve tagged the task with Delegated permanently, which also gives me an easy way to let him know of any chores he can do when he asks what needs to be done around the house.

Creating Project Templates for Things 3 with Shortcuts and Keyboard Maestro

If there’s one thing I’ve missed since moving from OmniFocus to Things, it’s the ability to use project templates. It’s hard to beat Omnifocus’s support for the TaskPaper format. Project templates can be created in a flash and added by simple text expansion tools.

That being said, it’s also hard to beat the design of Things, and for that reason, I set out to learn how to convert my templates.

In migrating to Things, I decided a number of them would be better off just scheduled as repeating projects in Things, which cut my list in half before I even started. Working at a university, most of my work tends to repeat each semester, but the actual dates of semesters tend to fluctuate slightly, so my projects tend to do so as well. I can, however, count on those projects happening roughly around the same weeks each year. With Omnifocus 2, it wasn’t possible to schedule a project to repeat yearly on say the first Monday of November, but it was in Things 3. It’s worth noting that repeats like this were added to Omnifocus 3, so if I were still using it, I’d have moved these templates back into Omnifocus too.

Unlike Omnifocus’s TaskPaper format, templates in Things 3 are possible through a URL scheme. If you’re interested in testing it out, Cultured Code has a really nice Link Builder to help you get started. While this works great for static projects and actions, it doesn’t let me create the variable templates I was trying to create.

Naturally, I turned to the trusty Keyboard Maestro to see if I could pass variables into a Things URL. It turns out Keyboard Maestro’s variable format doesn’t really get along well with Things’ URL scheme though. All those percentage signs make for a confused mess. I even found a post on Keyboard Maestro’s forums asking for Keyboard Maestro to play nicely with Things URLs, which I nervously bumped 8 months later out of desperation.

After hours of frustration trying to get it to work and searching relentlessly for a solution, I stumbled upon a blog post that used Alfred instead. While I was at least able to get this working, entering the variables was nowhere near as user-friendly as having the dialog boxes that I had been used to while using Keyboard Maestro. That being said, if you’re an Alfred fan, this may be just what you’re looking for!

Things Templates Using Shortcuts

At some point, I conceded that Keyboard Maestro wasn’t going to happen and tried my hand at creating them with Apple Shortcuts. Let me just say Shortcuts handled Things URLs beautifully. Having little to show for all my time dabbling with Shortcuts other than my Spotify playlist shortcut, I was surprised, to say the least.

The basic shortcut is only 5 actions (I’ve used my Book Project to help illustrate.):

  1. Ask for Input (e.g. What the’s title of the book?)
  2. Replace text (This finds spaces in whatever you inputted and replaces them with %20)
  3. Set Variable (In this case, to bookTitle) – I’m going to skip forward onto the remainder of the shortcut here for simplicity’s sake, but it’s safe to say you could keep reusing steps 1-3 to prompt for as many variables as you need. You can use them for any field supported by the URL scheme including (Notes, Tags, Deadlines, etc.) so there’s plenty of room for exploration.
  4.  URL (This is where you’d put your URL you got from Cultured Code’s Link Builder unless you’ve got the URL scheme down to which I’ll say Kudos! This is also where you’ll be replacing the fill-in areas with your variables from earlier. Admittedly this is kind of a pain because the URL is long, and the URL field in Shortcuts is a single line, but copy and paste works quite well if you’re using a keyboard.)
  5. Open URL – You’re done.

I was able to recreate all of my templates in Shortcuts fairly quickly by duplicating and then modifying this shortcut, and I can easily run them from Spotlight by typing in the name of the shortcut.

While I was glad to have my templates back in some form, it was fiddly having to grab my iPhone or iPad to generate a template when I was already on my computer.

Back to trying to get Keyboard Maestro to work…

Things Templates with Keyboard Maestro

Thankfully in the months since I’d bumped that post on the Keyboard Maestro forum, a kind soul by the name of gglick came to my rescue. (Note to self: Pay better attention to forum replies.) I really cannot take any credit for this because he or she really did the leg work to make everything work. Even better, the way it’s set up makes the template super easy to update – even easier than Omnifocus’s TaskPaper format in my opinion.

I’ll give gglick credit by linking to the post if you’re interested in the macro, but in short, the macro is 4 actions:

  1. Prompt the user for input (Note: Unlike with Shortcuts, you can add all the variables you want in this step.)
  2. Set Variable to Text (In this case, Keyboard Maestro is going to be doing most of the link formatting, so you can pretty much write out all your tasks in plain text with the exception of a few bits like the variables and the starting syntax.)
  3. Filter Variable with Percent Encode for URL (This turns all the spaces into %20 like Step 2 of the Shortcut earlier.)
  4. Open URL (Note: the URL you’re opening is actually the Variable you made in Step 2.)

As I did with Omnifocus, I’ve set up a macro palette to display the templates that I can trigger via the same keyboard shortcut (⌘+F4) I used with Omnifocus saving me from having to retrain any muscle memory. All this is is a macro containing the action “Show Macro Group”.

I know I spent countless hours trying to figure this out, so I’m sharing this in hopes it saves someone else time. Happy templating!

Photo by Andrew Neel on Unsplash

Maintaining Focus with Keyboard Maestro

About a week ago, I decided to move Instagram to the second page of a folder on my iPhone. I didn’t really think I had any sort of problem with Instagram. I just wanted to be more intentional with how I used my phone after seeing my weekly Screentime reports. Little did I know, just seeing the Instagram icon (even the tiny one inside a folder) had become an incredibly strong cue to unconsciously open the app whenever I picked up my phone. A week later, and Screentime is already reporting my phone usage is down 36% just by moving the app!

Features like Screentime and Downtime are great for iOS devices, and that 36% is huge, but the 19 hours I spend on my iOS devices pale in comparison to how much time I spend on my Mac. I couldn’t help but not think of how many cues on my Mac were stealing my precious time without even realizing it. For now, there is no Screentime for Mac, but services like RescueTime work similarly to give you a good idea of where you’re spending your time so you can start seeing where you need to cut back.

That being said, breaking bad habits requires more than just knowing where you’re spending time. If you want to actually change those habits, you also need to disrupt your behavior patterns. Plenty of apps can block apps and websites during specific times. Unfortunately, most of the ones I found require subscriptions, and as much as I want to support developers, paying for another subscription is just not in my budget right now.

As I thought through my options, I realized I had already broken a pretty well-conditioned habit of compulsive email checking using a fairly simple Keyboard Maestro macro paired with Marco Arment’s Quitter app. The Keyboard Maestro macro just gave me an alert every time I opened my email client just to remind me I was opening it. Usually, the notification was jarring enough to make me stop and realize what I was doing. The Quitter app quit my email client after 20 minutes of inactivity. Within days, the combination opened my eyes to just how often I was opening my email client throughout the day and also kept me from being pulled back into email when I forgot to close it.

It worked so well that I’ve gotten checking my email down to 3 times a day while at work (8AM, 12PM, and 4PM). In fact, I had to create a new Keyboard Maestro macro that opens my email client at those times because I often forget to check my email. For added fun, I recently added an option to the macro that lets me delay opening Airmail for 5 minutes if I happen to be occupied with something else.

With how well this worked for breaking compulsive email checking, I figured I could apply it to other applications, so I set back to work in Keyboard Maestro. Having recently learned how to incorporate times into my macros, I was able to come up with a vastly improved macro that lets me “limit” certain apps during certain hours. I’m using the term limit loosely because I didn’t want to be completely blocked out of an app if I didn’t need to be. If a predefined app activates during the hours I’ve set, I get a notification reminding me I probably have more important things to do, along with 2 options – to quit the app or accept the notification and open it anyway. More often than not, just as with my email app macro, just the alert is enough to snap me out of my muscle memory.

I’ve only been using it for a week or so, but it’s been working so well, I wanted to share it with you. The macro first sets the variable Time to the current hour. If it’s between the hours set, it will pause briefly to allow the app to load and then prompt you with a notification. Clicking Quit continues to the next action of quitting the frontmost app. Clicking the other option cancels the macro.

by default 2018-11-20 at 1.20.29 PM.png

Of note, instead of referring to specific apps within the macro, I made use of the variable %Application%1% which refers to the front application. I’ve created macros to refer to the “Front Application” in the past, but until recently, I didn’t know you could pass the front application’s name as a variable as well. This lets me avoid hardcoding any of the applications into the macro’s actions and dialogs so that adding new apps just a matter of adding a new application trigger at the beginning.

Have you set up anything on your Mac to keep you on track? I’d love to hear what others are doing.

Getting Things Done with Things 3

Switching to Things 3 has greatly simplified how I work. Whereas with OmniFocus, I worked out of a handful of custom perspectives, with Things I just work out of the built-in Today view. The Today view shows what’s on my calendar for the day followed by a list of everything with a start date or deadline of today or earlier. I’ve come to appreciate this much more than Omnifocus’s way of interleaving tasks and calendar appointments.image.png

The Today View in Things is a big change from my carefully tailored (and fiddly) perspectives in OmniFocus, where I could also set times for both deadlines and defer dates. With OmniFocus, the only things on my list were things I could do at that very moment at that location. Things doesn’t account for start or due times, which means anything you have to do that day shows up, even if you can’t do it until later. In some ways, I appreciate having a clear picture of everything I need to do each day (something that actually made me leave Things 2 years ago). There’s no more forgetting to check the Forecast perspective, only to be blindsided by 5 tasks showing up right as I sit down to relax for the evening.

That being said, there are some things I really can’t do until later, and for that, Things has the This Evening section of the Today view. Unfortunately, there’s no way to set a task, like setting out the trash on Monday nights to appear in This Evening by default. However, I’ve found a clever workaround through the use of Keyboard Maestro and a handy Applescript. Each time Things activates on my Mac, Keyboard Maestro triggers the Applescript which scans for any tasks in Today tagged with Evening and moves them to This Evening. It’s so quick, I don’t even notice it running. The only downside is it only works on my Mac.

Note: When you create a recurring task Things creates the next instance of a recurring task and a separate template task, so if you want any changes to stick to the entire set of recurring tasks, make sure you’re applying them to the template task. Otherwise, your changes will only apply to the next instance.

With start dates, deadlines, and my evening script running automatically each time I open Things, my Today View is already in pretty good shape when I open the app each morning. From there, I tag my three most important tasks as “Top 3”. I find it’s a nice way to mentally set my priorities for the day. I also reevaluate whether any tasks should be removed from Today. I’ve been doing my best to move these tasks back to Anytime rather than setting arbitrary start dates in the future to keep my Today view from growing too unwieldy. Lastly, I take a few moments to rearrange my tasks into a rough order of when I plan to complete them throughout the day. This is something I couldn’t get from OmniFocus. From there, the rest of my day is spent completing tasks.

Interestingly enough, taking the complexity out of my task lists has led me to complete more, and I now regularly find myself browsing the Anytime view in search of additional tasks to fill out my day. It’s also led me to a tagging system that truly makes sense (something I struggled with with Omnifocus 3).

image.pngI use tags to filter my Today view down at various times of the day. For instance, I can easily filter my list to my Top 3 tasks for a quick priority check, or I can use tags to batch my tasks.

I have my tags broken up into 4 main groups, which Things display’s quite nicely at the top of the Today view:

  • Area of Responsibility – I picked up this tip from Shawn Blanc’s All the Things course at The Sweet Setup. It seems a little redundant to recreate your Areas as tags, but it’s actually quite handy to be able to sort your Today view by Area of Responsibility. Each of my areas gets tagged with its respective area tag causing any task within an area to automatically inherit its area tag.
  • Location – These are my traditional GTD contexts (e.g. Anywhere, Home, Work, Errands). Unfortunately filtering by multiple tags is additive in Things, so these don’t completely replace my custom perspectives in OmniFocus, but they come close enough.
  • When – This is where my Evening tag mentioned above lives. I’ve also added Morning and Afternoon tags. This comes in handy on busier days when I want to break up my Today list into more than just Today and This Evening. I have my fingers crossed Cultured Code might consider allowing users to break up their Today view in the future, but for now this works.
  • Action – This is where batching comes in. I have tags for various activities I do regularly (email, research, chores, etc.) As someone who tries to avoid keeping my email client open all day, being able to work through all my email related tasks at once is quite handy.

Lastly, I have 3 straggler tags that don’t fall within any group. This includes the Top 3 tag I mentioned earlier, a goal tag for tagging any tasks related to my yearly goals, and a Waiting tag.

With regards to tasks I’m waiting on, Things doesn’t offer stalled tags like OmniFocus, and I still haven’t quite worked out how best to handle waiting for tasks with Things. Setting a task to Someday with a deadline creates a really nice visual distinction by graying out the task’s checkbox while still reminding me to follow up on the task, but it goes against my rule of setting arbitrary deadlines. For now, I’ve gone with the lesser of two evils, and have been setting an arbitrary start date as a reminder to follow up on the task.

Again, Things 3 has made me once again realize how easy it is to overcomplicate things over time. Sometimes simpler is actually better.

 

Creating Keyboard Shortcuts for Websites with Keyboard Maestro

I’m a huge fan of keyboard shortcuts. If you’ve never taken the time to explore the keyboard shortcuts in your most used apps, I can’t recommend doing so enough. The amount of time you’ll save yourself is more than you’d think.

{Tip: If you’re looking for an easy way to discover keyboard shortcuts in a Mac application, check out CheatSheet. Once it’s installed, just hold ⌘ for a second or two and you’ll get a list of all the keyboard shortcuts in the app you’re using.}

As amazing as keyboard shortcuts are though, many of the things I do on my computer regularly don’t have shortcuts. The Request Tracker (RT) ticketing system I use at work, for example, has some shortcuts, but they don’t actually work once you get inside a ticket where I actually do most of my work.

 

08_09_17 at 11.53.33AM

RT’s limited selection of keyboard shortcuts

 

Thankfully, there’s the ever useful Keyboard Maestro. With Keyboard Maestro, you can easily set up a keyboard shortcut (or hotkey) to trigger just about any action on a website.I reply to, comment on, and transfer tickets hundreds of times a day, so having keyboard shortcuts for these tasks is incredibly helpful. Below is an example of my shortcut to reply to a ticket. I could have easily just had the shortcut open up the reply screen, but why stop there? Adding an action to select a Safari field also puts the cursor in the correct place for me, so all I need to do is start typing my reply. It may seem trivial to set this up just to save a few clicks, but when you perform the same action over and over, those clicks add up.

Below is an example of my shortcut to reply to a ticket. I could have easily just had the shortcut open up the reply screen, but why stop there? Adding an action to select a Safari field can also put the cursor in the correct place for me so can immediately start typing the reply.

 

08_09_17 at 11.54.20AM

My macro for replying to a support ticket via a keyboard shortcut

 

It may seem trivial to set this up just to save a few clicks, but when you perform the same action over and over, those clicks add up. Plus, once you have one set up, setting up macros for other actions is pretty much the same.

I also set up a few keyboard shortcuts to take me to frequently visited locations in the ticketing system like my own support queue or the ticket creation screen. For example, “^N” opens the page to create a new ticket. These are even simpler to set up because they only require the Click Link action.

 

08_09_17 at 12.35.09PM

My macro to take me to my ticketing system’s home page

 

As an added bonus, I created a simple workflow for Alfred, my app launcher of choice so that I can get to these common destinations even when I’m not using Safari. Typing “rt new” into Alfred also brings me to the page to create a new ticket.

 

08_09_17 at 12.37.56PM.png

Simple Alfred workflow to launch a URL via a keyword

 

Right now, I’m still breaking my muscle memory of using the mouse, but already I can tell these improvements will save me a considerable amount of time each day. If nothing else, they’ll save my wrists from the impending carpal tunnel.

SaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSaveSave

SaveSave

SaveSave

My Personal Reading Workflow

Having recently joined a book club, my personal reading habit has started returning back to normal levels.  Having recently wrote about how I read for grad school, I thought it might be interesting to detail how I go about reading for fun too.

First things first, I almost always pick the Kindle version when possible. They’re delivered instantly, don’t take up any space, and I honestly prefer the reading experience more than I do with physical books. I get most through my local library’s website, but occasionally I will buy them through Amazon or check them out through the Kindle Lending Library. Since Kindle Lending Library books have to be read on a Kindle (not just the app) this is usually last resort, but it’s nice for books that aren’t available from my library that I don’t want to buy.

Once I’ve picked a book to read (and I’m usually reading a few at a time), I set up a project in Omnifocus. I have a template saved in Keyboard Maestro. Triggering it prompts me for the book’s title and author, and then generates a project with corresponding tasks for progressing in the book in 10% increments, along with one final task which I’ll get to in a second. I also add the book to my currently reading list on GoodReads just for good measure.

For the actually reading, I use either the Kindle app for Mac or my Kindle Paperwhite. Even several years old, the Paperwhite is still one of my favorite devices and my preferred way to read. As I’m reading, I take notes on or highlight anything that seems worth remembering using the Kindle app or Paperwhite.

Once I’ve finished a book, my final task before marking my book project complete is to export my highlights and notes. To do this I use a bookmarklet called Bookcision, which exports your notes and highlights in plain text. From there, I copy them into a repository. Any sort of destination will do. I’m currently using Evernote, but have used Day One in the past. I do this so that I can search across all my highlights and notes, which not only helps with recalling what I’ve read but helps to establish connections between books I might not have otherwise seen.

I hope this has been helpful. Do you have any tips or tricks for keeping track of and remembering what you read? If so, I’d love to hear them!

SaveSaveSaveSaveSaveSaveSaveSave

Omnifocus Project Templates with Keyboard Maestro

Two years ago, I wrote a post about using checklist templates in Omnifocus. It’s one of the most popular posts I’ve written on the site, but, honestly, I never really felt like having a folder of stalled projects that I could duplicate was all that great of a solution. Not only did they add visual clutter to an already complex system, but some of my more complex ones required fiddly applescripts.

Thankfully that’s all changed. With version 2.7, Omnifocus is finally bringing the TaskPaper support it first introduced on iOS to the Mac, and it’s allowed me to drastically improve my templates.

The folder of stalled projects has been replaced in favor of a new set up that uses Keyboard Maestro. Seriously, I can’t say it enough. Every day I find a new use for this app. If you haven’t bought it yet, go do it!

I’ve set up a hotkey to display a macro palette that displays a list of my templates while in Omnifocus. You could just as easily trigger this with a snippet. I just think the palette looks nice, and makes it look like I spent a lot more time making my templates than I actually did.

2016-09-21-screenshot

The beauty of TaskPaper support is that you can just copy and paste tasks in Omnifocus preserving all of the meta data like contexts and due dates, so the simplest of my templates (e.g. my packing list) do just that. They paste the TaskPaper template using an “Insert Text by Pasting” action. All I had to do was select the template project I had in Omnifocus, copy it, and paste it into the Keyboard Maestro action. Essentially these are just text snippets, so you could just as easily do this with a TextExpander snippet.

For the templates with fill-in variables, I just added an additional action to prompt for input and updated the template to include the variable tokens. Again, this is something you could also easily do with an app like TextExpander, which also supports fill-ins.

Of course, Keyboard Maestro’s incredible power actually inspired me to take a few of my templates a step further than just variables, and this is where I think it’d get a bit more complicated if you were trying to use TextExpander. Some of my project templates have action groups that are conditional (e.g. if x, also do y). My previous templates just included all the groups and I deleted them if I didn’t need them. With Keyboard Maestro, If, Then rules automatically add or remove the groups based on other variables of the template.

Healthy Habits with Keyboard Maestro

By this point, pretty much everyone knows about the dangers of sitting in front of a computer all day. Unfortunately, some of us work desk jobs and just don’t have a choice. Even more unfortunate is my tendency to forget to get up and move around unless I’m reminded. I don’t have an Apple Watch to remind me to move, and I’m hesitant to create too many alarms on my Fitbit Charge HR that might detract from my main reason for using alarms, medication reminders. Thankfully, Keyboard Maestro has saved the day once again.

Inactivity Reminders

A little over a year ago, I bought an app called Healthier. It’s a simple app that lives in your menubar reminding you to take a break by overlaying the screen after a time period of your choosing (between 10 and 90 minutes). Unlike most of the break reminders, you can override it so that it doesn’t prevent you from working when you’re in the zone, which I like.

I found having Healthier running all the time a bit too much though. For instance, if I’m in class, I can’t always get up to take a break as much as I’d like. Thanks to Keyboard Maestro, I was able to set up a macro to launch Healthier only when my Time Machine back up in my office is attached. This allows me to get reminders to get up when I really need them, sitting in my office, rather than all the time.

Note: If you don’t want to buy Healthier, and just want notifications or alerts to get up and move (without the screen overlay) you can also just use Keyboard Maestro to send you reminders periodically. Keep reading for more information.

Hydration Reminders

I’m terrible at remembering to drink water throughout the day. Even with a water bottle in front of me, I still forget, so you can bet I’ve spent a lot of time looking for the best app, water bottle, reminder – anything to remind me to drink water. None of the things I tried managed to stick though. It turns out Keyboard Maestro is perfect for this too (provided I don’t need reminders on my phone).

I have two separate macros enabled. The first sends me a notification reminding me to drink water every 45 minutes between 11 AM (when I’m typically done my morning coffee) and 4:30PM. The second is a bit more extensive, and actually prompts me to enter my how much water I’ve had and then enters it on the Fitbit website twice a day. (All I need to do is hit submit.) I have a tendency to forget to track my water intake, so this removes nearly all the friction of having to open the app or go to the website.

Mindfulness Reminders

Anyone who knows me will tell you I’m fairly high strung and easily get worked up about things, so I’m trying to be better at staying calm throughout the day. There are plenty of mindfulness reminder apps available but most seem to rely on a chime of some sort. Since I normally keep my Mac muted at work, none of these really worked for me. Much like my hydration reminders, I set up a Keyboard Maestro macro set to remind me to take a deep breath every 90 minutes while I’m in the office.

Keyboard Maestro seems to be the app that keeps on giving, and keeping me healthy is just one more reason to love it.