Hey StatusNet devs,

In the few months I've spent so far building a semantic, e-commerce
product comparison and review service built on top of StatusNet, I've
felt a real need to be able to add custom metadata to notices.

Semantic metadata help machines and other services better figure out,
when reading notices, if a user is satisfied with a product (think
hReview), if a merchant is selling it right now and at what price
(hListing), etc. Lots of other use cases come to mind. For example,
StatusNet Music (great GSoC project, by the way!) adds listening
metadata to notices (but does so from a custom action).

In short, the notice text is the human readable version of data that
are being passed between services on a decentralized Web.

Well, those of you who have heard about Twitter Annotations know this
is exactly what they are about:
http://dev.twitter.com/pages/annotations_overview

Annotations are not in production at Twitter yet, so this is our
chance to prove once again that the StatusNet community is more agile
;)

I've started an Annotations plugin that I hope can be useful to some of you:

Right now you can submit a notice with Annotations either from the API
or from the web interface's notice form (example included). The only
catch compared to Twitter's specs here is that you can only submit
them in JSON format, not Twitter's custom format (but that wouldn't be
too hard to add).

Annotations are stored directly in JSON and they are shown alongside
the rest of the notice from any API call that shows one.

However, to be really useful, they also need to be transformed in some
way that makes searching or aggregating on a specific annotation type,
attribute or value, easy. So, for selected annotations types and
attributes (that you can specify), we probably want to store them in
their own database table.

Anyways: code is here :
http://gitorious.org/statusnet/mainline/merge_requests/148

More implementations details can be found and discussed at
http://status.net/wiki/Plugin:Annotations
Feel free to poke around and let me know what you think.

Cheers,

Julien
_______________________________________________
StatusNet-dev mailing list
[email protected]
http://lists.status.net/mailman/listinfo/statusnet-dev

Reply via email to