Friday, April 6, 2012

Little Document Manager: A Document Manager for the rest of us

Little Document Manager running on Microsoft Windows
I've been working on a fun little project for the last few weeks that I hope others will find useful. For those of us who create a lot of documents, finding one of them quickly can sometimes be a bit of a pain.  If you're a Windows user and you use Microsoft Office, you can sometimes perform a search within office documents to pinpoint the document you want, but if you use other file formats that might not be recognized by the operating system's searching software, it can become nearly impossible to find the right document in the sea of others.

For example,  I have a collection of over 35,000 documents, all created in either OpenOffice or LibreOffice and none searchable on Microsoft Windows using the built in search program.  The other day, I wanted to find a single document and nearly drove myself mad trying to remember file names or creation dates. Wouldn't it just be easier if I could just tag my documents and have a convenient way to find them, regardless of file type or operating system?

So I started looking at document management software options and, I have to admit, I don't particularly like any of them. Many of the popular ones are web based and I don't relish the idea of putting my documents on a non-local computer nor do I really want to go through the pain of setting up a local webserver just to run a single web app to help me track documents. Besides, I've always found the whole web app for a single user thing a bit of a waste anyway.  So I decided to create my own management system and, thus, "The Little Document Manager" was born.

Right now, the software (pictured above) is pretty simple. You have to manually tag documents after you create them and you have to update the documents location if you move it from its original place on the filesystem to a new one. But once a document is tagged, it's quick and easy to find by just typing words you remember. Those words could be a phrase within the document, a tag associated with it, the document title, or just about any other attribute you can think of. LDM will quickly pull up a list of documents meeting your search criteria and allow you to open them or share them with a few clicks.

LDM doesn't just work for office documents either. You can really tag any type of file from images to sounds and movies to web page entries. If you can enter data about it into the system, LDM can catalog it. I'm trying to make it as versatile and useful as possible while not completely recreating what's already out there (or, at least, improving on what I recreate).

LDM is completely written in C# using a SQLite backend.  That means it should be cross platform to any platform .NET programs run on which now includes Linux, BSD, Windows, and Mac. Compiling it in either Visual Studio or Mono is a snap and takes only a few seconds on almost any computer.

Overall, LDM was written for fun. I've avoided C# for a while now thinking of it as a "Microsoft Program" that could be dangerous to develop software for other platforms in. But, after seeing projects like Mono, I'm gaining confidence in the language and am wanting to work with it more. LDM is a step in that direction.

Of course, the source for LDM will be available on GitHub and it will be completely open source. More details to come when it's closer to being finished.

No comments: