The whole idea of putting the metadata in the file, let alone using different metadata format for every type is evil. Ideally there should have been one standard for all files - always pass 2 separate streams: one for pure data (e.g. the audio waveform in case of an MP3 file) and one for the metadata in form of a key/value dictionary.
MP3 tags specifically are a particularly weird thing. Music can rarely be attributed to one specific genre precisely, band and song names are routinely spelled different ways, same songs composed by one artist are often performed by another (or worse: same artist, same performer, but audibly different way another day) and everything is almost always messed up.
This is a great opportunity that humanity has lost. Imagine all the stuff that we could have done with some kind of universal metadata format, understood both by applications and OSes:
- You could have indexed all files on your computer or phone, searched for weird stuff like: "Voice recordings I had in the park (GPS coordinates + radius) last year."
- No odd "MIME auto-detect / file detection algorithms".
- No odd "encoding detection" algorithms.
- No Byte order mark (BOM).
- No odd "http-equiv" for storing encoding and file type.
We might have even gone as far as to implement some kind of "metadata firewall" in Internet browsers, to make sure you don't reveal more about your privacy then you choose.
MP3 tags specifically are a particularly weird thing. Music can rarely be attributed to one specific genre precisely, band and song names are routinely spelled different ways, same songs composed by one artist are often performed by another (or worse: same artist, same performer, but audibly different way another day) and everything is almost always messed up.