Things I like this week, volume 32.

DEVONthink

I’ve bounced between a lot of note taking and reference apps over the years, and none have felt like home for more than a little while. I’d resigned myself to just using files and folders in Finder or iCloud Drive or my Synology or whatever, and thought that was the end of the road. The logical conclusion to not finding anything that really ever fit long-term.

I’d heard about DEVONthink before, probably first and most often from Gabe over at Macdrifter, who’s written and talked about it a lot. It always seemed like one of those insane apps that did way more than I could ever have needed, and with my focus on developing simplified workflows where possible, it felt like serious overkill for what I wanted to do with information.

Fast forward to March of this year. I’m re-reading GTD, in an effort to more fully embrace it, as opposed to the semi-adoption and remixed personal approaches I’ve always tripped into in the past. The notion of a place for actions and a place for reference material is critical to success. I ruminate on this, as I have information scattered across many areas and find it intensely frustrating.

At the same time, I read another of Gabe’s excellent, detailed posts about DT. I find myself fascinated with this app’s potential and continue digging into posts and other info. I decide to go all in, buying it on the Mac and iOS. I decide it will become the place where my information lives.

I have not regretted this decision.

I could say a lot about it, but do yourself a favor if you’re even remotely interested in a significant overhaul to your digital workflow and read Gabe’s stuff. Start with that link in the paragraph above.

Then, go support great software and buy it. It will absolutely change the landscape of your information and how you access and use it.

DEVONthink (iOS)

DEVONthink (Mac)

Using Drafts and Workflow as a clipboard manager.

As I continue to play this little game I’ve created for myself in which I try to use and install fewer apps while discovering new ways to use the ones I love, my latest run is based on replacing a dedicated clipboard manager app. While I do really like Copied and other apps like it, the truth of the matter is that I don’t need an app solely devoted to holding and managing snippets of information like this. I do occasionally have this need, and so it’s something I like the idea of having, but it’s almost only for text/links, which I can do in a variety of ways.

The trick is storing the snippets, but also making them accessible and easily retrieved, and because of the way iOS works, we’re limited in a few ways. Any app that does this can only run in the background for so long, and even if you’re using a widget for this, there’s only so much room in the UI to account for the things you can do without launching a full app UI. But since my specific needs are limited, I’ve experimented with pairing Drafts and Workflow together: one as the snippet storage and one for the quick access to my most-used bits of text.

A quick note: I think it goes without saying that if you use an app like Copied for images and other rich media, this wouldn’t really work for you. This is really centered on text, and the impetus for this was restoring my iPhone recently and for the millionth time not having my iCloud text expansions appear. Given that my needs are fairly limited anyway, I’m giving up on that broken-ass bullshit and building a replacement with the tools that I know will work. I still don’t understand how this far along and with all it can do having iCloud remember a three-letter shortcut for my email address and making it available on new devices consistently is such a fucking Herculean task.

Anyway.

Drafts as the library

I used to use TextExpander. I also used to have a million snippets I couldn’t remember. Then I decided to simplify and keep only the stuff I could. Once I realized this was a relatively small number of items, I decided to use the native iOS keyboard expansion for shortcuts. As you can see from my above comment, when it works, this is more than adequate for my needs. However, all too often I restore a device or set one up and I never get the shortcuts. Or they show up a month later.

But Drafts is always there. Building on my thinking for how I was using filters to move tasks out of my inbox, I created a filter to separate these text snippets out too. I liked the way Copied allows you to have a title for the snippet, so I created that same structure in Drafts. I just added a tilde to the end of the title line.

Along with that, I needed an action that would copy the body text but ignore the title line. Drafts has just such an action built in; just use the clipboard replace action, and instead of the draft tag, use the body tag. This takes everything but the first line and sets the clipboard.

From here you can go wherever and slap it in. You can even search right within the filter if you have a lot of these.

Workflow for quick access

