Google’s Data Liberation Front

I can only see metadata, XMP specifically, becoming more important if 
this new “Cloud Rule” begins to take hold with customers.

Google’s Data Liberation Front springs from customer 
altruism but it also builds pressure in the industry to provide data 
portability with cloud based services.  For the customer, it removes 
the ‘icky’ from the stickyness of web based services, for the service 
providers it removes an excuse for not keeping their services 
competitive.

Yet to be seen if this will put pressure on services like Facebook and 
Picassa to allow them to export them images with socially added tags 
embedded in the images.

Last I checked none of the description, keywords or ratings I added 
online at Photoshop.com were preserved in the photo I downloaded.

CS4 Metadata File Info MRU Tweaks

The File Info dialog is used to manage metadata across most Adobe applications.

One feature of the dialog is the MRU (most recently used) auto complete feature that keeps track of the last 20 values that you have entered in the property. This is useful if you have a small set of common values that you use over and over.

But what if you want to store more values? Or clear them? Or even fix the values that are selectable?

Here is how you accomplish this – first find the file “FileInfoMRU.xml” on your machine.

Mac:
/Users/<user>/Library/Preferences/Adobe/XMP/File Info/2.0/work/FileInfoMRU.xml

PC:
C:\Documents and Settings\<user>\Local Settings\Application Data\Adobe\XMP\File Info\2.0\work\FileInfoMRU.xml

Open it up in a text editor. And you should see something similar to the following:

<xfi:fileinfo xmlns:xfi=”http://ns.adobe.com/xmp/fileinfo/”>
<xfi:mruLists>
<xfi:mruList key=”dc:creator” maxEntries=”20″>
<item>John Smith</item>
<item>John Adams</item>
</xfi:mruList>
<xfi:mruList key=”dc:title” maxEntries=”20″>
<item>one</item>
<item>two</item>
<item>three</item>
<item>four</item>
</xfi:mruList>
</xfi:mruLists>
</xfi:fileinfo>

Each key defines the namespace and property – for example “dc:creator” – “dc” designates the Dublin Core namespace, “creator” is the property name. This property is shown by the Description panel as “Author”, it is also used by the IPTC panel as “Creator”.

We can see that dc:creator has 2 MRU items:

<xfi:mruList key=”dc:creator” maxEntries=”20″>
<item>John Smith</item>
<item>John Adams</item>
</xfi:mruList>

and dc:title has 4 MRU items:

<xfi:mruList key=”dc:title” maxEntries=”20″>
<item>one</item>
<item>two</item>
<item>three</item>
<item>four</item>
</xfi:mruList>

The maxEntries property defines the maximum number of MRU entries that are stored per specific property. That can be changed to support more or less items – a setting of zero disables the MRU.

There is an undocumented feature to ensure that the list remains static by adding ‘closedList=”true”‘. This locks down the list so that no new values are added or removed. Below is an example we can create:

<xfi:mruList key=”dc:title” maxEntries=”100″ closedList=”true”>
<item>paper</item>
<item>scissors</item>
<item>rock</item>
</xfi:mruList>

In the above example we’ve limited the choices to 3. Effectively this is a simple example of a controlled vocabulary. Of course, this type of CV functionality can also be accomplished with a Flex custom panel.

Technorati Tags: , , , , ,

Speech to text gone wrong?

Well, not exactly. But if you are a metahead thinking about speech to text in XMP and the potential for that metadata to connect to other information, this video provides a lighter side view of what could be. [via]

Joe.png

XMP Library for ActionScript on Labs

I’m excited to announce that we have just released the first preview of the XMP Library for ActionScript on Adobe Labs.

The code is based on the XMPCore library that is used to process and manage XMP data. The AS library provides the functionality to read the metadata in SWF, FLV and F4V (Flash Player 10 only) files.

This starts to get really exciting when we take advantage of the speech to text capabilities of the Production Premium CS4. The CS4 apps capture a lot of metadata during the production process and make it available in the final output of the FLV or F4V file. This means that these “intelligent” video files contain rich information that can now be mined/liberated/accessed in AIR and Flex applications with the XMP AS libraries.

A great example of this is a demo app we created internally called the karaoke app. It is a simple AIR application that reads the speech to text metadata markers stored in XMP in the video file and displays it automatically in synch with the playback of the video. Here is a screen shot:

You can also see that it shows rating, keywords and copyright information and a raw dump of all the XMP.

