569: Contextual Computing


Great episode, gentlemen. Really appreciate that you pulled this together sooner rather than later after having mentioned it recently. I am all-in on DEVONThink and just donated to support Obsidian’s development. Own almost every Field Guide (great work and congratulations on version 2 of Paperless, David)!

I am very curious to know what role and impact the next major release of DEVONThink To Go will have in terms of functionality and limitations, especially with regard to the interplay with these other “Contextual Computing” resources/opportunities that David has lead me to (especially Obsidian and Hook to add to staple applications [OmniFocus, DEVONThink, et al.]).

I’ve been running LaunchBar for several major releases and despite having grown in proficiency I know I’m probably only using 20% of what it is capable of. I re-read the Keyboard Maestro Field Guide features… and before I add that title to my collection (which I’m happy to do, though I’m less excited about an unplanned addition to my app ecosystem during this time of rapid app expansion); this actually raises a follow-on question as Stephen briefly referenced the ability of BetterTouchTool (BTT) to service (some?) of these contextual computing and distraction-reduction opportunities. I’d love to hear any elaboration or examples of some of the ‘jobs’ that Stephen might have had in mind for BTT, even if it plus LaunchBar are, in the collective judgment, well short of the jobs Keyboard Maestro is suited for (with KM’s general superiority seeming to be a pretty clear theme of today’s show).

Notwithstanding the fact that David feels strongly enough to have done a field guide on it, is Keyboard Maestro just so far superior for achieving the contextual computing concepts — via Conflict Palette repurposing, for example — that it basically becomes a matter of “the sooner you switch or add KM to your life, the sooner you can mirror David’s preferred way of doing things and reap the benefits”? David mentioned knowing the developer. Is it safe to bank on the Conflict Palette being around long enough and in some version of its current form that you would feel good encouraging a (current) Keyboard Maestro non-user to get started down that path to rely on it?

Even as I pose those questions I anticipate ‘yes’ answers, I’m left pondering how/if Hook might close the gap on contextual computing via deep linking non-KM users as it ramps up in abilities. And during the show, I was thinking, “what about Bunches?” from Brett Terpstra (which is one of the many tools I spent holiday downtime wrangling to acheive many of the same types of goals that y’all discussed on this episode).

I own the “Taking Control of” guides for both DEVONthink and LaunchBar (and David, I’d love to see you lay down a Field Guide for it – an idea you flirted with at least briefly in the Paperless Field Guide).

These are indeed exciting times. Thanks again for the topic and show notes. In the simplest sense, as I pursue the same goals that animate David, is it essentially “Keyboard Maestro or bust” on the Mac side of things when it comes to pulling together the low-friction, low-distraction, high-reliability contextual computing and deep linking resources? I’m in this for the long haul, so I’m willing to expand my systems, even as I find myself having added more new knowledge management tools in the month December than any time in memory.

Thanks in advance for any portion of this for which a reply would benefit the broader community.

How do you make the message: link on iOS Mail? I can’t figure it out.

This 2007 script from Gruber still worked as of very recently.

But lately I’m using Hook for that. By default, it uses a hook link but it can be easily set to default to a message:// link.

1 Like

This was a very interesting episode for me. Time to blow the dust off Keyboard Maestro and start playing with conflict palettes.

I guess I’ve been using contextual computing for more than 30 years! For nearly all that time, I’ve been a journalist, typing notes and writing articles in plain text files. Starting with an MS-DOS program called XyWrite in 1989, I discovered I could split the screen vertically with typed notes on one panel and the article draft in another, and write that way. This is still how I work. This episode gave me great ideas on how I can extend that work model further.

Often, nowadays, I find myself working in two separate apps: I still write and take notes into plain text files, but often I’m working from a Web page, or Microsoft Word document, or PDF, or PowerPoint. In that case, I’ll continue to use my split-screen method, and will often have the separate windows open in their own Space. That is the only time I use Spaces, and it’s not daily. Like David, I’m not a fan of how the MacOS splits screens natively; I use Moom instead.

Regarding URLs for individual Apple Notes: I think Hook will generate those. I haven’t tried it so I’m not sure.

