A new pet project
When I was down in Durban in August 2004, I sat in the study with hills-and-city-and-sea view that my in-laws kindly allow me to annex whenever I'm visiting, and started thinking about a little system to manage my personal 'library' of electronic documentation. It's been on the mental back-burner for a year and a half, but every time I download a new ebook from TSS or wherever and wonder where to store the damned thing, or whether to rename the file so that I can find it more easily in future, I devote a few more brain cycles to the problem.
Rather fittingly, during my *koff* study breaks in that same study over the past 2 weeks, I started putting together the basic framework for an application which does exactly that. For want of a better name, it's called 'metalib' because it's about storing and accessing meta-information about my document library. Ideally, I wanted to build it around a File Explorer-style GUI, but after mucking about with SWT and JFace for a bit, I decided that if I wanted instant gratification, then a web app would be a better start. What I did, though, was keep the 'engine' part strictly separate from the web app itself, so that the GUI can quite easily be swapped out with a client app, when I'm ready for it.
What the app does, basically, is portray a virtual directory structure which can incorporate an actual on-disk structure, but is mainly built from virtual paths which are specified, along with a lot of additional information like publisher, author, edition, notes and so on, in 'meta' files which are associated with the actual files. Most notable is the idea that a file can be associated with multiple directories, so that directories more sensibly reflect categories. This allows for documents to be stored in multiple categories, without having to resort to file system symlinks and all the hassles they imply. The idea is that over time, the virtual directory structure makes it easier to organise, locate and identify documents, and makes it easier to see more semantic information about a document than just what the file name and directory location imply. There's more functionality that would be useful, some of which I touched on in Aug 2004.
For now though, I've got a web app which acts like a butt-ugly but useful real/virtual file system browser that displays lots more than simple file names. It still needs a lot more work before it's ready for daylight. I'm not sure if it'll ever be useful for anyone else, but it's already posed some interesting design problems for me, and I'll be using my blog to keep track of the progress and design as I carry on working with it.
{2006.01.02 13:15}