Managing Photo Libraries – Part 4

Time to return to another hobby horse of mine – using computers to manage libraries of digital photos. I’ve been here before – starting back in February 2005 when I berated Microsoft for insisting on having a proprietary scheme of managing image metadata instead of adopting the industry standard of IPTC/XMP.

Well, I muttered about this here and there, and I see I was not the only one to mention to Microsoft that their upcoming Vista operating system really should support IPTC metadata.

Today, I installed the latest Beta version of Microsoft’s Vista (build 5270) on one of my PCs to take a look at it. And, of course, it does NOT support IPTC metadata, but carries on using its own proprietary metadata.  What is it about Microsoft? Do they never bloody listen?

About Geoff Coupe

I'm a British citizen, although I have lived and worked in the Netherlands since 1983. I came here on a three year assignment, but fell in love with the country, and one Dutchman in particular, and so have stayed here ever since. On the 13th December 2006 I also became a Dutch citizen.
This entry was posted in Photography. Bookmark the permalink.

27 Responses to Managing Photo Libraries – Part 4

  1. Sean says:

    Does Vista store the data in EXIF format instead of IPTC/XMP or in some other format? AFAIK IPTC/XMP is only supported in JPEG and TIFF images, so if you add metadata to any other formats, e.g. BMP, PNG etc. Vista would more than likely have to create a secondary NTFS stream to store the metadata with the image.

  2. Geoff says:

    Sean, EXIF and IPTC/XMP metadata are for different things. EXIF is for metadata about the technical details of the digital image – shutter speed, focal length, ISO rating, etc. IPTC/XMP is about the content of the image – a title/description, who took the photo, location, keywords/tags, etc. So if Vista is going to use EXIF to store content data, this would be a bad move, in my opinion – and it would be a proprietary move by Microsoft. You’re right when you say that IPTC/XMP is native to JPEG and TIFF (it is for digital images, after all). While it can be added to other image formats – this would be via a vendor-specific mechanism. Adobe, for instance, uses ‘sidecar’ files to add XMP data to RAW format files.

  3. Sean says:

    Geoff, EXIF is mostly used for the technical details like shutter speed etc. However EXIF as a standard does support additional fields that don’t fall into the category of camera technical details, for example here is a brief set of example EXIF fields that aren’t related to the camera’s technical information for the image.PropertyTagArtist – specifies the name of the person who created the imagePropertyTagCopyright – string that contains copyright informationPropertyTagExifUserComment – used by EXIF users to write keywords or comments about the image PropertyTagImageDescription – string that specifies the title of the imagePropertyTagGpsXXX – location informationNow I’m not saying that EXIF is better than IPTC/XMP for the storage of this sort of metadata, just that EXIF does have support for most of this type of metadata. So if MS, and I’m not sure that they are using EXIF for metadata storage, are using EXIF then the image metadata storage in Vista can’t be called proprietary.In terms of a cool application that makes use of the GPS EXIF tags you may want to take a look at the Media Center add-in I created.http://spaces.msn.com/members/seanmcleod/Blog/cns!1pC_K0hKOTPOd-hSoTxSOeeQ!122.entryCheers

  4. Geoff says:

    Sean, thanks for pointing out that EXIF does have some support for content data. You’re right, but having looked at the 2002 EXIF spec, it’s seems pretty limited in my opinion, and does not have the flexibility of the legacy IPTC spec, let alone the XMP Core spec. The one area where it does score is in having a specific field for GPS info – which is something that the IPTC don’t appear to have catered for as yet in XMP Core (although being XML-based, it’s clearly going to be easy to add)

  5. Sean says:

    The XMP Core may not support GPS information, but I’m pretty sure the larger XMP standard does since when I was looking into location metadata options while developing my Media Center add-in I noticed Adobe Photoshop listing GPS/location information in it’s XMP editor.Oh, something else I just remembered in terms of metadata storage. One of the advantages of using an alternative NTFS stream for storing the metadata is that photo editing applications that aren’t aware of IPTC/XMP data in the image will trash/destory the IPTC/XMP data when they save an image file that has been edited. However a photo editing application that isn’t aware of the metadata won’t be able to destory the metadata stored in an alternative stream.So a user in Vista may rate a photo, add keywords etc. using the new Vista shell and it’s easy metadata editing facilities and then use some photo editing application to make some image edits and after they save their edits all their metadata tagging is lost!The downside to using an alternative NTFS stream is that they’re lost when you copy the files to non NTFS file systems like FAT, to a CD etc.

  6. Geoff says:

    Sean, I agree with your observation that a photo editor that isn’t aware of ITPC/XMP is likely to trash the metadata – that’s exactly what Microsoft Digital Image Suite editor does – as I found to my cost! And while you can sidestep this with an alternative NTFS stream, I personally don’t like this approach, since you are locked into the platform. I would much rather the metadata travels with the image file at all times. The price is then to make sure that the editor that one uses is IPTC/XMP aware – and I think that’s a price worth paying.Oh, I’ve just had an email from someone giving some more background on the GPS metadata… To quote: "the IPTC4XMP working group did discuss the inclusion of GPS data into IPTC Core. There were several factors involved in the decision to postpone, from my recollection. Keep in mind, first of all, that GPS info is "technical" metadata rather than descriptive metadata, and IPTC metadata consists of, by and large, descriptive metadata.The primary discussion revolved around whether or not anyone would enter in this kind of data by hand. We reasoned that since GPS info already has a place to exist (in the EXIF data), and since digital cameras enabled with GPS already write this data to the EXIF data space that it would be a duplication of effort; and at least for now it was unlikely that people would take the time to manually re-enter this info. Another issue is that the GPS data only represents where the camera was located at the time of exposure, not necessarily the location of the subject."Makes sense to me…

  7. Sean says:

    Yep, but the other cost is support calls MS have to take when people create metadata via the Vista shell and then complain when they use photo editing application X which doesn’t preserve IPTC/XMP data during editing.I guess my main point is that it isn’t necessarily as easy as saying, "photo metadata *must* be stored in IPTC/XMP format" when you look at all the issues and the scenarios that are being supported, e.g. encouraging people to add metadata via the Vista shell, i.e. not only hard-core photo enthusiasts who know how to pick a photo editing tool that understands IPTC/XMP. Supporting the same metadata on all image formats, i.e. others that don’t natively support IPTC/XMP or EXIF, e.g. BMP, PNG etc.By the way, similiar issues apply to EXIF, although I think in general a lot more photo editing apps are aware of EXIF data and won’t trash it compared to IPTC/XMP.Maybe the solution is for the image metadata property handler to always write to an alternate NTFS stream and to IPTC/XMP if the image format supports it. So a user editing the metadata in the shell or some other program that uses the Vista APIs for editing/creating metadata results in the metadata ending up in both.Then have the IFilter for images when it is invoked by the indexing service whenever the file is modified also ensure that that the metadata in the alternate NTFS stream and the IPTC/XMP stream is in sync. So if a user deletes the IPTC/XMP stream while editing the image in a photo editing application that doesn’t understand IPTC/XMP then the IFilter will recreate the IPTC/XMP stream based on the contents of the alternate NTFS stream.In addition keeping the two streams in sync means that if the image is copied onto a different file system then the IPTC/XMP stream will still be able to provide the metadata.

  8. Mike says:

    I’ve used very single version of Microsoft’s Digital Image Suite since its original days as Picture-It! Plus somewhere in the garage I still have a copy of some Microsoft photo editor program from about five years ago.My observation is that Microsoft hung their hat up and congratulated themselves on a job well done ten years ago as far as photo editing, importing and managing goes. In ten years there has been ONE patch to the Picture-It/Digital Image product line. That implies that either the product is perfect (It isn’t as I can reproduce bugs in the current version that have been there for TEN YEARS NOW) or the product team is either unskilled, unmotivated or has no realistic deliverables.I take the Zen approach to Microsoft’s expertise in photo imaging: Don’t expect anything and you will never be disappointed.I imagine in addition to the other issues that when Windows Katrina (the hurricane of PR hot air aka Vista) finally ships that once again the only drivers for digital cameras will be for those that shipped in 2006, and that legacy cameras will no longer be supported.

  9. Unknown says:

    I’m the PM for Imaging in the Windows Client Platform, so I’d like to respond to this. We absolutely aren’t trying to lock anybody into proprietary metadata formats. In fact, we don’t ship any proprietary metadata formats. On the contrary, we provide extensibility to make it possible for any third party to add a metadata handler for any format that doesn’t ship with the platform. In the current CTP builds, we support XMP and EXIF, but unfortunately, so far, we only support IPTC for TIFF files. There was a snag in offering IPTC support in JPEG because the IPTC block in a JPEG file has to be nested in an App13 block. We had some delays in determining how to implement the App13 metadata handler, but (many thanks to our friends at Adobe) we now have the information required to do that.We want very much to support IPTC in JPEG in Vista and WinFX, but we’re running out of time and I honestly don’t know if we’ll be able to get this done in time. If not, we definitely plan to ship this in the next version of the OS. Because this is the first version of our new extensible imaging platform, there’s an awful lot we’re trying to do and, unfortunately, time is limited. There are many features we’re passionate about that we have to put off until the next version. At this time, I don’t yet know whether this will be one of them. I hope this information is helpful. Please feel free to write me if you have any concerns.Peggi Goodwin

  10. Geoff says:

    Peggi, thanks very much for responding. Good to hear that IPTC support is planned for JPEG in Vista – but I hope you mean that it will arrive in the next version of Vista, not the next version of the OS after Vista.But I don’t think I quite understand by what you mean by "In the current CTP builds, we support XMP and EXIF, but unfortunately, so far, we only support IPTC for TIFF files". My interpretation of that would be to say that if I use the Windows Explorer to examine file properties of a JPEG, then I would see XMP and EXIF metadata displayed, and if I were to examine a TIFF file, then I would see IPTC (legacy IIM?) metadata displayed. This doesn’t seem to be the case. If I look at a JPEG file with Windows Explorer – I can see EXIF metadata, but not all XMP metadata (only ‘keywords’, apparently). And if I search on XMP metadata (after adding an XMP iFilter to the indexing engine), I can only seem to search in the ‘keywords’ metadata. Similarly, tagging a TIFF file with IPTC data does not seem to be reflected back in the properties displayed in Explorer or searchable in the index. I’m clearly missing something in what you mean by "support". I would be grateful for a pointer to a fuller explanation of what you mean, if that’s possible.Many thanks, Geoff

  11. Sean says:

    Well since they’re supposed to be pretty much code complete at the end of Dec 05 there is a good chance she is refering to the next OS release after Windows Vista ships.Just as you can get an IFilter component from a 3rd party today for indexing IPTC/XMP metadata you’ll be able to write a property handler for IPTC/XMP data for jpeg files which the Vista shell will then use for reading the metadata when it needs to display the metadata. And will use it to persist any changes the user makes to the metadata via the Vista shell. Other 3rd party applications will also be able to use the property handler via the Vista APIs if they want to read and/or update the metadata.So it would be useful for the Vista OS to ship with a default property handler and IFilter for IPTC/XMP metadata in jpeg and tiff files, but you’re not totally out of luck if they don’t since you or some other 3rd party can provide the same functionality as MS would’ve.Cheers

  12. Sean says:

    By the way, for some background info on the new property handlers API, some examples on their usage and support for ‘Open MetaData’ take a look at the following blog posting by one of the MS developers.http://blogs.gotdotnet.com/marcmill/archive/2005/11/02/488475.aspx

  13. Geoff says:

    Sean, thanks for the extra info. I like the way you say "you’ll be able to write a property handler…". I think you way overestimate my capabilities as a programmer – I haven’t done any real programming for the last 20 years, and now when I look at the SDK documentation I feel as though I’m in "a maze of twisty little passages, all alike". Cheers.

  14. Unknown says:

    I had an email exchange with Geoff offline, and realized that he was specifically concerned about the fact that IPTC and XMP metadata are not exposed in Windows Explorer. Alas, Windows Explorer is not the best way to view images in Vista, or to access image-specific metadata. The Vista Photo Gallery is specifically suited to that. You can access EXIF, XMP, and IPTC (in TIFF) metadata from the Photo Gallery. Unfortunately, the Photo Gallery isn’t as discoverable as it should be. (It’s under All Programs, but My Pictures still defaults to Window Explorer.)I’d like to clarify what we’re doing with metadata in Vista. Microsoft has not created a new metadata format for images. There’s a metadata property handler that understands several common image metadata formats, like XMP, EXIF, and IPTC, and can search for and rationalize metadata across these formats. The format used to add keywords to photos in the Vista Photo Gallery is XMP. I’d also like to address the concerns about preservation of metadata. The new Windows Imaging Component in Vista and WinFX actually supports preservation of unrecognized metadata. Applications that are built on the new platform can invoke the "Unknown Metadata Handler" for any metadata block they don’t recognize, and all the metadata in that block will be preserved as a BLOB (binary large object), enabling applications to write it back to the file stream intact, after editing metadata in blocks that they do recognize. This is actually the first system to support preservation of unrecognized metadata, and we think this is a big step forward for photo applications. I hope this helps to clarify some of the questions about what we’re doing in the Vista Photo Platform. We’re very much aware that Microsoft has not had a strong focus on imaging in the past. However, digital cameras drove a large percentage of upgrades to Windows XP, and the company has recognized that improving the digital photo experience is going to be a key factor for many people in the decision to upgrade to Vista and beyond (assuming that we can provide significant improvements in the photo experience in each release). We have a lot of new folks across the company working on various aspects of imaging now, and all of these people are very passionate about digital photography. So you can definitely expect to see more of a focus on this from Microsoft in the future.

  15. Geoff says:

    Peggi, I’m sorry, but you’re wrong. The Vista Photo Gallery DOES NOT give the end-user access to XMP and IPTC (in TIFF files) metadata. I’m beginning to feel like someone listening to ancient Greek philosophers arguing about the number of teeth a horse has. Why doesn’t anyone bother to go round to the stable and actually count them?I tagged a number of test images (both TIFF and JPEG) with XMP and IPTC metadata. The Vista Photo Gallery does not show any of this metadata. All it will show is the metadata that Microsoft uses in its Digital Image Suite products – and this ain’t XMP or IPTC.Worse, just like the Digital Image Suite editor, if I use the Vista Photo Gallery to “fix” (edit) an image, it promptly strips out any XMP and IPTC data that was originally in the image. This breaks my digital workflow – metadata must be preserved.And I am "not concerned specifically with Windows Explorer". I am interested in a consistent platform and set of tools that will give me a good user experience. Vista Photo Gallery does not give me access to EXIF metadata – whereas the Windows Explorer does. The Windows Explorer does, however, expose Microsoft’s image metadata as used in your Digital Image Suite software. So my overall impression is that the tools are neither consistent with each other, nor do they give me full access to what I consider to be the industry standards of image metadata: IPTC, XMP and EXIF. It would be good to see a "focus on [digital photography] from Microsoft in the future", but the performance thus far has not been encouraging. But thanks, Peggi, for continuing the conversation. I appreciate that.

  16. Sean says:

    Try the WICExplorer tool from the following blog entry to enumerate the various types of metadata in your test images that Vista should be picking up and writing to via the new Vista Imaging APIs.http://blogs.msdn.com/rwlodarc/archive/2005/09/21/472338.aspx

  17. Geoff says:

    Sean, thanks – I’ll give it a go and post back what I find. Jus watching the CES keynote at the moment… Cheers, Geoff.

  18. Geoff says:

    Erm, OK, Sean, I downloaded WICExplorer (the compiled version with the metadata dictionary) from the link that you gave. I extracted both files from the Zip file to F:/WICExplorer/. I attempted to run WICExplorer and got the delightful error message: "The procedure entry point WICCreatImagingFactory could not be located in the dynamic link library WindowsCodecs.dll". OK, what now? Thanks, Geoff

  19. Sean says:

    Yep, the joys of CTPs/betas. The binary you downloaded was compiled for the PDC CTP build in Sep 05 and things have changed between then and now the Dec 05 CTP. So your best bet is to download the source and recompile against the Dec CTP headers and libs.I have the Dec CTP with the matching Windows SDK and VS2005 installed, however it’s on a dual boot machine. I’ll try and recompile the source this weekend.

  20. Robert says:

    Indeed, the version of WICExplorer up on my blog is for the PDC release of WinFx and Vista. Some APIs have changed a bit. I’ll get a new one posted by Saturday. Apologies for the delay on this…

  21. Robert says:

    Indeed, the version of WICExplorer up on my blog is for the PDC release of WinFx and Vista. Some APIs have changed a bit. I’ll get a new one posted by Saturday. Apologies for the delay on this…(doh, previous post has the wrong link to my blog)

  22. Geoff says:

    OK, thanks guys, I’ll wait until the new version of WICExplorer is ready. Meantime, I’ve had further emails from Peggi and others in Microsoft about the issue. It’s clear from them that what is in the December CTP is not the final build, and that Microsoft hope to improve the user experience for the final release. Whether they’ll clear the bar that I’ve set, we’ll wait and see, but at least they appear to be trying hard.

  23. Unknown says:

    As always, we appreciate your feedback. Each new CTP build we release will have more features enabled, and I hope you’ll continue to download the CTP releases and give us feedback on them. I can’t promise that all of the user experience features around metadata will be enabled in the next CTP build, but they will come incrementally, so please bear with us. Our goal is to ultimately deliver the best platform for digital photography that has ever existed. We realize we have a long way to go, but we’re making huge strides in Vista. (And Vista is only the beginning!)

  24. Robert says:

    I’ve just posted the updated WICExplorer at http://blogs.msdn.com/rwlodarc/archive/2006/01/07/510478.aspx.

  25. Pingback: Managing Photo Libraries – Part 6 | Geoff Coupe's Blog

  26. Pingback: Managing Photo Libraries – Part 5 | Geoff Coupe's Blog

  27. Pingback: Windows Photo Gallery on Vista Beta 2 | Geoff Coupe's Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s