Day One as project log

[Tweet]

I’ve spent a lot of time automating my Day One journal. Slogger and various other scripts keep it populated with my social and work logs. I recently decided to start logging my time better in general, so I’ve started using Day One “properly,” at least part of the time.

I constantly find myself getting lost in projects and staying up too late, and then forgetting what all I worked on in the wee hours of the morning. It’s why I use my “What was I doing?” system (and previously Ian Beck’s Scratchpad setup) and log one-line descriptions when I switch tasks. It’s also one of the reasons for this blog, but that’s only helpful when I’ve finished something. This is all fine and dandy, but I always forget to do it in the moments where I’m in the zone and it’s most important that I keep track.

A rabbit hole and a light in the darkness

As an experiment, I set up a system with launchd and Growl. Every 60 minutes my script would check if I was still working on my machine (IOKit activity, if I hadn’t touched a keyboard or mouse for more than 30 seconds, it would skip the reminder) and pop up a question in Growl. It would note what the last “WWID?” item I recorded was and ask me if I was working on anything new. If I click the notification, it opens my “What Was I Doing?” note in nvALT. It has its drawbacks and quirks, though. Then I remembered, with a forehead smack, that Day One has a “reminders” feature that I’ve never used. I decided to try it out.

I set it up to remind me hourly. Now it pops up a little entry window every hour and I can scrawl a note, add tags (via hashtags), and save. Day One doesn’t even need to be running. I can also write longer entries if the mood strikes me. It’s working brilliantly.

I tag short status updates with #wwid. It makes it easy to sort and see a list of project and task time in chronological order. The first line is always short and concise, as it shows up bold in Day One and makes for easy scanning. Any additional notes or pontifications go below that.

At first I thought that my Day One journal would get messy with all the short updates (messier than Slogger already makes it). Day One actually turns out to be well-designed for just this sort of thing (suprise! Yes, I’m slow). With the first row highlighting and tag filtering, scanning my last few days of work is quite elegant.

I’ve been doing it for a week now, and it’s saved my failing memory almost daily. Yes, sometimes the popup is annoying, but it’s easy to snooze or skip if I don’t need it, and taking the moment to fill it in and add it to the log is worth it. I’ve also automated importing the “#wwid” updates to my single note in nvALT, and longer updates get duplicated from Day One to their own nvALT note and added to an index file for Marked. I’ll write more about this system later.

Some Day One tips

I’ve picked up a couple of tricks as I start working more hands on with Day One. First, arrow keys are your friend. In the different views and modes they have different functions, but they’re consistent and intuitive. In the day view (list), you can use up and down to move by entry, and left and right to move by day. That’s handy.

Here’s the cool part: there’s a menu item for Edit Current Entry that will take the item at the very top of the Day view list and open it for editing. The problem is that it’s a menu item and doesn’t have a hotkey (it turns out I had overridden this hotkey accidentally, it does have one by default: ⌘E). Add one in System Preferences -> Keyboard -> Application Shortcuts, specifying Day One, and it’s an awesome feature. Just make sure you name the shortcut exactly “Edit Current Entry” with capitalization. I used ⌘⇧E as my shortcut.

Now I can scroll through the day view with the keyboard and jump to editing without clicking any of the little links or using the context menu. The same hotkey can finish editing, too, which is really fast once you get used to it.

I was just clued into an awesome trick by @sam_kale on Twitter: ⌘↩ does all of this and more. You can jump from list view into a Day, then edit the topmost entry, then save it, all with Command-Return.

Some other keyboard notes: when paging through with the keyboard, you can keep going to the next day when you hit the end of one. (That doesn’t work with the mouse, though.) From the list view you can jump into Day view for the currently-visible day with the right arrow key. From the day view, you can jump back to the full list view with ⌘2. You can jump between all of the sections with ⌘1-5, actually.

I use KeyRemap4MacBook to allow me to press and hold sd and turn my hjkl into Vim navigation keys. That makes all of this arrow key fun even better for me.

I’m sure I’ll discover more things that I should have known long ago. Here’s to actually using software the way it was designed. Cheers.