There’s something that we developers don’t seem to get about the users, and it’s that the file system is a quite complex beast to use. It provides order, yes, but at the expense of users getting lost on where their files are. And it gets worst, as there’s no easy way to solve this. In Windows, there’s only one key that will move your files to a well known location in a single key press: the Delete key. You probably know how it works: select a few files, hit Delete, and go find the selected files in the Recycle Bin.

My mother, on noticing this, started using the Recycle Bin as the place to store her information. She will find a file after minutes or hours of looking around, hit Delete and automatically know where the file will be next time she needs it. Also, the Recycle Bin is easily accessible from the desktop. That is, until one of my brothers gets a hold of her computer, notices that the Recycle Bin hasn’t been emptied in a long time, and wipe it out. There’s no coming back from that one…

Windows tried to fix this by introducing My Documents, and it failed. Most users will simply store everything in the desktop, and the reason for that is that it’s easy. My Documents sounds childish, and My Pictures, My Videos, etc really shouldn’t be contained in it. I mean, My Pictures are not a part of My Documents. My Documents are mostly Word and PDF files. My Pictures are images from friends and family. There’s no correlation between both kinds of files. Vista does a much better job of this, with the new Document structure. This structure actually makes sense and it’s easy to access from Windows Explorer at any time. It’s ordered, and it works.

That’s why I thought of my first shell extension, and I coded it over the weekend. With this extension, pressing F12 will redirect the selected documents to where they make sense: audio files go to Music, videos go to Videos, pictures go to Pictures, the rest go to Documents. This way I cover the glitch: I have a single key press separating my disorder from order. Plus, it’s not as dangerous as storing everything in the Recycle Bin.

I coded it as a Vista-specific dll, as the directory structure from Windows XP (and earlier) doesn’t make much sense to me, and I’m going to publish source and binaries as soon as I find a good place for them (probably CodeProject). It was a great learning experience (I’m not really used to native code), and I hope people will like it when I post it.

Update: Uploaded here if it survives moderation.