Regarding creating separate contexts containing all necessary resources: I use Finder folders, or DEVONThink Groups, for that. One folder or Group per project, with all the documents and even emails needed for that project contained in the folder. Neat and tidy.

Regarding using a notebook as the primary — and only — computer: That’s been my work style most of the time since 1992. I use an external display, keyboard and trackball. For most of my career, I’ve spent roughly 1/4 of my time traveling, with the remainder of the time working from a home office. The notebook computer comes with me when I travel. When I’m home, it stays connected to the external peripherals. And of course it has remained connected that way since March – it hasn’t budged. Nor have I…

I have not found it to be a problem to disconnect and reconnect the notebook from its external peripherals. IIRC, it’s two connections. Three if you count the power supply. I’ve looked into docks that might reduce the hassle, but IIRC they cost $150 and up. That’s a lot to spend for a gadget I’ll only use every few weeks, even when it’s safe to travel again.

Now I’m thinking about computing at the start of my career. I’ve had staff writing positions since 1985, and started typing my notes, at first just for phone interviews, right away. Back in the 80s, storage was so scant and expensive that the systems administrator would regularly come up to the newsroom to tell us we needed to delete documents to make room in storage. And they were just plain text files. Fast-forward 35 years to today, and I have big, fat audio files piling up on my iPhone, and I don’t worry about them filling up the device.


Drag and drop the message (all the scripts above are for the Mac, not iOS). See https://talk.automators.fm/t/universal-apple-mail-message-url/4702

Thanks for sending that link. iPadOS I can do using drag and drop. I didn’t realize the message url is now the same on iOS and macOS, I don’t think it was always that way. Getting this done on iOS seems to be at best very complicated and worst impossible. ¯_(ツ)_/¯ Thanks again.

1 Like

@MacSparky mentioned needing DEVONthink or Hook to link directly to files on the Mac. It’s not too hard to do something similar in Finder. Right click on the file and hold down option and choose Copy "filename" as Pathname. In KeyboardMaestro set up a “Open a File, Folder or Application” action and paste the pathname into the “Open” field. Running the action will open the file.

Now this does get a bit more complicated and less convenient if you want to paste a link to the file into an application that’s expecting URLs (I tested this in Things, but it ought to work similarly in other applications where you can paste in URL links and click on them). First off, you have to URL encode the pathname, then put “file://” at the front. Even then clicking on it will just open Finder to the appropriate folder with the file selected. You’ll need to hit ⌘O to open it.


These are 2 very useful suggestions for someone like myself who is imminently about to add Keyboard Maestro to his Mac life. It seems like if I want to benefit from ‘downdrafting’ on David and this community’s knowledge, it would behoove me! A discount on the Field Guide is nice encouragement, too… helps offset the licensing (and time investment) costs a bit. Thanks again @ChrisUpchurch

1 Like

This one is for @MacSparky

You were asking about ideas around using MIDI with Keyboard Maestro and it got me thinking. You seemed to be mostly talking about keyboard / piano MIDI, but I think the more accessible and practical angle is with USB MIDI controller devices like the Korg nanoKey or nanoPad. You get a bunch of buttons in a compact footprint for $50-100. And for a little more money, you can get into controllers like the Novation Launchpad Mini with a backlit grid of 64 buttons. There are a huge number of options out there like these.

You wouldn’t get the same kind of dynamic labeling as with something like a Stream Deck, but you can get a whole lot of assignable buttons for less money.

I have one of the nano controllers sitting on my desk and I just confirmed that you can easily program a button from it straight into Keyboard Maestro. No real idea what I’d use this for, but very cool regardless.

Thanks for all you guys are doing with MPU!


Really liked the “get off my chest” feel of this episode. Thanks for going into such detail, David, especially!

The tip about Alfred bookmark search is one I’ve already adopted. I’ve never been happy with the risk one takes in opening a blank browser, even if full of resolve to go straight to a destination.


There’s a way to fetch the already encoded file:// link via Finder’s AppleScript. I’ve set mine to auto expand wherever I type ;flink (via Keyboard Maestro typed string trigger).

tell application "Finder"
	set theItem to the first item of (get selection)
	set theURL to the URL of theItem
	return theURL
end tell

Here’s how it looks like in Keyboard Maestro

