JSON ActivityStreams extensions to OpenSocial

150 views
Skip to first unread message

Tosh Meston (MySpace)

unread,
Nov 3, 2009, 9:06:27 PM11/3/09
to Activity Streams, mke...@myspace-inc.com
Hi all,
We have made a few tweaks to our proposed JSON representation of the
Activity Streams extensions for our OpenSocial 0.9 Activities
endpoint. We'd love to hear what you think. Feedback is welcome!

- Instead of "detail" we use the existing activity "body" property.
- Instead of "time" we use the existing activity "postedTime"
property.
- Changed "actors" to "actor", but this is still an array.


"activity": {
"actor": [
{
"id": "tag:myspace.com,2009:/Person/81472123",
"links": [
"http://www.myspace.com/bmblack34"
],
"objectTypes": [
"http://activitystrea.ms/schema/1.0/
person"
],
"title": "Brandon Black"
}
],
"body": "<div class=\"activityBody\"><h5 class=
\"activityHeader\"><a href=\"http://www.myspace.com/
bmblack34\">Brandon Black</a> added a new photo to the Misc album.</
h5><div class=\"activityMedia ActivityTemplateMediaGallery\" ><ul
class=\"activityDetailList\"><li class=\"activityDetailItem\"><a href=
\"\" class=\"thumbnailLink Photo\"><img border=\"0\" src=\"http://
c4.ac-images.myspacecdn.com/images02/34/
s_45b7258d0b1644048168386bbe8b97a3.jpg\" alt=\"\" class=
\"thumbnailImage\"/></a></li></ul></div></div>",
"id": "myspace.com.activity.tag:myspace.com,2009:/
activity/81472123/PhotoAdd/1698198/53608088",
"objects": [
{
"id": "tag:myspace.com,2009:/Photo/
1698198/53608088",
"links": [
"http://c4.ac-images.myspacecdn.com/
images02/34/s_45b7258d0b1644048168386bbe8b97a3.jpg"
],
"objectTypes": [
"http://activitystrea.ms/schema/1.0/photo"
],
"source": {
"id": "tag:myspace.com,2009:/Photo_Album/
1698198",
"title": "Misc"
},
"title": ""
}
],
"postedTime": "2009-10-31T02:12:36",
"target": {
"id": "tag:myspace.com,2009:/Photo_Album/1698198",
"objectTypes": [
"http://activitystrea.ms/schema/1.0/photo-
album"
],
"title": "Misc"
},
"title": "Brandon Black added a new photo to the Misc
album.",
"verbs": [
"http://activitystrea.ms/schema/1.0/post"
]
}
}



XSD (extends the OS 0.9 Activity schema --
http://www.opensocial.org/Technical-Resources/opensocial-spec-v09/REST-API.html#XML_format_XSD)

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://ns.opensocial.org/2008/opensocial"
elementFormDefault="qualified" targetNamespace="http://
ns.opensocial.org/2008/opensocial" xmlns:xs="http://www.w3.org/2001/
XMLSchema">
<xs:complexType name="Activity">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded"
name="actor" type="tns:ActivityObject" />
<xs:element minOccurs="0" name="context"
type="tns:ActivityContext" />
<xs:element minOccurs="0" maxOccurs="unbounded"
name="links" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded"
name="objects" type="tns:ActivityObject" />
<xs:element minOccurs="0" name="source"
type="tns:ActivityObject" />
<xs:element minOccurs="0" name="target"
type="tns:ActivityObject" />
<xs:element minOccurs="0" maxOccurs="unbounded"
name="verbs" type="xs:string" />
</xs:choice>
</xs:complexType>
<xs:complexType name="ActivityObject">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded"
name="owner" type="tns:ActivityObject" />
<xs:element minOccurs="0" name="detail" type="xs:string" /
>
<xs:element minOccurs="0" maxOccurs="unbounded"
name="links" type="xs:string" />
<xs:element minOccurs="0" name="source"
type="tns:ActivityObject" />
<xs:element minOccurs="0" name="time" type="xs:string" />
<xs:element minOccurs="0" name="id" type="xs:string" />
<xs:element minOccurs="0" name="title" type="xs:string" /
>
<xs:element minOccurs="0" maxOccurs="unbounded"
name="objectTypes" type="xs:string" />
</xs:choice>
</xs:complexType>
<xs:complexType name="ActivityContext">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded"
name="location" type="tns:Address" />
</xs:choice>
</xs:complexType>
</xs:schema>

Monica Keller

unread,
Nov 3, 2009, 9:16:07 PM11/3/09
to Activity Streams
Thanks Tosh this is awesome. Arne, Martin, Chris can you please look
at this JSON tomorrow during the session
Sorry I have to miss it but I did put our name in room E so we can
project :)