Being able to read metadata information from a video while it is playing and process it or link it to other information has some very cool applications.

Simply being able to search the speech text makes video navigation a lot more manageable – this can be done in Premiere, now it can be done in a simple AIR application.

If GPS data was captured, it could be pass on to a map widget that could dynamically show where the video was taken – pretty cool for travel videos.

Actor metadata could be linked to fan websites, bios or social networks that could be easily retrieved in context of the video or in another browser.

Tagging videos could eventually push the metadata back to source or a hosted service to highlight where the most popular sections of the video were. You could probably create a simple app to do pop-up video ala MTV.

Fundamentally we need to think of metadata as another communication channel that can be leveraged to enable more engaging experiences. Making it accessible to the AIR platform enables the communication channel to be accessible and connected to other web resources. In turn this makes intelligent media more social and therefore more valuable to the creator, consumers and advertisers.

What would you want to do with this functionality?

Technorati Tags: XMP, , , , , , ,

Metadata?

Street art that puts the Photoshop palette on advertising – would one consider this revealing metadata on the story behind the ad ?  Regardless, a very creative hack.

Products supporting XMP

Happy New Year!  Looks like more and more products and services are supporting XMP.  Below is a short list that I have seen in the last few weeks.  Let me know if your product is supporting XMP. 

Memory Miner
“MemoryMiner is the award-winning Digital Storytelling application for Mac and Windows
used to discover the threads connecting peoples’ lives across time and
place. It lets you zero in on the stories depicted in your photos by
linking them to each other based on people, places and time. Using
simple drag and drop actions, you specify who is in the picture, where
the picture was taken and when.”

Zevrix BatchOutput Server
“BatchOutput Server can output a specific page range and compose the variable output file name based on the InDesign document XMP metadata. This powerful feature is enabled through XMP Variables, where you define which XMP tags to use for variable values.” Macnn review.

HoudahGeo
“HoudahGeo is a photo geocoding & geotagging tool. It enables you to assign pictures to the locations where they
were taken.”


“HoudahGeo may write GPS coordinates and other metadata to EXIF/XMP/IPTC tags of many image formats (JPEG, RAW, DNG, CR2, …). The visible image itself is not altered in the process. These tags may be read by numerous software
products and web services. E.g. iPhoto, Aperture, Lightroom, Panoramio, Flickr, …”

Kalimages PRO
“A professional tool for digital image management to capture metadata
from photos or other digitalized contents loading the extracted
information into a relational database for sql specialized functions
and full text image search. Kalimages PRO application has IPTC/IIM,
IPTC Core and XMP support including support for any xmp customized data
you may have.”

Customizing Metadata UI in CS4

The File Info UI in CS4 can be customized in 2 basic ways:

1. Creating a Flex project and programing a new UI
2. Using the “Generic Panel” and modifying an XML file

The FileInfo SDK provides sample code and guidance for both approaches.  I will focus on how to tweak the Generic Panel as a simple example of how to transition from the pre-CS4 custom panels to the new UI.

Step 1: Download the SDK and unpackage the contents
In the SDK in the “tools” directory you will find a folder called “Generic”.

Step 2: Copy the the “Generic” folder
Copy the Generic folder and sub folders to the following locations (requires Admin access):

IN WINDOWS XP: C:\Program Files\Common Files\Adobe\XMP\Custom File Info Panels\2.0\panels\<PANEL_ROOT>

IN WINDOWS VISTA: C:\Program Files (x86)\Common Files\Adobe\XMP\Custom File Info Panels\2.0\panels\<PANEL_ROOT>

IN MAC OS: /Library/Application Support/Adobe/XMP/Custom File Info Panels/2.0/panels/<PANEL_ROOT>

Launch Bridge and check. If you don’t see content in the panel then you may need to modify you Flash settings to add the location as a trusted location – see page 49 in the File Info Programmer’s Guide in the SDK.

Step 3: Modify the manifest.xml file
This file is in the Generic folder and controls the name of the panel and the tooltip description. The label value appears in the tab for this panel, and the description is the tool tip.  The name value is a unique identifying name for the panel. It must not contain spaces. More info on page 36 of the Guide.

Step 4: Modify the properties.xml file
This file defines the custom properties, how they are displayed and stored in the XMP.

