Yes, that's correct, it could be implemented in for example one of the current hard drive indexing tools (Locate, Google Desktop, etc.). It's really a matter of determining the best approach to this, considering all the existing meta data solutions (id3 tags, IPTC, EXIF, etc.), and then implementing it. The trade-offs between a centralized database accessed by all apps and separate files or actual embedded data need to be weighed. I would tend to favor a database approach with some export functionality. That way you don't need to always keep pairs of files together (file and meta data) and you don't need to get everyone to change the underlying format to include the meta data format, you just need to get people to support your DB. That's still a hard problem but if you make it indespensible and universal it will be supported. I think the way to do that is first to make it totally free, if not open source, then to have capability to import and index all existing meta data and translate back and forth between the (more expansive) DB-based meta data and whatever embedded meta data a given file/format might allow (mp3 with id3, etc.). This way people can leverage their existing tagging and meta data. You would also want to have importers, if not full exchange systems, for all the popular apps out there like Picasa, iPhoto, etc. Basically if you make it virtually effortless for people to incorporate it into their existing systems and at the same time offer significantly more functionality then it will have a high adoption rate.
I think you would need the following to really make it work and make people love it:
Excellent import/export support
A good plugin/hook system so that other apps can work with it, both reading and writing meta data and other info
A really fast, easy way to edit any meta data, transfer meta data around seamlessly, mass edit, etc.
A built-in "explorer" replacement that incorporated all the meta data, search functions, etc. - better yet an actual explorer replacement/addon that allowed this seamlessly in a familiar UI
A really fast database engine and low resource use
I think it's quite possible to do this with an application working above the file system, using its own DB. I'm frankly surprised no one has done it yet. But I imagine there's a lot of overhead, which is why the file system approach may be needed. For now a proof of concept based around an existing open source HD indexing system would do just fine.
I only wish I was a decent programmer...
- Oshyan