(sorry for jumping into this late; GMail has for some reason taken to
dropping my incoming mailing list messages on the floor, so I didn't
see this thread until now. Reply below...)
On Dec 6, 12:32 pm, "Chris Messina" <
chris.mess...@gmail.com> wrote:
> Was thinking about our namespace solution and I'm concerned that it
> might lead to some problems with getting adoption. I think we can
> pursue it still, but I wanted to propose the use of machine tags in
> the category attribute to ensure that activity stream elements are not
> stripped from one site to the next.
>
> Simply, we could add tags like these:
>
> Activity:verb=gave
> Activity:label=gifted
> Activity:actor=Chris
> Activity:context=SMS or Activity:via=SMS
> Activity:indirect-object=Steve
>
There's definitely merit to the idea of using atom:category. It would
make it much more likely that activity streams would make it through
aggregators and such intact.
However, I'm not keen on the idea of whacking key-value pairs inside
the category elements. I assume you're imagining something like this:
<category term="Activity:verb=gave" />
As an implementer I'd much rather use the structures provided by XML
so that I don't have to additionally parse/produce an ad-hoc sub-
language within that attribute. I'll concede that it's not a major
burden to with this particular structure, but XML libraries already
have functions for creating and parsing the constructs provided by XML
itself which are understood by developers and also supported in most
existing Atom libraries.
We also previously seemed to agree that it was good to re-use existing
Atom extensions for describing items such as photos so that processing
code could be re-used; that doesn't seem to be compatible with putting
the object metadata in atom:category term attribute, since no existing
Atom extension does this.
My suspicion is that we'll end up somewhere in between these
approaches, possibly using atom:category for the verb/object-type
annotations but extension elements for the more meaty stuff. However,
we should definitely try these various approaches in the wild with
different producer/consumer/aggregator implementations and see what
works and what doesn't.