Had lunch the other day with a programmer friend, a very accomplished and smart and thoughtful guy. A studious reader of this blog, I think for about two years, who's trying to figure out the shape of the software I'm working on. I am swinging back to outlines now, and finding they have new relevance, and that I understand things I didn't understand before. So that's what I'm talking about these days. However, my friend the programmer says he's missing the context, because I never write about outlines. He's right. I stopped writing about them a long time ago, before the web and blogs. So there's no body of writing to explain why they work. I'm going to skip all the history for now, and just explain outlines in the 2011 context. It feels like I manage hundreds of "sites" where I accumulate or hope to accumulate lots of ideas, record events, store pictures, etc. As much as I have trouble keeping up with what everyone else is writing, I feel that what I have created is even more out of control. So I want to organize and simplify and make it easy to find things, and when I spot a mistake on a blog post or a howto, or want to add a note to a picture, I want to do as little work as possible to find the source text, make the change and save the result. Outlines are rapidly becoming the way I do that. Until recently I only used outlines to write individual articles like this one. And of course to write code, and manage object databases (Frontier allows me to edit almost any structure in the outliner, and programs and their data are well-modeled as hierarchies.) I've figured out how to do the next-up level, to manage collections of sites, in one document that I can search quickly and navigate, and easily reorganize structurally. And where linkrot was always the result of restructuring in the past (one of the reasons I didn't use outliners to organize my entire net presence), I now have a solution for that. It was possible to do it years ago, but I didn't think of it. That I'll write about in more detail when I'm ready to release an app that anyone can use for this purpose. But the feature already has a name (sorry for the tease -- no I'm not). In the true spirit of a bootstrap the link to its name is an instance of itself. Programmers love recursion. It's the rabbit we pull out of our hats. |