So that takes care of the storage and the occasional browse to find a thing you want. The other time I need this ability is when I’m doing something in another app, and the easiest way to do this is with a widget. I headed over to Workflow and built a very simple list of some frequent snippets that loads right in the widget body, replaces the clipboard, and can be dismissed immediately. I noticed that 15 lines is the max I can fit in one of these on my iPhone 7; any more beyond that and you won’t see everything. Again, my needs are simple, so this is fine. What I’ve done is build a multi-step action that first asks which list you want to display, and then displays the snippets in that list.

The simplest way to get started is to just do a basic text list, add the exact text you want, and have it replace the clipboard. But you could also use the text list to show a label, and then add “Replace Text” blocks for each one, and then send the replacement to the clipboard. This would work better if you had bigger blocks of stuff that you weren’t going to see anyway, or if you just like things looking tidy. (This was Tim’s idea, I like it; I like tidy things.)

What I’ve described is two separate sets of actions that manage this content. Now you can can get Workflow to talk directly to Drafts by using the “Get Contents of Draft” action. This requires you to copy the UUID of the draft you want and place it in the action. This would be true automation, and way more fun. Unfortunately, when you do this, Workflow can’t grab the content directly from Drafts without first switching to the app, so you leave the widget and do a quick round-trip, which defeats the whole purpose of having a widget action in the first place. So I chose a few of my most-used snippets for access within the widget and spent the time up front to save it later.

Now, you might be thinking: boy, that seems like a LOT of dumb work to do just to get the same functionality that a single app can provide, and you’d be totally right! It is. I will not argue this, not even a little. But, there are two reasons I like this.

  1. I always have both of these apps installed, which means they’re always on every device anyway, and it’s one less app to install/manage in addition to that.
  2. Every time I do this kind of thing, I figure out new things. In many cases, these dumb little experiments end up allowing me to refine something else I might have been doing already. This feels good.

Finally, I figured I needed a quick way to make adding snippets easier, so I created a basic Workflow that asks for input or grabs the clipboard (assuming I’ve copied what I want), asks for a title, and uses Tim’s nifty Auto-Archive action to dump the filtered draft in the right bucket.

Needless to say, since Tim and I go back and forth on this stuff all the time, I’ll drop an idea on him, and he’ll latch onto it and improve the flows.

So he figured out how to construct the text as a dictionary, and have Workflow present the list and pull the right text that way. Which means you can build a single text file in whatever app you want containing the labels and links/snippets/etc. and then just drop it into the leading text block in the workflow. This makes things very easy and nice. Here’s the template for that.

And then sometime later I went to bed. But he didn’t.

I woke up to a long message and a few links. One to a new Drafts action and one to a Workflow that’s called by that action. Basically, since Workflow can’t get the info directly out of Drafts in the background, he thought to create a text file that Workflow could access in the background, and stuck it in its iCloud folder. Within that text file is the dictionary, containing the names of the text snippets, and the corresponding values for them. You can store these files in Drafts, and update them whenever you need to. Save the file again to that same folder in Workflow’s iCloud storage, and it’ll overwrite. The next time you run the workflow, it calls the new information from that file. It’s still not quite directly linking the two apps the way you’d think you should be able to, but it’s damned creative, and I told him so. And it’s way easier to edit the dictionary within Drafts than in a tiny box within Workflow.

As far as I’m concerned, that’s the best way to do this: maintain a text file (or a series of text files for whatever you want) in Drafts, save out changes to Workflow’s iCloud folder, and the updated versions are always available when you want them. If you want to keep this in the widget, you’re still limited to the row number, but if you don’t care, you can have a list as long as you want.

I realize it seems circuitous and somewhat silly, but the whole point of all of this is to play and learn. The game of reducing apps has a direct benefit in that every time I restore or set up a new device, it takes less time to get up and running. But these small excursions also allow me to think through problems and find new ways to solve them. Some people engage their leisure brain with crosswords or sudoku. These are the little puzzles I like to solve.