On Nov 3, 6:06 pm, "Tosh Meston (MySpace)" <tosh.mes...@gmail.com>
wrote:
> XSD (extends the OS 0.9 Activity schema --http://www.opensocial.org/Technical-Resources/opensocial-spec-v09/RES...)

Chris Chabot

unread,
Nov 4, 2009, 4:15:07 AM11/4/09
to activity...@googlegroups.com
The format looks very close to perfect, I especially like how the format extends the OpenSocial Activitiy schema, this should make the transition from OS Act -> OS+AS a whole lot easier for both the social sites and developers alike (giving the same type of transition path as Atom -> AS does).

In another thread you mentioned that we should investigate whether the AS actor should use the vcard or poco format, and from the above perspective I would strongly prefer the PoCo one, the people interface of OS and PoCo are aligned / wire compatible, so having that format in AS would make things easier going forward, so hopefully if/when that's settled we can use that in the json output too.

I think there's a huge potential in getting classic social sites to adopt AS, so anything that makes that goal a little bit easier to reach is a-ok in my book :)

   -- Chris

--

You received this message because you are subscribed to the Google Groups "Activity Streams" group.
To post to this group, send email to activity...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/activity-streams?hl=en.



Martin Atkins

unread,
Nov 4, 2009, 8:41:27 PM11/4/09
to activity...@googlegroups.com
Tosh Meston (MySpace) wrote:
> Hi all,
> We have made a few tweaks to our proposed JSON representation of the
> Activity Streams extensions for our OpenSocial 0.9 Activities
> endpoint. We'd love to hear what you think. Feedback is welcome!
>
> - Instead of "detail" we use the existing activity "body" property.
> - Instead of "time" we use the existing activity "postedTime"
> property.
> - Changed "actors" to "actor", but this is still an array.
>

FYI, I actually already started to document JSON activty serialization
in a new -- still incredibly drafty -- specification:
http://martin.atkins.me.uk/specs/activitystreams/jsonactivity

As I note in the introduction, a design goal was to be a superset of the
OpenSocial JSON activity construct, just as our Atom serialization is a
superset of an Atom entry. The most important advantage of this parity
is that the same fallback behavior defined for unrecognised verbs and
object types in the Atom serialization can be adapted here.

As a consequence of trying to match OpenSocial, I've ended up very
similar to your proposal. I think the major difference in my draft is
that actor is a single object just as object and target are.

The activity streams data model does not currently support multiple
actors per activity, so I'm not sure why this serialization would. Can
you expand on your rationale for this? it seems like if we fix this here
we ought to also fix this for the Atom serialization.

Rob Dolin

unread,
Nov 4, 2009, 10:27:31 PM11/4/09
to activity...@googlegroups.com
Replying to Martin's question about why should there be multiple <activity:actor>'s, I believe that MySpace, Facebook, and Windows Live all (at least in UX) have the option to collapse multiple activities into a single activity. For example:

Martin commented on Rob's blog entry
Tosh commented on Rob's blog entry

becomes:

Martin and Tosh commented on Rob's blog entry

FWIW--
--Rob

Martin Atkins

unread,
Nov 5, 2009, 1:27:07 AM11/5/09
to activity...@googlegroups.com
Rob Dolin wrote:
> Replying to Martin's question about why should there be multiple <activity:actor>'s, I believe that MySpace, Facebook, and Windows Live all (at least in UX) have the option to collapse multiple activities into a single activity. For example:
>
> Martin commented on Rob's blog entry
> Tosh commented on Rob's blog entry
>
> becomes:
>
> Martin and Tosh commented on Rob's blog entry
>

As currently written, the activity streams spec defines that an activity
has exactly one actor, exactly one object, zero or one targets and one
or more verbs. An application that renders a bunch of activities in the
UI for a user to read has the option to coalesce them in any way it
wishes, but in the underlying data model these activities are treated as
distinct.

The Atom serialization provides a shorthand where you can deliver
multiple activities in a single atom:entry as long as they differ only
in object. This shorthand is provided for the benefit of Atom-only
processors that do not understand activity streams.

Given that the JSON serialization does not need to support non-activity
processors I don't think we need to preserve the shorthand here.
Instead, I feel that we should represent the underlying data model as
directly as possible.

We do of course need to consider interactions with legacy OpenSocial
clients that do not understand the activity streams extensions in much
the same way as we consider Atom-only processors in the Atom serialization.

Monica Keller

unread,
Nov 5, 2009, 2:33:58 AM11/5/09
to Activity Streams
We changed it to only have one actor like we discussed. However we
support fetching composite=true

So instead of saying Monica uploaded photo X to album Y
And then Monica uploaded photo Z to album Y

We say Monica uploaded 2 photos to Album Y: X and Z

For that we need an array of objects so I think it makes sense

Even when publishing

Bill de hOra

unread,
Nov 5, 2009, 6:46:30 AM11/5/09
to activity...@googlegroups.com
> For that we need an array of objects

+1. So this is something to watch for with all the JSON fields, if the
cardinality needs to changed later that's probably a version change as
well. XML allows a bit more flexibility.

Bill

Martin Atkins

unread,
Nov 5, 2009, 2:35:38 PM11/5/09
to activity...@googlegroups.com
Monica Keller wrote:
> We changed it to only have one actor like we discussed. However we
> support fetching composite=true
>
> So instead of saying Monica uploaded photo X to album Y
> And then Monica uploaded photo Z to album Y
>
> We say Monica uploaded 2 photos to Album Y: X and Z
>
> For that we need an array of objects so I think it makes sense
>

Is composite=true an OpenSocial feature? What's the use-case for it?

Tosh Meston (MySpace)

unread,
Nov 5, 2009, 9:12:34 PM11/5/09
to Activity Streams
Ah, I misunderstood actor. Let's match the atom and have this as a
single actor and not an array. Martin, composite=1 is a MySpace thing
as far as I know. It's not part of OpenSocial. MySpace's OS 0.9
activity endpoint rolls up activities for a single actor with 1 or
more objects just as Monica says: Monica uploaded 2 photos to Album Y:
X and Z

Is there anything else that seems odd in the sample?

Here is an updated JSON and XSD:

"activity": {
"actor": {
"id": "tag:myspace.com,2009:/Person/81472123",
"links": [
"http://www.myspace.com/bmblack34"
],
"objectTypes": [
"http://activitystrea.ms/schema/1.0/person"
],
"title": "Brandon Black"
},
"body": "<div class=\"activityBody\"><h5 class=\"activityHeader
\"><a href=\"http://www.myspace.com/bmblack34\">Brandon Black</a>
added a new photo to the Misc album.</h5><div class=\"activityMedia
ActivityTemplateMediaGallery\" ><ul class=\"activityDetailList\"><li
class=\"activityDetailItem\"><a href=\"\" class=\"thumbnailLink Photo
\"><img border=\"0\" src=\"http://c4.ac-images.myspacecdn.com/
images02/34/s_45b7258d0b1644048168386bbe8b97a3.jpg\" alt=\"\" class=
\"thumbnailImage\"/></a></li></ul></div></div>",
"id": "myspace.com.activity.tag:myspace.com,2009:/activity/
81472123/PhotoAdd/1698198/53608088",
"objects": [
{
"id": "tag:myspace.com,2009:/Photo/1698198/53608088",
"links": [
"http://c4.ac-images.myspacecdn.com/images02/34/
s_45b7258d0b1644048168386bbe8b97a3.jpg"
],
"objectTypes": [
"http://activitystrea.ms/schema/1.0/photo"
],
"source": {
"id": "tag:myspace.com,2009:/Photo_Album/1698198",
"title": "Misc"
},
"title": ""
}
],
"postedTime": "2009-10-31T02:12:36",
"target": {
"id": "tag:myspace.com,2009:/Photo_Album/1698198",
"objectTypes": [
"http://activitystrea.ms/schema/1.0/photo-album"
],
"title": "Misc"
},
"title": "Brandon Black added a new photo to the Misc album.",
"verbs": [
"http://activitystrea.ms/schema/1.0/post"
]
}


XSD (extends the OS 0.9 Activity schema --
http://www.opensocial.org/Technical-Resources/opensocial-spec-v09/REST-API.html#XML_format_XSD)
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://ns.opensocial.org/2008/opensocial"
elementFormDefault="qualified" targetNamespace="http://
ns.opensocial.org/2008/opensocial" xmlns:xs="http://www.w3.org/2001/
XMLSchema">
<xs:complexType name="Activity">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" name="actor"
Thanks!
Tosh

Martin Atkins

unread,
Nov 6, 2009, 3:01:39 AM11/6/09
to activity...@googlegroups.com
Tosh Meston (MySpace) wrote:
> Ah, I misunderstood actor. Let's match the atom and have this as a
> single actor and not an array. Martin, composite=1 is a MySpace thing
> as far as I know. It's not part of OpenSocial. MySpace's OS 0.9
> activity endpoint rolls up activities for a single actor with 1 or
> more objects just as Monica says: Monica uploaded 2 photos to Album Y:
> X and Z
>

Okay. I feel like it's okay for this to remain a proprietary extension
for now, since a generic activity streams processor isn't going to know
that it can add composite=1 so it'll never see the response that
provides; therefore you (MySpace) might define that when composite=1 is
used actor, object and target can potentially become arrays, as long as
the base case with no wacky extra parameters is all single objects.

> Is there anything else that seems odd in the sample?
>

I had not yet got so far along as to start to define what the individual
object types might look like, but it feels like where we should work
from is to take the properties that are enumerated for each object type
in the schema spec and try to use them directly as JSON object properties.

One wrinkle is that an Atom link construct is more than just a URL; I
notice in your example you transformed it to an array of strings
containing URLs, but Activity Streams makes use of the type attribute
and the AtomActivity media:width and media:height extension attributes
on links to communicate information, so I wonder if actually we should
define a JSON equivalent to Atom's link construct which might look like
this:

{
href: "...",
type: "image/jpeg",
width: 150,
height: 150
}

We don't really need "rel" since our property name will imply that.
We'll need to be sure to get the cardinality of each different link
property right too, so that for example we have a "thumbnails" property
on a photo that's an array of link objects, but a singular "target" link
object on bookmark.

However, one link-ish case I *would* like to represent as a
straightforward string in the JSON serialization is the permalink for an
object; the schema spec effectively defines "permalink" as being the
link whose type is text/html and whose rel is "alternate", and
permalinks don't have width or height, so this can be represented as a
straightforward "permalink" string property containing just a URL.

Ultimately I expect that we'll rework the schema spec a little so that
where currently the properties are described with natural language names
we'll instead use camel-case property names so that the spec for the
JSON serialization can just use these property names mechanically and we
won't need to define a second specialized mapping for each property
alongside the existing, non-mechanical Atom mapping.


Tosh Meston (MySpace)

unread,
Nov 18, 2009, 7:55:00 PM11/18/09
to Activity Streams, ma...@degeneration.co.uk, mke...@myspace-inc.com
Hey everyone,
Just wanted to let you know the JSON Activity Streams extensions to
our OpenSocial 0.9 REST activities endpoint is now live. Thanks for
the feedback.

http://wiki.developer.myspace.com/index.php?title=OpenSocial_v0.9_Activities#Activity_Streams_Extensions

Cheers,
Tosh



On Nov 6, 12:01 am, Martin Atkins <m...@degeneration.co.uk> wrote:

Chris Messina

unread,
Nov 18, 2009, 8:03:56 PM11/18/09
to activity...@googlegroups.com, ma...@degeneration.co.uk, mke...@myspace-inc.com
Sweet! ;)

--

You received this message because you are subscribed to the Google Groups "Activity Streams" group.
To post to this group, send email to activity...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/activity-streams?hl=.





--
Chris Messina
Open Web Advocate

Personal: http://factoryjoe.com
Follow me on Twitter: http://twitter.com/chrismessina

Citizen Agency: http://citizenagency.com
Diso Project: http://diso-project.org
OpenID Foundation: http://openid.net

This email is:   [ ] shareable    [X] ask first   [ ] private

Ty

unread,
Nov 19, 2009, 3:30:33 PM11/19/09
to Activity Streams
I am newly joining this thread at Chris Messina's request, so
apologies up front if I somehow violate protocol. I have read all of
the background that I can find.

I wanted to document an additional use-case that involves two actors:
two sports teams. My site (fanfeedr) offers up real-time streams of
sports news and information, and we have activity streams that look
like this:

"37-28 | Patriots 37, Wildcats 28 at the end of the first half. 13
minutes ago."

The score is the title, I believe, and then the Patriots and the
Wildcats are two actors. The timestamp "13 minutes ago" is our UX
artifact.

This is the result when a game is over (the previous example was in
the middle of the game.)

"109-95 | Celtics beat Warriors. 17 hours ago. Comment"

Presumably this can't be handled if there is a sole actor, so I wanted
to surface it now.

Please let me know if there is additional information needed to make
this actionable.

Kind regards, Ty

On Nov 4, 10:27 pm, Rob Dolin <robdo...@microsoft.com> wrote:
> Replying to Martin's question about why should there bemultiple<activity:actor>'s, I believe that MySpace, Facebook, and Windows Live all (at least in UX) have the option to collapsemultipleactivities into a single activity.  For example:
> The activity streams data model does not currently supportmultipleactorsper activity, so I'm not sure why this serialization would. Can

Martin Atkins

unread,
Nov 23, 2009, 1:15:56 AM11/23/09
to activity...@googlegroups.com
Ty wrote:
> I am newly joining this thread at Chris Messina's request, so
> apologies up front if I somehow violate protocol. I have read all of
> the background that I can find.
>
> I wanted to document an additional use-case that involves two actors:
> two sports teams. My site (fanfeedr) offers up real-time streams of
> sports news and information, and we have activity streams that look
> like this:
>
> "37-28 | Patriots 37, Wildcats 28 at the end of the first half. 13
> minutes ago."
>
> The score is the title, I believe, and then the Patriots and the
> Wildcats are two actors. The timestamp "13 minutes ago" is our UX
> artifact.
>
> This is the result when a game is over (the previous example was in
> the middle of the game.)
>
> "109-95 | Celtics beat Warriors. 17 hours ago. Comment"
>
> Presumably this can't be handled if there is a sole actor, so I wanted
> to surface it now.
>
> Please let me know if there is additional information needed to make
> this actionable.
>

This is an interesting example. Thanks for sharing it. Allow me to
brainstorm about it a bit...

What would you consider the verb to be in the above examples? and the
object?

It seems like the score is the closest thing to an "object" here. So I
guess given that assumption you could say that the verb is "to score"
and, as you say, the two teams are together the actor.

In situations like this where we find outselves modelling real-world
activities our solution thus far has been to instead model the online
activity that describes the real-world activity. For example, rather
than modelling "Martin went to an event" we model "Martin RSVPed Yes to
an event" (which consumers are free to present as "Martin is going to an
event" if they wish.)

So here's my attempt to apply this principle here:

What's happening is that a game update is being posted.
The update is being posted either by a person who is posting it or a
placeholder object that represents Fanfeedr itself.
The update is the object.

So if we were to render that as a sentence (on another site) we might
get something like:

"Fanfeedr reports that the score was Patriots 37, Wildcats 28 as of the
end of the first half."

Here I've also applied a second design principle I try to keep to so
that our fallback behavior works as well as possible: I invented an
object type to avoid inventing a verb.

If we assume that the serialization of your "game update" object type
includes the score in the title and an atom:source element whose title
is "Patriots vs. Wildcats score updates" then the fallback behavior for
a client that doesn't support this special object type would be:

Fanfeedr posted "Patriots 37, Wildcats 28 at the end of the first
half" on Patriots vs. Wildcats score updates

Which is, as is often the case with these fallbacks, not ideal but still
understandable.

So what might this look like as a feed? Here's a strawman, with parts
omitted for brevity:

<feed xmlns="..." xmlns:activity="..." xmlns:fanfeedr="...">
<title>Patriots vs. Wildcats score updates</title>

<author>
<name>Fanfeedr</name>
</author>

....

<entry>
<id>...</id>
<activity:object-type>
tag:fanfeedr.com,2009:some-identifier
</activity:object-type>
<title>
Patriots 37, Wildcats 28 at the end of the first half
</title>
<fanfeedr:score team="Patriots" score="37" />
<fanfeedr:score team="Wildcats" score="28" />
<!--
+ some machine-readable representation of
"at the end of the first half"
-->

....

</entry>
</feed>

So I just completely made up an XML namespace for expressing sports
scores. I'm not suggesting that this would actually be what it would
look like, but rather hoping to illustrate that you'd probably want to
break out the actual data into its own fields so that consumers that
know about this object type can do something more clever with it, while
generic clients can just render the title.

I used the "implied activity" shorthand to imply the "post" verb here,
since the above is enough to describe what's going on in a way that
works for generic Atom consumers, generic Activity Streams consumers
with no support for sports updates, and for Activity Streams consumers
with special support for sports updates.

I've also put this in a fanfeedr.com-specific namespace to avoid
confusion, but in theory this object type could be codified in a spec
and used by other sport notification sites if such things exist. (You'll
have to excuse this complete non-sports-follower's ignorance of what's
out there in this space. :) )

