Description
A popular feature of activity stream aggregators (popular among tool makers as well!) is to provide credit to the tool, application, web service, or source that was used to generate an activity.
Atom already features two attributes that would, at a glance, seem suited for this purpose — namely, "generator" and "source". However, according to the Atom spec, these attributes are intended to indicate the "agent used to generate a feed, for debugging and other purposes" and to provide a bucket in which to copy the elements from an original, source feed into an aggregated feed (relatively speaking). Therefore, Atom itself provides no mechanism to create the service or app that was used to generate the activity.
For the purpose described above and shown in the example below, we propose the use of the atom:generator element, on a per-entry basis:
<feed>
<generator>Cliqset</generator>
<entry>
<generator uri="http://tweetie.com" version="1.2">Tweetie</generator>
<atom:source>
<title>Mart's Twitter feed</title>
<link rel="alternate" type="text/html" href="/http://twitter.com/mart" />
<generator uri="http://twitter.com">Twitter</generator>
<atom:source>
</entry>
</feed>
Discussion
There are three particular roles that need to be considered in crediting sources:
- Original service providers with incoming APIs (i.e. Twitter.com, FriendFeed, etc)
- Aggregators of externally generated activities (like FriendFeed, Facebook, or Google Buzz)
- Syndicators or hubs (like ping.fm or Superfeedr)
[need to discuss the use of the "service provider" for each case]
See also the discussion on the mailing list.
Examples
Related work
Martin Atkins has proposed the crossposting extension in order to deal with the syndication of entries between social networks
and the service provider Atom extension to capture metadata about service providers.
Status
This document is a rough draft and should not be considered final.
The content of this document is subject to change.
Comments (2)
Monica Wilkinson said
at 10:49 pm on Mar 1, 2010
I still think atom:source makes sense for this http://tools.ietf.org/html/rfc4287#section-4.2.11 we should extend it atomSource =
element atom:source {
atomCommonAttributes,
(atomAuthor*
& atomCategory*
& atomContributor*
& atomGenerator?
& atomIcon?
& atomId?
& atomLink*
& atomLogo?
& atomRights?
& atomSubtitle?
& atomTitle?
& atomUpdated?
& extensionElement*)
}
Rob Dolin said
at 9:54 am on Mar 4, 2010
Since many services (Facebook, MySpace, Twitter, Windows Live) have a unique Application/Service ID for each of their partners, we should consider including an <atom:id> element within the <atom:source> or <activity:service> element.
You don't have permission to comment on this page.