W3C home > Mailing lists > Public > public-html@w3.org > April 2011

Re: Systematic access to media/plugin metadata

From: Danny Ayers <danny.ayers@gmail.com>
Date: Fri, 8 Apr 2011 14:58:09 +0200
Message-ID: <BANLkTim=HCpsfz6dBpXAx4_zY20nT7g=kQ@mail.gmail.com>
To: Silvia Pfeiffer <silviapfeiffer1@gmail.com>
Cc: Leonard Rosenthol <lrosenth@adobe.com>, "public-html@w3.org" <public-html@w3.org>
On 7 April 2011 09:42, Silvia Pfeiffer <silviapfeiffer1@gmail.com> wrote:

> Let's also not forget the work of the W3C Media Annotations Working Group.
> http://www.w3.org/2008/WebVideo/Annotations/

Personally I'm not convinced of the appropriateness of this work to
the HTML effort, for two reasons:

Primarily - it defines what you (should) get in too rich a fashion.
While complexity is certainly a consideration, my main gripe is that
the API effectively constrains what is (made) available. I can
probably best explain what I mean alongside an example, below.

Secondarily - I personally believe the way the ontology is used here
is wrong-minded. It's certainly useful to have a mapping between terms
common to the numerous metadata standards, but as presented here it
goes beyond being a "pivot ontology" and more into the realms of
"upper ontology". Web-based vocabularies allow the data producer and
consumer to use models that are appropriate for their application
requirements e.g. if you want to refer to a film then in some
circumstances just the title will be adequate, at other times you
might want access to, say, the bitrate of a particular encoding. The
promotion of a single ontology to cover all (or at least most) cases
moves the emphasis back from the open, distributed world back into a
legacy centralized picture.

Ok, an example. From [1] :

[[
language = video.getMediaProperty(["language"]);

if(noErrorStatus(language[0].status) == true) {
    ...
}
	
/** Resulting in:
 * [ { "Language" : {
 *         "propertyName" : "language",
 *         "languageLabel" : "en-us",		
 *         "statusCode" : 200
 *         }
 * } ]
 */
]]

How to get the value is largely a matter of taste:

   language = video.getMediaProperty(["language"]);

is ok as it stands, though I quite like :

   language = video.meta("language");

(or even
   language = video.language
as long as the next point is taken into consideration)

Where my issues with it start is with the error check. I don't think
that's necessary at this point. Either a property-value pair is
available or it isn't, so it should be considered reasonable to ask
for *anything* and either a value will be returned or null.

The results? Most of what is returned above is redundant. Why not just:

   ["en-us"]

(returning an array seems the best bet as properties can have multiple values)

Note this doesn't preclude the use of the Media Annotations approach
as well - there's only a fairly simple transformation needed in either
direction.

>> (Even though my personal opinion is that we need only name-value pairs
>> for metadata.)

Right. But also name-value pairs can support richer structures when
the value is a pointer. In this particular case the obvious choice for
a pointer is a URI, which could be dereferenced to get more
information. It's arguable that this would suggest adding another
field to the result data to say whether it's a string or URI. I'm open
to persuasion, but I reckon a regex match would be adequate.

Cheers,
Danny.

[1] http://dev.w3.org/2008/video/mediaann/mediaont-api-1.0/mediaont-api-1.0.html#example-in-javascript-3

-- 
http://danny.ayers.name
Received on Friday, 8 April 2011 12:58:37 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:39:24 UTC