One of the best developers I've ever met was Andrew Bunner. We worked together for about six months almost four years ago, and I'm still amazed at how good he was. It was flat-out unfair.
One of the things that most stood out to me about Andrew's working style was a massive MS Word document he kept open at all times with the complete state of everything he was working on. It was amazing. Any time you asked him a question, he could page through his doc and pull up some notes from an experiment three weeks earlier. He had perfect recall for all facets of all topics.
The technique worked so well that, in the years since we worked together, I've tried repeatedly to copy it. I've tried using Word, Notepad, Wordpad, Gmail, and custom-coded HTML as the mechanism for storing notes, but none have worked - the cost of doing a retrieval or starting a new topic is always just too high. I always wind up with notes scattered across several different media, including physical notebooks, post-its, and scraps of paper. I finally realized that what I actually need is a wiki that runs entirely on my laptop.
This week I finally bothered to start looking, and I found a small client application that is already profoundly impacting the way I work. The app is called WikidPad. You should go download it and try it right right now.
My favorite features:
- Formatting codes that are exactly what I'd expect. Like a lot of engineers at Google, I store a lot of information in twiki, so this may just be happy coincidence, but almost all the twiki formatting codes work in WikidPad.
- Special text markers for items like TODOs, questions, and issues, along with an easy way to navigate to all such items in your wiki.
- Killer search
- Auto-completion for Wiki words. This is way cooler than it sounds.
- Client-side speediness. It's been so long since I've spent a lot of time in a complex client app that runs quickly (my browser and my IDE certainly don't) that I forgot it could be done.
- A pretty clear api for extending the app with simple python hooks
The only problem I've found so far is that it seems to have some problems with the pen input on my tablet PC. I can't isolate that problem though, yet.
In the three days since I installed this app, I have dumped tons of information and ideas into it, including the first draft of this post. This is without a doubt the coolest piece of software I've seen in a few years.