wingood wrote:I don't get why tags can't be added to any file... mp3's have metadata, right? and text files, and all other files... is it the same principle? And what dictates which types of tags (fields) are available to each filetype?
Look at it broadly... (this is the "long answer")...
No one organisation is responsible for the standardisation of all filetypes and their underlying (binary) formats. Just because a filetype is considered "common" by a user does not mean that ("under the bonnet") it will resemble another filetype structure, as they are created by different organisations with different (often proprietary) purposes. And since
metadata properties are dependant-upon and defined-by the filetype itself (not the operating system!), it's all part of the same problem.
For example, the MP3 "standard" is a format which was created by the MPEG organisation (Moving Picture Experts Group). While the JPG "standard" was created by the Joint Photographic Experts Group (JPEG). Naturally, there is no reason these two groups should ever talk to each other, as they are in completely different fields, and these standards were not created (originally) in the interests of users, but more in the
transmission formats used for digital representation. But take the case of PNG files... surely anyone with a mind would say "obviously something called the Joint Photographic Experts Group would be involved in that too, no?" Well, no, they weren't. PNG was originally created by an ad hoc group of enthusiasts and tech-types to subvert the GIF format which was the proprietorial son of the Unisys Corporation, and they certainly couldn't care less about talking to JPG, MP3, PNG or any other free-lance group. And once corporations began to get into the act, this opened the door for Adobe to randomly "standardise" (create) the PDF, without regard for anyone else.
You begin to get the idea.
The long and short of it is that all filetypes are historically different in their actual qualitative/quantitative forms even within the confines of a shared filesystem (such as FAT, NTFS, and ReFS). Now, bear in mind that what users call "files" were around long before Microsoft ever existed (so before DOS, etc), and thus they were never actually standardised by their competing corporate overlords - IBM, DEC, etc., either.
Thus, when you say "metadata" that is not a 'single something' that is controlled or even created by Windows in a type-agnostic fashion in any way whatsoever. Ancillary-("meta") data even
within accepted formats is also open to interpretation. For example, the PNG metadata "standard" defines itself in such a way that permits further subdivision into "public" (i.e. adhering to the standard), and "private" (which can be in any format at all, completely unstandardised). Many programmes designed to read the PNG format will just refer to internally unknown data formats as "corrupted", but that doesn't mean the data is actually corrupted, it just means the programme in question doesn't recognise the private format.
So... to answer your question, the "principle" of metadata within files is nothing more than an abstract notion, and it (and the form it may take) is not in any way controlled or standardised across types... even types which "appear" to be similar (such as pictures) to the end-user.
That, in a nutshell, is why tags cannot be generically added to just any file. Even Alternate Data Streams (which may be used, in part, as a generic poor-man's substitute) aren't 100% reliable since they are not easily portable or shared.
As to why MS removed much functionality when transitioning to Vista... well, that's what they do (and continue to do to this day). In the case of the shell, they will parade around terms like "security" and "homogenisation", but what they really did was wash their hands of the whole thing, and declare their own independence from responsibility. Sure, they maintain the interface structures necessary to read object data (COM, etc), but they don't want anyone (such as yourself) confusing them as being "in charge" of the overall paradigm, and thus expecting them to be able to control it, because they can't.
So - while MS will happily
say that they support properties and tags, the underlying reality of actual implementation is very different, and they won't officially support anything other than office-types, realistically speaking.
Welcome to the machine.