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. 

Summer explorations, part two: The serpentine path of satisfaction.

Part one of this series is here.


As I said in the last post, splitting task data was something I’d not done before, and it became a very interesting scenario. I toyed with the idea back in July, but it was purely a theoretical thing, a thought technology and not much more. It didn’t stick then. In fact, it took seismic shifts in my daily routine and workload to precipitate the change and have it remain intact. But that happened in the past few weeks, and now I’m using two separate apps for work and personal tasks as opposed to filtering those things in a single app.

Once that decision was made, the next thing that happened was a realization that the way I think about “work” and “home” are drastically different–but I was managing them the same way, with the same overhead, filtering, tagging, etc. It didn’t make sense anymore. When everything is in one app, you start playing with filters and views to separate things you don’t need to see in reasonable ways. Eventually you hit on something that works, and you’re happy. But what I realized as I broke this data apart was that the things I want and need to accomplish in my personal life are vastly different from the things I need to accomplish at work. More importantly, the way I think about these things and the way I set about trying to do them really ought to be different too.

So I stepped back, with two disparate data sets, and thought about it. Todoist is a perfect tool for work, with team collaboration, web integrations, and cross-platform support. But what’s the perfect tool for everything else?

I’d been using 2Do for the past few months, and I’m a big fan of the app. It totally changed the way I think about information, how I organize it, and how I access it. I was late to that party and I’m far from the only fan, so if you’re interested, I encourage you to read these other great posts.

But 2Do started to feel (as flexible as it is) like more than I needed for this. So I did what any rational person would do in this position. I tried 47 other apps.

I began with redefining the things that happen in my personal life: there are “reminders”, which are things I need to remember, usually at a certain time. And there are “tasks” which can be things that need to get done but have no date—or things I’d like to get done, whether tactical or aspirational. I took anything without a date and created individual lists in Notes. I told myself I’d refer to them on a regular basis.

Mm hmm.

I went back to Reminders, like a gentleman. Built-in, deeply integrated, and simple as can be. Set up a few lists. The perfect place to store the things I need to be reminded about. Even does those cool deep-link things between apps as of iOS 9. The Notes idea, however, quickly became a weak spot, so I pulled those items into a single note in Drafts, which I am in all day, every day. Figured if it’s right in my face, I can see it and take action. I would look through that list each day and if I saw something I needed to do that day, I would highlight it and send it right to Reminders for attention-grabbing. It was flawless! Until it wasn’t.

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.

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.

Then I went back to Wunderlist, which I’ve used in the past. Wunderlist is cool because like Todoist, it’s web-based, so you can do some cool stuff with it. The app’s come a long way and features excellent things like natural language capture now. But between some syncing weirdness, some UI glitching on the iPad, and general malaise, I decided within a few days that it wasn’t going to be the winner either.

Then I snapped entirely and put everything back in 2Do. I wiped all my previous data one Sunday morning and decided it was the right place. I told myself I would change the way I think about organizing things (more capture, more action, less fiddling, less overhead) and I was convinced I was done.

Until about 45 minutes later, when I re-downloaded OmniFocus, installed it, and put everything in there too. OmniFocus, my longtime on-again, off-again girlfriend, with whom I share history, with whom I am not truly complete, despite my weary wanderings.

For the next 36 hours or so, I had all of my personal life in those two apps. And then I just freaked out. No, seriously, I did. I had a baby anxiety attack, quickly righted the ship, realized I’m a total asshole, thanked the heavens that this was my biggest problem right now, and just said fuck it, it’s going to be OmniFocus again, and that’s that.

The more I thought about it, the more I realized that the way OmniFocus organizes and displays information is what I was looking for right now. It does bulletproof reminders and due times. And with what I learned about not using due times and surfacing things at the right time when I need to see them, I figured out what I needed to do.

If you’ve made it this far, I truly am sorry. And thankful. We should hang out.

So.

Anything that either has to happen at a certain time or should happen by a certain time gets a due date in OmniFocus. Everything else sits across a handful of projects. Flat hierarchy (for now), no folders, no sub-projects, none of that. Simple. Barely any contexts. Contexts are a luxury now. I only create one when absolutely necessary. I have four perspectives: “Today” (due and flagged), “Available” (everything without a due date), “Wait Up” (stuff I’m owed or stuff I owe – good for work and personal life), and “All” which is just everything, in case I ever need to dive in. I can use Drafts and Siri for capture everywhere, and things like MailDrop and calendar integration as well.

The idea is: things I need to do each day (due) show up no matter what. In addition to that, I comb through “Available” each morning and choose one or two things I really want to get done–and think I can during the course of that day–and flag them so they show up. I have to be brutally honest with myself, and only pick those one/two, but it’s made me start to plan around how I want things to get done a bit more, instead of just making lists and never actually doing them. Last week alone, I cleared about four or five little things that had been hanging around just because I pushed myself.

And therein lies the big lesson.

This isn’t about apps, or systems, or UIs, or web integrations. It’s about getting serious and allowing myself both the flexibility to do things, and not do things as life dictates. It’s about changing the way I think about work projects and the way I think about my personal goals, so that both get accomplished in the best way possible. By changing the way I visualize and organize, I’ve been able to reset what my actual goals are, and start clearing items out. But it wasn’t the apps. It required a serious mental shift, and I had to be ready to do it. I wasn’t before. Things changed, and conditions became favorable, I acted on it, and I’m pleased with the results. I still have lots of work to do to move through some longtime lists I’ve been carrying around, but the new ideals I’ve created will lay the foundation for how I manage those things going forward.

Final chapter: after all this nonsense, what does it all mean? I realize some things about myself (again) and crystallize how I want to think about things for the future.