Monica Keller

unread,
Nov 23, 2009, 1:45:45 AM11/23/09
to Activity Streams
This is a good example and similar to some of the gaming extensions
Rob wants to add

One interesting extensions I have found for stats or scores in my
research for user stats is
http://tools.ietf.org/html/draft-snell-atompub-feed-index-10

I would actually model the main object as a "snapshot"
A property of the snapshot should be as Martin mentions how far into
the event you are
The target would be the game instance deriving from object type
"event"

The event has 2 attendees we many need to give them roles of winner/
loser

For the participants/attendees i would use the full blown "actor"
notation
the actor object type would be "sports team" and would have name,
link, thumbnail

What do you think ?
> out there in this space. :) )- Hide quoted text -
>
> - Show quoted text -

Rob Dolin

unread,
Nov 23, 2009, 2:58:26 AM11/23/09
to activity...@googlegroups.com
Joining the brainstorm...

I was actually noticing a Facebook profile (http://www.facebook.com/ChicagoBears) that was posting game updates this afternoon.


For gaming, when we met at Google about a month ago (http://wiki.activitystrea.ms/Meetup+notes+2009-10-16), we talked about four potential activity scenarios:
a) Play Move (ex: Pawn e2:e4)
b) Achieve Personal Record (aka high score)
c) Achieve Badge/Achievement/Level
d) Win/Beat other player (in game)

