Automation April: Thinking About Linking

Links are the currency of information overload and distraction. There’s more media available than we could ever get to in a lifetime, and more things we might want to buy, places may want to visit, and other things to explore online than can be fit into a day.

The same problem exists in our work lives. That’s especially true for the kind of work I do. Links are part of everything. Whether I’m researching, writing, or preparing to record a podcast, I’m collecting, managing, and sharing links. I could follow all those trails as they cross my path, but I’d never get anything done.

Instead of flitting from one online discovery to the next with no plan, wasting precious time, I save links for later, putting them aside until I have time for them. I’ve been doing this forever, but I’ve also never been happy with my system. So, it was inevitable that I’d begin tinkering with my setup again, both with the apps I use and the shortcuts that support them.

Whether it’s work or pleasure reading, most of my reading happens in Matter these days.

After thinking about past experiments, I realized that those setups were over-complicated. I had tried to create a system where every link was magically saved and organized the moment I came across it. That was a mistake because it didn’t reflect how I actually work.

With those old setups, there was also tension between the apps I wanted to use and my desire to automate my link collecting. The more I complicated my automation setup, the more I limited the apps I could use.

This time, I decided to put the apps first and automation second. Shortcuts and AppleScript are still important parts of the system I’ve built, but they’re the glue that holds it together, not the system itself. Instead, my primary focus has been on creating something that works the way I do and with the apps I want to use.

Where I Find Links

Links come from a lot of sources, including iMessage.

For starters, it’s worth sharing where I find most of the links I save because that has the biggest impact on the process of saving and managing them. RSS is by far the most important source of the links I save. I have roughly 150 feeds divided into topics like Apple, General Tech, Music, and Videogames, which I spoke about in more detail on a recent episode of AppStories. Other links come from social media, in iMessage conversations, via email, and old-fashioned web browsing.

The trouble with any system is trying to account for all those contexts in a single shortcut or other automation that has to work across multiple platforms. Things get messy quickly, especially if you add organizing and managing the links into the mix too. So, instead, I decided to break the process into three parts: collection, management, and use.

Collecting Links

Catching up on the latest news in Reeder using Feedly to sync my RSS feeds.

When I started this journey, I knew I wanted to use Reeder by Silvio Rizzi (iOS/Mac) for RSS. It’s been one of my favorite apps for a long time, but I was skeptical that I could get it to work the way I wanted on the Mac. You see, sharing from Reeder on the Mac is bound to the share menu, which isn’t great. iOS and iPadOS are a different story. With the share sheet, it’s simple to send links from Reeder to any app that accepts URLs.

Raindrop for Mac.

On the Mac, though, I immediately ran into trouble. I’d decided that I wanted to use a combination of Raindrop.io (iOS/Mac) and Matter to collect my links. I chose Raindrop.io because it’s web-based and has an API. That means its sync is solid, and it can be integrated with apps like Obsidian whether or not the developer directly supports it. I chose Matter because I like its balance between design and functionality. It’s not as full-featured as Readwise Reader, which I know a lot of people love, but I prefer Matter’s more focused approach and reading environment.

I primarily use Matter in a pinned Safari tab on my Mac.

I toyed with the idea of using only Raindrop.io or only Matter, but I’m better off using both. Matter is reserved for articles that I want to save for later. In my current system, the only things that go directly to Matter are pleasure reading that is unrelated to my work. MacStories-related materials may end up in Matter, too, but not in this link collection phase. Everything else goes to Raindrop.io because it’s designed to handle more than just articles.

For my purposes, Matter’s one Shortcuts action was enough, but I’d like to see more added in the future.

The biggest hurdles my app choices posed are that Raindrop.io doesn’t support Shortcuts or the share menu, and Matter offers a single ‘Add to Matter’ Shortcuts action. Also, even though Matter works on M-series Macs, its share menu extension only seems to work with some apps, but not Reeder. It’s at this point that I started to think I might have to pick a different set of apps for collecting links, which Federico and I touched on in the latest episode of the Club MacStories podcast, MacStories Unplugged. However, despite the limitations, I’ve come up with a workflow that includes those apps plus a set of four shortcuts that tie everything together nicely.

Because most of my link collection starts with Reeder on the Mac, that’s where I concentrated my automation efforts. It’s also where saving links can be surprisingly clunky compared to the iPhone and iPad’s superior share sheet. As a result, my Mac system was historically no system at all. If I found something in Reeder I wanted to save, I’d open it in Safari, where I could use the Matter and Raindrop.io browser extensions to save articles. However, that resulted in a cluttered mess of tabs and articles I forgot about and never saved. Plus, it was slow compared to saving links on iOS and iPadOS. The solution to integrating Raindrop.io and Matter with Reeder was Shortcuts.

Reeder -> Matter.

The shortcuts called Reeder -> Matter and Reeder -> Raindrop begin by grabbing the URL of a post I want to save. Reeder has a built-in ‘Copy Link’ action that can be assigned a keyboard shortcut, which makes it possible to copy the link with Shortcuts even though Reeder doesn’t offer that as a Shortcuts action itself. To get the link, my Reeder -> Matter shortcut first runs a simple AppleScript that simulates the pressing of the keyboard shortcut for copying a Reeder link.

