There was an interesting article in the New York Times a few days ago called Meet the Life Hackers, which described the study of productivity. It had to do with a lot of stuff I'm interested in. It had a bit about the human factors of productivity, a bit about software engineers, and a bit about interruptions.
The bit about productivity got me thinking. There's areas where I am pretty good, and some where I am not so good. First of all, I am rarely bothered by excess interruptions as work. Much of that is the somewhat isolated nature of my job. But also, I check mail in emacs, which is where I do most of my other work as well. And I never figured out how to get emacs to tell me about new mail. So I only get new mail when I remember to check for it. Sometimes I check every few minutes. Sometimes not for several hours. But I'm never interrupted.
Emacs also came to mind when reading the article, which tells how technology writer Danny O'Brien asked the 70 most prolific people he knew about how they managed their life. One of the things he found was that:
None of them used complex technology to manage their to-do lists: no Palm Pilots, no day-planner software. Instead, they all preferred to find one extremely simple application and shove their entire lives into it. Some of O'Brien's correspondents said they opened up a single document in a word-processing program and used it as an extra brain, dumping in everything they needed to remember - addresses, to-do lists, birthdays - and then just searched through that file when they needed a piece of information.
Wow, that sounds just like how people use emacs! Except that emacs isn't a "simple application" by any means. However, I've been keeping a running list of notes in emacs for years now, and it works extremely well. For instance, I store the SQL statements I need to do a common task at work. When I need it, I just open up a buffer, do an incremental search for the relevant words, copy, and paste. It works extremely well, and I store work-related items, places to try for lunch, and anything I want to be able to recall quickly, but don't want to actually remember.
One thing that hasn't been working so well for me is keeping a "todo" list. I started by having a text file I edit in emacs, with everything I needed to be working on, along with all notes related to those items. However, this was hard to keep up-to-date, and became cluttered with items that were stalled and had voluminous notes, making the important items hard to see.
Today I installed planner.el, a way to organize todo items into projects. It's very popular, some people even learning emacs just to use it! You can see items on a todo list for the current day, or see them grouped by project. Each day, or each project can have notes and schedules attached. It's all done in a emacs wiki system, which is publishable as HTML. So far, I'm very happy with it. I think this might be the final part of my emacs productivity puzzle.