I wonder if the team sports analogy might be appropriate:
(Play move example)
- <activity:actor> = Chicago Bears
- <activity:verb> = Play
- <a:o><activity:object-type> = Score
- <a:o><title> = Field goal
- <a:target><a:o-t> = Group
- <a:target><title> = Green Bay Packers
Potential rendering: "Chicago Bears scored a field goal against the Green Bay Packers"

(Win/Beat example)
- <activity:actor> = Green Bay Packers
- <activity:verb> = Win
- <a:o><activity:object-type> = Group
- <a:o><title> = Chicago Bears
Potential rendering: "Green Bay Packers beat the Chicago Bears"


Some things to consider:
* How to indicate a point value for a score?
* How to indicate the current score of each of the teams?


FWIW--
--Rob


-----Original Message-----
From: Monica Keller [mailto:monica...@gmail.com]
Sent: Sunday, November 22, 2009 10:46 PM
To: Activity Streams
Subject: Re: JSON ActivityStreams extensions to OpenSocial

--

You received this message because you are subscribed to the Google Groups "Activity Streams" group.
To post to this group, send email to activity...@googlegroups.com.
To unsubscribe from this group, send email to activity-strea...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/activity-streams?hl=.



Tosh Meston (MySpace)

unread,
Nov 29, 2009, 9:12:51 PM11/29/09
to Activity Streams
I meant to reply earlier to this, but got caught up with the holiday
and other things. I knew of an effort several years ago to create a
markup language for sports statistics for the news industry called
SportsML. It seems like it has continued and the spec is here -
http://www.iptc.org/cms/site/index.html;jsessionid=a7WQ1gO2Ee-5?channel=CH0173.

SportsML aims to cover the following scenarios according the spec
site.

- Scores: Who's winning, and how did the score change?
- Schedules: Who's playing who, when, and where?
- Standings: Who's in first place? Who's closest to qualifying for the
championship?
- Statistics: How do the players and/or teams measure up against one
another in various categories?
- News: How do we combine editorial coverage of sports with all these
data feeds? How do we package metadata- and multimedia-filled articles
together with sports data?

Tosh
> research for user stats ishttp://tools.ietf.org/html/draft-snell-atompub-feed-index-10
Reply all
Reply to author
Forward
0 new messages