Update 2017-01-13: I realized a week too late that I was mistakenly referring to dictionaries as arrays. So I corrected this egregious mistake. Sorry about that.

Using Drafts, Reminders, and Slackbot as a task management system.

I know, this sounds like a fever dream. Stay with me. I promise it’s headed somewhere.

Over the summer, I made the decision to split my work and personal tasks between two separate systems for a lot of reasons. It’s stuck, and I’m really happy with that decision.

I also decided that in terms of thinking about personal tasks, a basic hierarchy is all I need. There are things that need to get done by a certain time, and then there’s everything else. I was using OmniFocus for this to great success.

But if I’m honest with myself, I’m still over engineering things. Work stuff, ok, there’s other people and dependencies, and lots of other things at play. But my life? At home? I essentially need lists, and that’s about it. Simple, basic lists. With the occasional nudge to do something once in a while.

I’ve also been (re)drawn to the idea of using as much of the stock OS as possible, which means I’m looking at Reminders for things. I’ve been down this road before.

Reminders is great because of what it does, which is exist on all your devices without a bunch of extra effort and mostly capture things in a reasonably expedient manner. But what it doesn’t do is allow you to make changes to those items easily and quickly. Or sometimes sync reliably (I had weird duplication of tasks, and stuff marked as done come back from the dead multiple times). All it takes is a few cracks in the facade, and I’m running. So while in principle, having all those unchanging things (bills, medication alerts, household stuff) always available on any new device via iCloud, it just didn’t feel like enough to take the throne.

iOS 10 seems to have fixed a lot of the weird behavior I noticed previously. Also, if I’m not forcing Reminders to be a system it’s not–i.e., using it for what it’s actually good at–I can actually derive an incredible amount of value from it. Here’s what it does well: it reminds you to do stuff. If an alert fires, and you don’t dismiss it or complete it, it hangs out on your lock screen until you do. Every time you look at your device, it’s there, like “hey, yeah, hi, don’t forget this thing”. Simple, quiet, persistent. I like this behavior.

So anything with a date/time/location goes in Reminders. Easy enough. But what about this part:

what it doesn’t do is allow you to make changes to those items easily and quickly

Well. I had a good think about this, and realized that if I’m using this tool correctly, chances are I’m not making changes, but I do still need a little flexibility in assigning those dates and times. So as always, I turned to Workflow. In minutes, I had built an “add reminder” action that I can trigger anywhere from the widget that asks for input and either presents a list of my most common times for an alert or one of three most-used locations (home, office, pharmacy).

I can add a new reminder, with the right alert, in about half the time. It’s freaking great.

That brings me to all the stuff that doesn’t need an alert, but has to get done at some point, or at least should. From that same post:

More disappointingly, even though I adore Drafts more than life itself, it really isn’t the place for me to house my tasks and take action on them. The idea of a single Markdown list of the things I want to do was intoxicating, but it didn’t fit with my mental model of how I manage things I actually need to do.

Once again, I was trying to make a tool do something it shouldn’t. So I changed the way I thought about these lists. I need to keep these lists handy, and they don’t always require action but I need to remember to check them (in GTD, this is a “review”) occasionally. I’m in Drafts all day long, for a million reasons. I’d never tried filters before, so I decided to give this a whirl.

Not one list, but a few key ones. See, if these things are always accessible, in a tool I’m already using all day, I think I’m more likely to idly scroll through and do several quick reviews, and potentially cross some things off. This is definitely the big variable in this new system, and I’m waiting to see how it feels. So far, so good.

Drafts doesn’t have line spacing controls, and one of the other things I wanted was a little more padding in the list views for ease of reading while I scan quickly. So I added a very basic Unicode character that creates a little bit of space between lines, allowing for a nicer view. I added that to an action key, and made an action list to send the draft to the right list.1 This is also good because I can filter against that same Unicode character, and keep things where they belong, keeping my inbox cleaner and actionable.

