The more I think about what I want to do on a day to day basis
with computers the more I want to add metadata, search on metadata,
share on metadata, and share metadata about the files that I use.
If I take some photos I want to be able to title them, add things
like location and people or things that are in them. If I create a
new file I want to add metadata to it such as who the letter was to
etc. I want to be able to flag things as public so that they are
shared on the website. I want to be able to search and find things
quickly rather than hunting through loads of directories.
I have a photo gallery that can do this, gthumb, but it only stores photos and images and the metadata is stored local to me and I assume lost if I move the files about let alone send them to somebody.
The Apple Mac way is the correct way if you ask me. Each file on a Mac has an associated file that has all the metadata stored with it. This way when you move the file it moves the meta data with it . When you send the file the metadata goes with it. This is then intergrated into all the applications so that they can take advantage of it for sorting and manpulating based on metadata. To get this into unix we need to do it at the filesystem level I think. It would demand that the system has to be running on that particular FS or have that extension running but I don’t think that is so bad. Some filesystems are already supporting metadata and as time goes on they all will. This will mean that to start with this meta data is only supported, probably on Linux or FreeBSD but if this technology does work then it will add great power to the whole system.
It would not be without problems, things like archives and backups would not support this metadata to startwith so there could be problems there. Sending a file to Windows or Mac would loose the metadata.
The other option that I have been thinking about is more like the WinFS solution where you store your files in a seperate store that has a database to handle the metadata and the only intercations that you can do with the files are done throught the application level utils. This way by saving a file in a supported application you save it directly into the database. Applications that do not support the database backend could then checkout a file alter it and check it back in using tools for the database. ( This could be done using a unique filename). You could then intergrate things like change control and history of edits for very little cost.
My basic aim is to do away with the idea of filemanages and files an move more to objects with metadata. I want to be able to say “All pictures with Sarah in the snow” and get a list back then if I can’t see the one I want easily narrow it down with a year or place. Then open it, change the brightness a bit, rotate it, print it, save it back and have a history of what has been done. Sharing of files could be done in a number of ways. Checking out the file and sending it to somebody to edit and upload a new version. Grabbing a copy and sending it with the metadata in a seperate file. Sharing it on the Internet or LAN for them to share or edit.
If only I could write software I would start it right away.