Friday, April 25, 2008

AB Meta: Whats is this thing? but what is that?

AdaptiveBlue announced AB Meta specification in an effort for web pages to expose data about "things" in a standardized way. In this post I will briefly outline in simple terms what this means and propose some conceptual extensions that could provide possibilities for more use-cases.

The purpose of AB Meta specification is to enable web pages (that talk about "thing") to expose their attributes in a standardized way so that programs can understand. For example consider this page from amazon.com: Click Here. It is the landing page for the book titled "Programming Collective Intelligence". Taking a closer look at the source of the page today the following META tags can be found:

<meta name="description" content="Amazon.com: Programming Collective Intelligence:
Building Smart Web 2.0 Applications: Toby Segaran : Books"
/>
<meta name="keywords" content="Toby Segaran ,Programming Collective Intelligence:
Building Smart Web 2.0 Applications,O'Reilly Media, Inc.,
0596529325,Computer Programming,Machine Learning,Computers,Computers -
General Information,Computers - Languages / Programming,Computer Books:
Languages,Artificial Intelligence - General,Programming - General,Computers / Artificial Intelligence,
Computers / Languages / Programming,Computers / Programming / General,Computers/Artificial Intelligence -
General,Data processing,Economic aspects,Information technology,Knowledge management,
Social aspects,Programming - Algorithms,Programming Languages - Python,Internet programming,Web site development"
/>
As you can see the META tag provides metadata about the book in a unstructured way, so for instance bn.com might provide in a different format (or not at all). This is the problem that AB Meta is solves.

AB Meta proposes to leverage META tag and use a standardized format to describe a "thing". A "thing" could be a book, music, cycle, car, movie, etc. This post from their blog provides a good introduction with examples. In a AB Meta enabled amazon.com the meta tags could look like this:

meta name="'object.type'" content="'book'"
meta name="'book.name'" content="Programming Collective Intelligence"
meta name="'book.author'" content="Toby Segaran"
meta name="'book.isbn'" content="0596529325"

etc..

Extensions

Here are few extensions (new attributes) which I believe would worth considering:

OBJECT_TYPE.unique_attr:

The purpose of this attribute is to specify which of the listed attributes universally identify this object uniquely. For books it could be book.isbn and so

book.unique_attr='book.isbn'

Given the growing trend for open data I believe this extension will open up lot of new possibilities.

OBJECT_TYPE.context_attr:

Pages could use this attribute to optionally specify under which context they are talking about the object. For example a user search based on author_name could return a list of books in this case the context is author.

book.context_attr='book.author'

OBJECT_TYPE.ATTRIBUTE_uri:

This is an optional tag that pages can use to publish an URI that talks more about the value of a given attribute. For example for the author of a book it could refer to his wiki page, home page, etc. :

book.author_uri='http://kiwitobes.com/'

Though this might not be very frequently used it is useful tool to present contextual data.

So this answers, what is that?

Conclusion

There is no doubt that the initiative will definitely provide a standardized way for the publishers to expose meaningful contextual data. However the ultimate success of the initiative lies in the adoption by the community. Here the community primarily being online product vendors and services.
I certainly as always welcome any thoughts/comments on the attributes on their implementation.

Disqus for techtalk