The structure of the XML file is different from the old File Info definition file. Most of the layout and UI definitions are NOT in the XML file because they are defined in the SWF.  So for example, single text fields are defined as 1 line entries, date fields use the built in date picker, etc.

The structure is also organized linearly – meaning that properties defined first will be displayed first.

The definition of properties requires the definition of the namespace and then listing the property within that definition – in an XML hierarchical fashion.

Here is a snippet to give you a flavor…

<xmp_schema prefix=”my” namespace=”http://ns.adobe.com/MyNamespace/”>

<!– simple properties –>

<xmp_property name=”mytext” category=”external”
label=”$$$/Custom/Property/TextInputLabel=Text Field:” type=”text” />

</xmp_schema>

Since the property is defined within the XML structure of the namespace, it belongs within that namespace.

  • mytext” is the property name, within the namespace “http://ns.adobe.com/MyNamespace/”
  • external” category means that it can be modified
  • Text Field:” is the UI label that will be displayed beside the input box
  • text” is the type of property – the SWF will display this type as a single line input field

Step 5: Save file and relaunch the File Info dialog
Check out your new custom panel and test if it works as expected.  The Guide has many more examples for other property types such as date, time, arrays – and UI elements such as drop downs, check boxes, etc.

One advantage of moving to an XML based file is that you can use one of many XML editors that are available.  Most will check your syntax and let you know if you are missing a bracket – the File Info definition language didn’t have any special tools to assist in creating new panels.

The Programmer’s Guide has a lot of great info on how to tweak the files. Let us know how successful you were.

Technorati Tags: , , , ,

Import and Export options for Metadata

You may have noticed that the metadata File Info dialog in CS4 applications has changed from CS3.  This is a pretty significant update since the dialog is now Flex based.  We switched to Flex because it offered the UI flexibility and connectivity of flash and support of developers tools such as Flex Builder.  I will go into details of the customizing the UI in a future post.

We also updated the templating capabilities in the dialog to an import and export workflow with guidance.  Below is a screen shot of how to access the template features:

Tip: Create templates from blank files

It is best practice to start with a new blank file and add metadata values to create a template.  This ensure that you are not saving any hidden metadata that may be lurking in the file.  Another option is to use Bridge to create and edit metadata templates.

Export
Exporting a template will save all the XMP data into location that you can choose.  The default is the templates folder where the dialog looks to automatically build its list of templates.

Import
When you select a metadata template or choose Import, it will prompt you to choose from 3 options shown below:

Option 1
This will clear ALL (and I mean ALL) metadata from the file – including any Camera Raw settings – and then replace that information with what is in the template.  If your template has Camera Raw setting in it, it will be applied to the image.  If you don’t want to replace the Camera Raw settings, then you should use the Replace functionality in Bridge – Bridge maintains the CR settings -OR- create a blank template (with no CR settings) and use Option 2.

Tip: This option is very powerful – use it if you want to be sure that all the previous metadata in the file needs to be deleted and replaced – including the Camera Raw settings.

Option 2
This will replace the properties that are in the template. For example, the destination file only has 10 properties, and the template has 2 properites, those 2 properties in the destination file will be updated and the remaining 8 left intact. Identical to option 1 but the destination metadata information is not cleared.  If your template has CR settings, it will be added to the destination file. Again, it is best practice to create templates from a blank file.

Tip: This option will update the metadata in the file – but be sure you know what is in the template.  With a clean template this is good option to stamp metadata on to multiple files.

Option 3
This will append properties from the template but only for those property types that support multiple values.  The most common of these are keywords, and author.  For all other properties, if the destination file already has a value in it, then it will NOT be replaced.  If the property is empty, then the new value will be added.  If the property can hold multiple values, then the old values will remain and the new template values will be appended.

Tip: This option is really best used if you need to update the keywords with a new entry or add copyright status to files where it is not set. Just be sure to use a template that only has those values in it.

Inherent Metadata
Metadata such as Exif and file properties such as size and dimensions will remain in the file and cannot be modified by the template actions.  This is considered inherent metadata and that information is left intact.

Bridge’s Append and Replace
The Append option in Bridge works in the same way as option 2 and the Replace option works the same as option 3, with the exception for both actions that Camera Raw information will not be part of the templating function. 

In general, if you are a photographer Bridge has a great set of features for creating templates and appending and replace metadata information with messing with your Camera Raw settings.  If you need something a more powerful then the File Info dialog can provide you with some options.

Technorati Tags: , , ,