this is a blog by Jeff Perrin, a software developer based in calgary alberta

Search/Virtual Folders

I came to a realization the other day, regarding how I use my Windows filesystem for storing documents. Put quite simply, I don't. The main reason being that it's just plain awkward and lame to manage. Why? Here's a few simple use cases:

  1. Saving a document received in an e-mail:
    • Click on the attachment, and save it to my desktop
    • Open the document from my desktop. Read it.
    • Decide that it's worth keeping around. Make a mental association regarding what category it falls under.
    • Browse to My Documents. If a folder mapping to the document's category exists, drag the document from my desktop to that folder. Otherwise, create a new folder and drag it there.
  2. Search for a document I think I've previously saved
    • Remember that I've previously saved a document related to what I'm interested in.
    • Browse to My Documents, scan the folder for sub-folders that might contain the document.
    • If I find a proper match, enter that folder and look around for a document with a title that might match what I'm looking for.

In each of these use cases, there's a whole lot that can go wrong. I can wrongly classify a document, and place it in the wrong folder. The name of the document may not accurately describe it's content, in which case I have to re-name it. There's about a million other reasons why I will probably not be able to find this document at a later date, when I really need it.

Now, back to my realization... For months now, I've actually been using my e-mail program (Thunderbird) as a file-system. If someone wants me to have a document, I just tell them to e-mail it to me because I can easily use Thunderbird's built in search to find it again later. I can search on a whole bunch of contextual data that the document doesn't actually contain, such as who sent it to me, when it was sent, etc. And I can do this quickly. Searches in Thunderbird take only a few seconds at most, unlike the built-in Windows search, which licks donkey's balls. If you use Outlook, there's an add-on called Lookout that can do the same thing (plus a bit more). In my mind, it's a pretty sad state of affairs.

There's quite a few concepts out there that would help me out if they only worked now, and on the Windows filesystem, including WinFS (not due for a long time, if ever), Virtual/Search folders in Evolution, Outlook, and Thunderbird, and Smart Playlists in iTunes and WMP. I basically want to be able to have Virtual folders on my hard-drive, that represent queries on the documents that it contains. For example, I want to have folders containing all recent work-related documents, that is automatically updated whenever I save a new document, wherever it may actually live on my disk

This isn't exactly a new concept or request, since it exists almost everywhere except where it's most useful. The lads at Novell have been working on an app called Beagle for a while now, that does exactly what I'm asking, but on linux. They're using DotLucene to index documents, which is an open-sourced search tool written in C# based on the Java project called Lucene. I just wish there was something like it to try out on Windows. If there is, let me know about it.

Page Controller Pattern in ASP.NET

NPlanet Re-Visited