Feedback Loop

June 28th, 2010  |  Published in adhd, attention, ruby  |  1 Comment


I remember an article from eleven or so years ago that explained how to use Perl to spider the Web and collect links to new pages from my favorite sites. I don’t remember all the details, except that it was written from a perspective that seems very alien now, because there are just so many ways to have things delivered now. I’m sure some folks still find some benefit automating the retrieval of some things in that fashion, but for general-purpose “keeping up with daily stuff,” you can get an awful lot done with a custom section on your favorite news site and a healthy collection of RSS feeds to the right aggregator sites.

I’m thinking about the problems that lump of Perl solved right now because it’s become so easy to have so much just arrive on my computer’s doorstep that the volume of information I might receive and want or need to deal with over the Web or wider ‘net is beginning to feel like a deluge in its own right.

Here’s a list of electronic inboxes I put things in each day:

  • flagged/starred items in my mail

  • delicious bookmarks

  • Evernote notes

  • flagged/starred RSS articles

  • Instapaper items

  • Things todos

A list of collection points:

  • iPhone

  • iPad

  • Mac

  • MacBook (targeted for removal from the inventory, but still here for now, even if it isn’t seeing a lot of use)

I gather a lot of information in a lot of apps or services, and I usually pick the apps or services based on how frictionless it is to capture something into it along with how portable it is. I love Evernote’s Web clipper, for instance, because it’s just sitting there waiting to be used and it takes very little effort to clip a new note and go on with what I’m doing, and I can then get at that note from anywhere I’m connected to the ‘net. In fact, the collection process is so frictionless with a lot of these tools that the real challenge is keeping track of all the things that I come across and can’t do something with right now.

When I think about what I’m doing with each of those tools I use to gather collections of things, I’ve made the mistake of thinking of those things very narrowly: “This is a bookmark,” “this is an interesting article,” “this is an e-mail message with an article I need to edit.” But that’s way too narrow, because what they all really are is things I need to do, whether the “doing” is reading them, passing them along to someone else.

While I’ve got a nice todo program that runs on every computer or device I own (Things), it’s not easy or practical to turn all those things I gather into todos at the time they’re created—that’s a second step— and it’s not really easy to circle back and sweep all those things up because they live a bunch of places. Even though Things runs on everything I own, it’s sort of uneven in terms of what it can capture where. On an iPhone or iPad, for instance, Things requires a whole context switch to get something saved to it. It’s more fluid and adaptable on my desktop or laptop.

Because the central point of my computing life is my desktop computer (an iMac), and because all the apps I use to deal with all these inboxes offer an AppleScript dictionary of some kind, the act of gathering up all the stuff in each of those inboxes can be automated based on finding items based on their creation date (the last couple of days) and their uniqueness (don’t already have a to-do with identical title, comments and source service).

Some sample gathering queries from two that I knocked off this morning, just to show how easy it is to find stuff using /rb:

en = app("Evernote")

notes = en.notebooks["Inbox"].notes[ - 2.days)].get

nnw = app("NetNewsWire")

flagged_rss = nnw.subscriptions[its.display_name.eq('Flagged Items')].first.get

And all the code you need to make a new todo in Things:

things = app("Things")

task = things.make(:at => app.lists["Today"].beginning, 

    :new => :to_do, 

    :with_properties => {:name => my_title, 

    :tag_names => "panopticon", :notes => my_note, 

    :due_date => + 8.hours


I’ve got a skeleton of something I’m tagging as “panopticon” that uses those two basic ideas as a script I can run now and then (though always first thing in the morning) to sweep up all those inboxes into the one inbox best equipped to get me to act on them: Things’ “Today” list.

Once everything is gathered up and turned into todos, Things provides a nice interface for going down through them and either adding them to a project, doing something with them on the spot, deferring action on them, remembering to refile them, or deciding they weren’t that important after all. It’s only one thing to remember (“look in Things each morning”), and I don’t have to go visit each service each day to make sure there’s not something in there I need to be doing.

I also get to keep using each service for what it’s good for. I’m not so much transmuting a bit of information into a bundle of potential action as I am cloning it into a bundle of potential action while the original runs around wherever it’s happiest, in a format where it’s most useful as a form of long-term recall.


  1. Panopticon 0.1 :: dot unplanned says:

    June 29th, 2010 at 1:15 pm (#)

    […] described the point yesterday. […]

Leave a Response

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.