Capture Thing

Brett inadvertently forced my hand to publish the app featured in tonight's post.

He announced version 2.0 of his clever doing project by tweeting

If you take enough detours to hack around with a side project, over a few years you'll eventually get to 2.0 on a project you're not even sure anyone else uses 🙂

To which I had an immediate face-palm reaction when I realized

  1. How did I miss version 1?
  2. My goodness, doing is so much more scriptable and robust than the weird-ass Mac app I built for myself to scratch a similar itch.

If I'm understanding the intent of doing correctly (and I'm writing this after only reading through the v2 announcement and skimming around the documentation), I think his project and mine (which I'll get to in a bit) come from a shared need to record and track what you're doing (or have done).

Where our two approaches diverge is Brett went full-on nerdcore building a reporting engine into doing that provides the ability to track time and generate statistics of what you've been...doing. The later, last, and recent subcommands look like a brilliant ad-hoc reminders list to get you back into your last work context.

I've been big into journaling for close to a decade now - at least in my personal life. But I've never been able to build up the same habit in my work / professional life - even though I know I would reap benefits there, too.

I've tried all sorts of workflows to make journaling my workday a regular and frictionless routine — everything from a Day One hotkey to some convoluted Keyboard Meastro macros and Drafts.app actions.

None of them stuck.

But what finally did work for me (at least for the last six months or so) is a tiny little Mac app called Capture Thing. (Sorry, I pick horrible names for projects I never intend to share with others.)

Here's the app's only window

Capture app window

While I'm working, whenever I want to record progress, take a note, or jot something down for future reference - I press a keyboard hotkey to summon the capture window. Fill in the details (as much or as little as I want - all fields are optional) and ⌘S to save the entry. The window disappears, and I'm right back where I was in some other app.

Where do these entries go? And what are all the options?

I have a folder in Dropbox called Capture. Inside that, the app automatically generates year/month folders as time goes on. And a new journal file for each day I capture info. Like this

Finder folder structure

Each journal file is (of course) a plain text Markdown document in a standard format that renders into a friendly, human-readable format for later viewing and searching.

A complete entry (including every option) might look like this.

# 10:12 PM
Writing a blog post about Capture Thing
----------
I need to come up with some decent examples to share that don't expose all of my top-secret work notes.

![Screenshot 1](attachments/2021-11-22 - Screenshot 1637640770_1.jpg)
![Screenshot 2](attachments/2021-11-22 - Screenshot 1637640770_2.jpg)

### Attachments
* [doing-tweet.png](attachments/2021-11-22 1637640770doing-tweet.png)

### All Browser Tabs
* [Add New Post ‹ tyler.io — WordPress](https://tyler.io/wp-admin/post-new.php)
* [Brett Terpstra is fully microchipped on Twitter: "If you take enough detours to hack around with a side project, over a few years you'll eventually get to 2.0 on a project you're not even sure anyone else uses :). https://t.co/6sNw3jv34a" / Twitter](https://twitter.com/ttscoff/status/1462106481814298635)
* [Home · ttscoff/doing Wiki](https://github.com/ttscoff/doing/wiki)

### Misc Info
*Timestamp: 2021-11-23T04:12:53Z*
*WiFi: TopSecretWifiNetworkName*
*Computer: imacpro.local*

* * * * *

Top to bottom, here's the entry format

  • An optional one-line summary.
  • An optional multi-line description with as much or as little content as you want.
  • If the Screenshot option is enabled, the app will take a screenshot of each monitor window, store those in the attachments directory, and link them inline in the Markdown.
  • You can drag and drop files into the capture window, and they'll be copied into the attachments folder and linked, too. I'll often take a small screenshot using CleanShot X, add some annotations, and then capture that image into my journal.
  • If you choose one of the browser tab options, the app will use AppleScript to grab the current tab (or all tabs) and dump those URLs into the entry along with their page titles as proper Markdown links.
  • Finally, to provide added context about when and where I made this entry, the app records the name of my computer as well as the current wifi network (which serves as a poor man's location, so I know if I was at home, work, or a coffee shop).

As I go about my day, I capture what I'm currently working on or thinking. And at the end of the day, I have a full Markdown document of (hopefully) everything I worked on. I can review these journal entries fully rendered in an app like Marked.

Marked preview window

For years I've hacked around on tools and projects that I nebulously classify as my "second brain" or "digital memory". Those terms aren't unique or invented by me, but I'm fascinated by the possibilities that arise when data storage is so cheap and it's (trivially?) easy to capture so much of one's life - privately, for your future reference.

But that's a much longer blog post.

Let me end with a quick video or two of Capture Thing in action to highlight how keyboard-centric it is.

First, here's a complete end-to-end capture.

And then, you can see that the three screenshot and web browser capture options are toggleable with ⌘1-3.

Those options are adjustable per entry but default to what you choose in Preferences.

Capture Thing Preferences window

Another nicety that I won't bother screen recording is if you press the capture hotkey twice (without filling in any details), the app will instantly capture and save a screenshot. I've found this very helpful to capture chat windows and video presentations super quickly.

Despite its terrible name and even more awful app icon, Capture Thing is available on GitHub if you'd like to try it or take the source code and build your own bespoke capture journaling workflow.

A notarized app download is available here.