Within the lists themselves, I can use the native link mode and line re-ordering functionality Drafts has to move items around (or delete them when complete) or view a URL I add to a task. Works pretty well.

But what happens if I have an item in this list that I decide I need a nudge for? I took that same Workflow action I’d built, and modified it slightly to take a selected line of text from Drafts and send it through the same flow. It kicks it over and runs the same super fast steps and dumps it into Reminders for me, to ping me at some future point.

So I’ve covered basic lists and the escalation point where I need an alert to move something along. I also mentioned Slackbot. My love for Slack is well-documented at this point. I’m always looking for different ways to use it. I decided to try using Slackbot for a certain class of nudge that is absolutely not mission-critical—one that I didn’t feel like seeing in a list every time I opened Reminders—as a test. So I have a handful of recurring reminders I’ve asked Slackbot to yell back to me every now and then.

I have a “home” list of stuff we need to do around our house. Totally not urgent, has no time sensitivity. Every Saturday at 9am, Slackbot goes “hey check your home list and see if you can do anything today”. I don’t need to mark anything as done, and if I want to hear about it again, I can defer the reminder for later or the next day. This is only for stuff I kinda don’t really care about, but still want a poke for occasionally. So far, so good. And you can review what you’ve told Slackbot to track with a simple /remind list slash command. I’m still exploring this one, but it’s been fun so far. I’m currently trying to think of other little nudges that I don’t necessarily need to take action on, but that I’d like to see now and again.

That’s pretty much it for now. For… now. Every time I change this system up, I feel like I’m losing my mind a little more, but I also feel like in restructuring everything, I keep learning about what’s important to me at different times in my life. And I’ve decided that this is my hobby. I really do like playing with these things. I have almost no free time, and a busy work and family life, and this stupid crap actually makes me happy. It’s not getting in the way of doing stuff, and that’s the important thing.

So yeah, that’s this month’s experiment. I’ll let you know how it goes.


  1. And naturally, Tim improved it by combining everything into one action, so if you want to play with this stuff, just use his instead. It’s tight. 

A return to form.

I type a lot. Hundreds, if not thousands of words, every day, across various devices. I’d say it’s a primary interaction model for most of us at this point. It’s changed the way I think about information, because since I can type, I often do, and it means that since I can type pretty quickly, I can capture quickly too.

Along the way, I’ve used lots of different notebooks as well. That was a vestigial practice–held from college, I’d wager–where I was never without one. But in my professional life, I could just never get it to stick the way I could in my personal life. I’d use a Moleskine or some Field Notes for a while, and then inevitably gravitate back to my Mac in most cases.

And I’ve tried to blend these ideas in the past, with various degrees of success. I’ve drastically increased my usage of iOS across personal and professional activities, but I’m still typing. A lot.

Earlier this year, I got the 12.9″ iPad Pro and an Apple Pencil. I enjoyed the novelty of finally having a digital handwriting tool that almost exactly matched my writing style on paper. But I still wasn’t using it much for this. I’d pull it out and open Paper to sketch something quickly or explain an idea, or annotate something, but I just didn’t make the mental shift to embracing it as a real input method.

But in October, I attended a conference for work. And I decided to try something different: I would sit in sessions and meetings and just listen and only write down something that stood out to me as interesting or important. What happened as a result of this decision should surprise exactly no one: I listened more attentively and actively, as opposed to simply trying to capture every detail of what was communicated. The things I did capture were of more value because they were most likely the important aspects of the information, and the act of capturing them more deliberately by hand allowed them to gestate in my mind a little more.

This isn’t a new discovery. In fact, I already knew this to be the case, even on a personal level. But blending the idea of the digital notebook along with the act of handwriting triggered something new for me. Since then, I’ve been keeping daily handwritten notes in an app that was recommended to me by a friend. Each day, I start a new notebook, log anything I need to during the day, and at the end I export a PDF to Box for archiving.