A nice side benefit of the fact that Matter works with M-series Macs is that its Shortcuts action is available, making it easy to pass the link from the clipboard to a “Save to Matter” action. The final step of the shortcut sends a notification, so I know the link has been saved.

What makes saving links to Matter fast with this shortcut is that I’ve tied it to a keyboard shortcut in Raycast and a button on the Loupedeck Live S, the automation accessory that we’re giving away as part of the Automation April Shortcuts Contest. That way I can trigger the shortcut with Raycast, which supports Shortcuts, using a keyboard shortcut, or the Loupedeck Live S, depending on whichever is easiest. I could bind Reeder -> Matter to a keyboard shortcut directly in Shortcuts, but I’ve found that’s unreliable, so I use Raycast instead.

Reeder -> Raindrop

My Reeder -> Raindrop shortcut is similar but a little more involved than the Matter one. The Raindrop version starts off the same by invoking my Reeder keyboard shortcut for copying a link using AppleScript. Next, the shortcut pastes the link from the clipboard into Raindrop.io’s URL scheme, which opens a Safari page populating the URL field with the copied link. The shortcut waits three seconds to make sure the Raindrop.io webpage fully loads and then uses AppleScript to close the tab. Finally, an Open App action reopens Reeder.

What I like about both of these shortcuts is that they use simple actions that historically haven’t been buggy, which means they should be reliable. They also work quickly, so they don’t interrupt my RSS reading in a meaningful way.

You may wonder why I don’t bother filling out any other Raindrop.io fields that are available when using the app’s URL scheme. I’ll get to that more below, but it comes down to speed and staying in the flow of scanning RSS. The point of these shortcuts is to avoid context switching while saving links by reducing the process to a single keyboard shortcut or tap of a button.

lire is another option worth considering.

Another option I considered when exploring better ways to collect links was switching my RSS reader to lire, another excellent RRS client. The advantage of lire is that it supports Raindrop.io directly, and for whatever reason, Matter’s share menu extension works with it on the Mac. Switching would have eliminated the need for Shortcuts entirely, but when it comes to reading, I’m very picky, and I prefer Reeder. Thanks to Shortcuts, I didn’t have to compromise on the apps I like using most.

You can download Reeder -> Raindrop here and Reeder -> Matter here.

Reeder -> Raindrop

To use this shortcut with Reeder, first assign the keyboard shoortcut ⌥↑c to Reeder’s Copy Link action. The Apple Script will simulate that keyboard shortcut for the item you’re viewing in Reeder and then send it to Raindrop.io’s URL scheme, which will open a tab in Safari, save the link to Raindrop.io, close the tab, and return to Reeder after a 3 second wait.

Get the shortcut here.

Reeder -> Matter

To use this shortcut with Reeder, first assign the keyboard shoortcut ⌥↑c to Reeder’s Copy Link action. The Apple Script will simulate that keyboard shortcut for the item you’re viewing in Reeder and then send it to the read-later app Matter, confirming that the save has occurred with a notification.

Get the shortcut here.

Managing Links

Raindrop on the iPad.

One of the insights I had while reevaluating my link workflow was that managing links was getting in the way of saving them. No matter what app I used, whether it was Raindrop.io, GoodLinks, Anybox, or something else, filing and tagging was an interruption in the reading process that slowed me down and was distracting. That’s why I save links without any tags in the initial collection step.

Just two Unsorted links so far today because I’ve been editing.

Instead, I take advantage of Raindrop.io’s Unsorted category, which is a folder where links go if they haven’t been assigned a category or tag yet. GoodLinks has a similar concept of read/unread that could be used the same way. At least once a day, I review the links I’ve saved, categorizing them and adding tags.

I do most of this link review and management on an iPhone or iPad because Raindrop.io’s new iOS and iPadOS app is a cut above its Mac app, making it easy to move quickly. Some links remain in Raindrop.io for future reference, and others are sent to Matter for reading more carefully.

I try to keep my tags list simple.

I don’t have an elaborate filing or tagging system because Raindrop.io’s full-text search works well. Instead, I use tags to assign links to areas of my life. Links get tagged ‘Weekly’ if I’m going to include them in the Interesting Links section of MacStories Weekly, our weekly Club newsletter. Others are tagged with ‘Post’ for linking on MacStories or ‘AS’ for adding to the show notes of an upcoming AppStories episode. I also use tags for specific projects, travel ideas and plans, and things I am considering buying. Using tags that mirror many of the projects I use in my task manager also makes it easier to work with tasks and links together.

The one thing that no amount of process or automation can solve, though, is my own behavior. The weak spot in this workflow is the need to review links regularly. That hasn’t been a problem yet, but I know at some point I’ll get busy, and it will be. I’ve tried to counter that inevitability by being thoughtful about the number of links I save, but also by creating what I call the Link Lost and Found. It’s a Raindrop.io collection where I drag links that I can’t get to in a timely way. Maybe I’ll get to them when I free up, or perhaps they’ll sit there forever, but at least they’ll be searchable if I remember something I saved and want to find it again. That keeps my Unsorted collection manageable because it only ever stores recent materials.

