Is there a list of stuff to do in order to be able to go more public
with a draft spec and then allow a bunch of us to go do trial
implementations and see how everything pans out?
Off the top of my head:
* Finalise list of initial verbs. Note, not a definitive list, just a
first cut.
* Ditto nouns.
* Confirm format of vendor preferred terms (i.e "tweet", "tweeted" and
"dugg") for nouns and verbs.
* Format of activity:object - I favour having a full entry or person or
link as a sub-element, Martin doesn't (and I totally see his points
as well). I can't remember if this got resolved or not.
* Whether to allow multiple events in one entry (I think the only plus
side to this is that "Friend Feed do it")
* Reference stream (+ a nice html version of it showing various bits of
collapsing)
As far as "registering" new verbs goes, my preference would be for that
to take place by writing specifications, not by some kind of web-based
land-grab.
Saying "I use the verb 'doodled'" is not useful unless there is a
detailed description of what it means and how it's used.
Writing a spec gives the community the opportunity to give feedback.
By all means vendors can feel free to experiment in their own
namespaces, especially with new object types for which the spec defines
a sensible fallback behavior for handling unknown ones. (Verbs are a
little more tricky, of course.)
As far as "registering" new verbs goes, my preference would be for that
Chris Messina wrote:
> There's still momentum -- I think we're just waiting for the next rev of the
> spec -- especially now that MySpace has gone live (nice work Monica! --
> would love take a look).
> Part of this will involve getting activitystrea.ms up and running and
> letting people register new verbs... I think we need to think about the best
> way to allow emergent verb types to take hold, but to somehow restrict the
> core list of verbs to only those where there are -- say -- three or more
> implementations.
to take place by writing specifications, not by some kind of web-based
land-grab.
Saying "I use the verb 'doodled'" is not useful unless there is a
detailed description of what it means and how it's used.
Writing a spec gives the community the opportunity to give feedback.
By all means vendors can feel free to experiment in their own
namespaces, especially with new object types for which the spec defines
a sensible fallback behavior for handling unknown ones. (Verbs are a
little more tricky, of course.)
I agree that a web-based land grab is not what we want - I'm hoping
for a process that involved community discussion, perhaps done over
the mailing list, perhaps with a simple voting app, whatever - that
would enable people to get a needed schema type up without a lengthy
spec writing process while still providing feedback and community
involvement. Having a web front to this process, even if it's just a
page with "Email this list to get the discussion started," (maybe a
form with the fields Chris put in his mockup below and example values)
would be very nice.
>>> Saying "I use the verb 'doodled'" is not useful unless there is a
>>> detailed description of what it means and how it's used.
>>>
>>> Writing a spec gives the community the opportunity to give feedback.
>>>
>>> By all means vendors can feel free to experiment in their own
>>> namespaces, especially with new object types for which the spec defines
>>> a sensible fallback behavior for handling unknown ones. (Verbs are a
>>> little more tricky, of course.)
>>
>> While I agree with you -- we need to strike a balance between making this easy for publishers that are likely to go hog-wild with verbs unless we can provide them a benefit for reusing existing verb types (namely, compatibility and support in aggregators). We also need to be sensitive to developers and product teams that are going to ship verbs in their products and not really take an interest in this whole "spec'ing overhead" process...
>>
>> I think there should be a good lifecycle of experimentation, extending one's own namespace, and then, after, again, seeing behavior in the wild over time, develop, as you've suggested a way to specify how different verbs can and should be used (based on observed behavior) and how aggregators should treat such verbs when they show up.
>>
>> I've mocked up a page that could be used for describing a basic verb:
>> http://www.flickr.com/photos/factoryjoe/3244608669/
>>
>> If we did this, or required this, for each verb in the core schema, I think we'd be in good shape.
I like the mockup that Chris put up. I would much rather have the
process be looser and something we're involved in, something we can
influence and guide along, than have it be "Oh, this doesn't really
fit what we want, so we'll just make our own stuff." Not saying that
it's an either-or, just that it would be good to have a lower barrier
to entry.
<...>
> * Whether to allow multiple events in one entry (I think the only plus
> side to this is that "Friend Feed do it")
I'm personally -1 on this.
> * Reference stream (+ a nice html version of it showing various bits of
> collapsing)
I'm working on something along these lines, I'll make more of an
announcement when it's further along, but if you want to help out let
me know.
As far as I can tell, the "lengthy spec-writing process" is lengthy
because of several desirable things:
* Feedback and discussion, leading to multiple drafts.
* The need to define things in detail for maximum interoperability.
* Time spent researching and evaluating possible solutions.
Of course, future specs can use past specs as a template or example of
how to write a good spec. The AtomActivity spec today is based on the
structure of the Atom Threading Extensions spec, for example.
You are, of course, absolutely right. These are all things that
definitely require feedback from the community and discussion and most
likely multiple drafts.
I'm still a proponent of having something that makes the process clear
as to how one goes about getting something in our namespace, something
that might even guide them partway though. However, as for the actual
process... yeah, I'm with you there.