I wanted to draw everyone's attention to today’s announcement that the
Metadata Working Group (Adobe, Apple, Canon, Microsoft, Nokia & Sony) have released their
first specification (1.7MB PDF) for metadata handling. The document is written for software developers, but is an interesting skim for everybody because it does discuss some of the pervasive problems with image metadata and will give you some perspective on how metadata is handled differently across different file formats.
This first specification focuses on how software should
preserve and
modify metadata when it loads and saves files. One of the pervasive problems this specification is intended to address is the
loss of metadata because one software tool neglects to copy it from the source file to the output file, or otherwise corrupts it while the user is processing the file.
What the spec does
not do is attempt to standardize any of the data itself, although pages 16-18 contains a general catalogue of the gruesome mess that many of the most common metadata fields have become (e.g., keywords), so they're certainly acknowledging there are more problems to solve.
As far as it goes, there's nothing in this spec that jumped out at me as particularly self-serving or lowest-common-denominator. My biggest concern is that even if the biggest players are serious about adopting this spec and conforming their own products to it, smaller players, third party libraries and open source libraries might not reach parity for years, if ever, simply because of how software development works (or doesn’t). The good news is that the major OS developers (Microsoft, Apple) are increasingly providing sophisticated image file i/o APIs that other software developers can use. If Microsoft and Apple are diligent about keeping these APIs up-to-date
and in following the specs of their own working group, then there will be less need for third party solutions and new standards like these will have a prayer of success. (Of course, legacy software will continue to butcher metadata until abandoned.)