Got that idea from @MacSparky’s TextExpander tip for executing AppleScripts via text expansion. From there, I’ve learned some AppleScript and looked for ways to fetch links to the current item in Finder, Things, Obsidian, Safari’s frontomost tab URL, etc.

Some are really wonky, but the vast majority are very straightforward requiring almost not intervention on the scripts whatsoever. So here are a few more for anyone who’s looking for something like this and looking for inspiration.

If you want to use Keyboard Maestro, just copy the instructions from the screenshot and the scripts bellow into the Execute AppleScript textbox. I also recommend using the same ;Xlink grammar to help memorizing them (for me, Things is a ;tlink, Safari a ;saflink, Obsidian an olink, Evernote a ;elink, etc.)

I know Hook has a way to do this (invoking it with the source item open and hitting ⌘+C to get the link and then pasting it into the target app), but I find typing these text strings to be faster and not depending on a third-party app to tie them together.


tell application "Things3"
	set lista to selected to dos
	set theItem to the first item of lista
	set idItem to id of the first item of theItem
	set linkThings to "things:///show?id=" & idItem
	return linkThings
end tell


For the plain URL:

tell application "Safari"
	tell window 1
		set safLink to URL of current tab
	end tell
end tell
return safLink

If you rather have a markdown input, I use this:

tell application "Safari"
	tell window 1
		set safLink to URL of current tab
		set titulo to name of current tab
	end tell
end tell
return "[" & titulo & "]" & "(" & safLink & ")"


tell application "Evernote Legacy"
	set lista to selection
	set nota to first item of lista
	set titulo to title of nota
	set elink to note link of nota
	return titulo & linefeed & elink
end tell

What I forgot to mention is that the Hook links actually follow the file after a move and/or rename. I thought that wasn’t possible with AppleScript. I’ll need to dig deeper on this.


I expect Keyboard Maestro to be around until Apple makes it impossible to use on the Mac or its developer dies.

I hope neither of those things happen anytime soon. Only one is inevitable but hopefully a long way in the future.


Wasn’t David talking about how frustrated he was that Finder didn’t have URL links?

Anyways, I found and adapted an AppleScript for just that issue. It takes the currently selected file, gets the file path, and then converts the file path into a Finder URL scheme, then copes the URL to my clipboard.

After Catalina, macOS finder added quick actions in the preview pane of finder. So basically, if I want a URL for a file in finder, I just click the button in the preview pane and then I already have the URL in my clipboard.

I would share the AppleScript with you guys here, but I can’t seem to find it. Sorry.


You’re right in that both the AppleScript and the Keyboard Maestro Macro mentioned by @ChrisUpchurch won’t update if the file moves or renames.

What you seem to have missed on show was the fact that Finder can produce these links (even if they’re static) with some workarounds.

Those could be either with @ChrisUpchurch Keyborard Maestro Macro, a text expansion AppleScript or even the Quick Action suggested by @DandyLyons (btw, that AppleScript I’ve shared could be used for creating that Quick action by changing the return command to set the clipboard to).


@MacSparky @ismh, since both of you mentioned using and experimenting with Craft, I would love to hear a more in-depth assessment. I’ve only briefly looked at it. I’m using Drafts, Ulysses, Obsidian and DEVONthink extensively. And due to periodic syncing problems with Apple Notes, I seldom use it as I posted here.

Given that both of you also use DT, Drafts, and Ulysses, how does Craft complement your workflow? Why is Craft needed/helpful given the other apps you use? I for one would love to hear more about this in an upcoming episode.

Thanks again for the excellent podcast and forum.


I’ve used Craft as a note repository for my work notes, instead of them being mixed in with personal stuff in Apple Notes.

I would be very interested, and perhaps others would as well, how you differentiate your use of something like Devonthink versus Craft. Right now I have been storing all of my work related notes in DEVONthink along with the necessary research and resource documents. I’m trying to determine what utility Craft would add to my workflow equation. :slight_smile: this may be too complex for the form but perhaps it could be addressed by you and or David in a subsequent podcast.


Hook has become a surprise for me in terms of usefulness, I didn’t give it enough credit when I tried it out when it was first released, but now it’s become indispensable for certain project files.

1 Like