The act of more consciously listening and being present in a discussion has been transformative for me. I think that for a long time, I felt obligated to log as much as possible but what’s really more important is engaging in the discussion when it’s actually occurring.

To the extent that this is a digital activity as opposed to paper-based, in doing it this way, I allow myself a quick and easy way to backup my notes and share them if need be. I can drop images in and annotate immediately, or record the entire session and take notes alongside. Distinct advantages over a paper notebook, but the biggest one is that I have one thing to carry and I can do everything with it, as opposed to a computer and a notebook, which I’d then want to scan in some way, adding another activity to the chain of events.

I’m dealing with information differently now, and I’m really pleased with how it’s been going. It’s been about a month, and I really enjoy the act of writing again, which surprises me. It might not be as efficient a method of capture, but part of that capture process is understanding what it is I’m keeping for later—and slowing my mind and allowing that information to breathe as it moves around has been a real change.

Of course this all led me to buy a second iPad too, but that’s a story for another time. 😉

Summer explorations, part three: Resolution and refinement.

Parts one and two of this series are here and here.


I know this all seems like a tremendous waste of time, and in some ways I’d agree. I get a little sad when I think about how many other ways I could have spent the time I’ve sunk into task management and this kind of thing. Moving from one app to another. Thinking about perspectives, and filters, and tags. Talking to friends about what they do. Experimenting, tweaking, and returning to the starting point.

But if you’ve read this far, you’re likely the kind of person who sees some value in the process. And that’s part of my point.

I see two things very clearly now. The first is that this really has become a hobby, which is a little weird, but whatever. My hobby is playing with task apps and organizing information. This should come as no great surprise to anyone, given my previous statements. And for all the hand-wringing it causes me, I do like it. It’s fun. It’s like doing a jigsaw puzzle over and over again, but the pieces’ shapes change ever so slightly each time, so it’s familiar, but not exactly the same. It’s oddly delightful.

The other thing is that for better or worse, the way I feel about myself is intrinsically tied to how I feel about the information I manage in my life. I’ve discovered (re-discovered?) that I feel great about myself when I think I’m completely on top of things and not so great when I feel like things are slipping through the cracks. I suppose this is slightly better than tying your feelings of self-worth to something like your personal appearance or fiscal status, which may not be as easily managed.1 At least this way, I have a relatively manageable way to climb back out of whatever emotional abyss I find myself in from time to time, and can reason out why I might be feeling that way at that time.

I’ve found there’s something almost Konmari-esque about switching task apps after a certain amount of time. Each time I do this process, it takes less time than before, because I get serious about pruning things that have been floating around in my system that I have no intention of ever really getting around to. I shed a handful of things that were being maintained and adding to the overhead and re-prioritize some other things, forcing myself to take a good look at what I want to get out of the switch. It feels… cleansing, if we’re being honest. And I like that feeling a lot.

After all this, what have I learned?2

  1. I’m not going to feel guilty about doing this stuff. It’s fun, and it serves a purpose.
  2. I have great friends for humoring me as I go through this. Of course, they’re as bad as I am.
  3. Splitting work and personal data, while initially somewhat challenging, has yielded some interesting things both in how I use apps, but also in how I think about getting things done.
  4. If this is what I have to do to make me feel good about myself, things could be a whole lot worse.
  5. I should spend more time with my kids.

That last one pretty much applies to all aspects of adult life, but as you crest over the hill of “yay, I feel like I’ve settled into my new task app” it starts to kind of assert itself a little more.

So that’s it. Summer lovin’. Happened so fast. See you in about a year when I manage to get myself knotted up all over again about something else. Or the same exact thing. Either way.


  1. “No offense if that’s your bag, it just isn’t as important to me,” he said as he ate a third helping of dessert and drove away in his modest five-year-old mid-size vehicle. 
  2. The other thing I’ve learned is that it’s tremendously helpful to read my old blog posts. It’s like talking to myself in a private (except that it’s published publicly on the the internet) therapy session.