Using Links

My shortcuts for formatting my links are available from the share sheet, but on the Mac, I usually trigger them with Raycast.

Once you’ve collected and sorted links, the idea is to use them. Sometimes that just means reading an article in Matter or opening a site from Raindrop.io and buying something, but for me, it often means pasting a Markdown-formatted version of the link in a story I’m writing or adding a plain link to podcast show notes in Notion.

I began building this last piece of the puzzle over a year ago with a shortcut that took the URL and name of a Safari page and created a Markdown-formatted link using regular expressions to trim extraneous text from the page’s name. That shortcut was good but too limited, so I expanded it and built another for when I’m not using Safari.

By the time I’m ready to copy a Markdown or plain link, I’m usually using Raindrop.io or Matter. For those apps, it’s easy to copy a URL. Once the link is on the clipboard, I use a shortcut called Clip Link to create a Markdown formatted link.

Clip Link.

First, Clip Link checks whether there is a URL on the clipboard using a regular expression that’s stored in a dictionary. If not, the shortcut ends and alerts me of the problem. Otherwise, the shortcut uses a ‘Repeat with each item’ action to iterate over each URL that was found pulling the title of the page using the app Actions and the URL to create a Markdown link. The final step copies the results to the clipboard.

Safari Link.

Because I use Raycast’s clipboard manager, the result is that I have both the Markdown and plain links sitting on my clipboard, ready to paste elsewhere. Safari Clip is similar, but because I’m already on a webpage, I don’t need to check the clipboard, and I can simply use the name and URL of the active tab to create the Markdown and plain link.

Because I don’t have the benefit of a clipboard manager on iOS or iPadOS, I always make the Markdown version of the link the last thing copied to the clipboard. I could send both versions to an app for temporary storage when I’m using my iPhone or iPad, but the plain version of a link is usually so easy to copy anyway that I decided it wasn’t worth the additional overhead.

You can download Clip Link here and Safari link here.

Clip Link

Clip Link uses regex to verify there’s at least one URL on the clipboard. If it finds one or more, it takes each and coverts them into Markdown links using the Actions app, which is a dependency of this shortcut.

Get the shortcut here.

Safari Link

Safari Link uses the active browser tab to create a Markdown link using the Actions app, which is a dependency of this shortcut.

Get the shortcut here.

Saving Highlights

Obsidian for Mac’s beta bookmark sidebar.

Aside from saving URLs, I’ve begun experimenting more with saving highlights from articles. This is the newest part of my system and one I’m currently using exclusively with Matter since that’s where most of my reading occurs. I haven’t historically highlighted a lot of what I read because it doesn’t have a long shelf life. However, Matter, its Obsidian plugin, and Obsidian for Mac’s new beta bookmarking feature gave me an idea.

I collect links every week to publish in an Interesting Links section in MacStories Weekly. My process for collecting those links has always involved saving links and tagging them with ‘Weekly’ but not much more. Now, I’m sending those links to Matter where I read them throughout the week, tagging and highlighting them as I go. Matter’s Obsidian plugin automatically syncs the highlights to a folder in my Obsidian notes vault.

A search that combines the path to my Matter highlights and the tag ‘weekly.’

Obsidian search has special parameters for searching the path to a specific folder and tags. The new bookmarking feature, which is currently in beta on the Mac only, lets you bookmark searches. That means I now have a saved search of highlights from Matter articles that are tagged ‘Weekly’ that I can access at any time with one click. I’ve only been using this highlights workflow for a short time, but I can already see it coming in handy for research-intensive projects like writing my annual macOS review.

Also, Raindrop.io supports highlighting, and Readwise can sync those highlights to Obsidian, but I haven’t gone down that path yet. Anything that is part of my writing eventually ends up in Matter, so it’s good to know that functionality is there in Raindrop.io, but for now, I’m sticking to syncing my Matter highlights only.

This new multi-phase workflow has been far better than my past overly-complex or haphazard efforts. The differences are links stashed in fewer places and a staged approach that separates collecting links from processing and using them. With a sprinkling of Shortcuts on top to make the apps I want to use work better together, it’s a much more efficient system than I was using before.

Will my latest link workflow stick? I think so.

The lesson I’ve taken from redoing my link workflow is that it really pays to think about how you work before you set out to streamline it. Too often, I’ve wound up trying to fit my work habits to a system instead of creating a system that works the way I do. It also helps to start with modest goals and figure out how to balance built-in app functionality with automation solutions like Shortcuts and Obsidian plugins. Only after breaking down a workflow into its component parts can you make the call about where automation fits into the setup you need. Sometimes the right solution is to build everything in an app like Shortcuts, and other times automation works better as the glue that holds other apps together, but you’ll never know which will work best until you really understand what you need first.

You can also follow MacStories’ Automation April coverage through our dedicated hub, or subscribe to its RSS feed.